У меня есть файл Webm с одним видеопотоком, который был кодирован с VP9 (Libvpx-Vp9). < /p>
Я написал программу C ++, чтобы извлечь кадры из видеопотока и сохранить их как PNG. Это работает нормально, за исключением того, что полученные PNG отсутствуют Alpha. Вот выход из FFMPEG: < /p>
У меня есть файл Webm с одним видеопотоком, который был кодирован с VP9 (Libvpx-Vp9). < /p> Я написал программу C ++, чтобы извлечь кадры из видеопотока и сохранить их как PNG. Это работает нормально, за исключением того, что полученные PNG отсутствуют Alpha. Вот выход из FFMPEG: < /p> [code]$ ffmpeg -c:v libvpx-vp9 -i temp/anim.webm temp/output-%3d.png
[libvpx-vp9 @ 0000024732b106c0] v1.10.0-rc1-11-gcb0d8ce31 Last message repeated 1 times Input #0, matroska,webm, from 'temp/anim.webm': Metadata: ENCODER : Lavf58.45.100 Duration: 00:00:04.04, start: 0.000000, bitrate: 112 kb/s Stream #0:0: Video: vp9 (Profile 0), yuva420p(tv), 640x480, SAR 1:1 DAR 4:3, 25 fps, 25 tbr, 1k tbn, 1k tbc (default) Metadata: alpha_mode : 1 ENCODER : Lavc58.91.100 libvpx-vp9 DURATION : 00:00:04.040000000 < /code> ffmpeg идентифицирует формат потока как yuva420p. < /p> Вот вывод моей программы, когда называется AV_DUMP_FORMAT: < /p> Input #0, matroska,webm, from 'temp/anim.webm': Metadata: ENCODER : Lavf58.45.100 Duration: 00:00:04.04, start: 0.000000, bitrate: 112 kb/s Stream #0:0: Video: vp9 (Profile 0), yuv420p(tv), 640x480, SAR 1:1 DAR 4:3, 25 fps, 25 tbr, 1k tbn, 1k tbc (default) Metadata: alpha_mode : 1 ENCODER : Lavc58.91.100 libvpx-vp9 DURATION : 00:00:04.040000000 < /code> Обратите внимание, что обнаруженный формат потока является yuv420p (альфа отсутствует). < /p> Кто-нибудь знает, как заставить формат потока использовать Alpha?auto result = avformat_open_input(&formatContext, fileName.c_str(), nullptr, nullptr); auto result = avformat_find_stream_info(formatContext, nullptr); streamIndex = av_find_best_stream(formatContext, mediaType, -1, -1, nullptr, 0); auto stream = formatContext->streams[streamIndex]; const auto codecIdentifier{ AV_CODEC_ID_VP9 }; auto decoder = avcodec_find_decoder(codecIdentifier); pCodecContext = avcodec_alloc_context3(decoder); auto result = avcodec_open2(pCodecContext, decoder, &options); // AV_PIX_FMT_YUV420P - missing alpha auto pixelFormat = pCodecContext->pix_fmt; < /code> Гиан указал, в чем проблема. Вот исправленный код: < /p> На случай, если кто-то еще столкнется с этим вопросом в будущем, вот код (обработка ошибок опущена): < /p> auto formatContext = avformat_alloc_context(); formatContext->video_codec_id = AV_CODEC_ID_VP9; const auto decoder = avcodec_find_decoder_by_name("libvpx-vp9"); formatContext->video_codec = decoder; avformat_open_input(&formatContext, fileName.c_str(), nullptr, nullptr); avformat_find_stream_info(formatContext.get(), nullptr); for (unsigned int streamIndex = 0; streamIndex < formatContext->nb_streams; ++streamIndex) { // Displayed the stream format as yuva420p (contains alpha) av_dump_format(formatContext, static_cast(streamIndex), fileName.toStdString().c_str(), 0); } [/code] Спасибо,
Что касается того, как получить прозрачный фон для веб-видео через альфа-канал,
один человек говорит, что вам следует кодировать с помощью VP8, а не VP9.
WebM Alpha отображается только в Chrome?
А вот еще один человек, который говорит, что все...
Что касается того, как получить прозрачный фон для веб-видео через альфа-канал,
один человек говорит, что вам следует кодировать с помощью VP8, а не VP9.
WebM Alpha отображается только в Chrome?
А вот еще один человек, который говорит, что все...
Что касается того, как получить прозрачный фон для веб-видео через альфа-канал,
один человек говорит, что вам следует кодировать с помощью VP8, а не VP9.
WebM Alpha отображается только в Chrome?
А вот еще один человек, который говорит, что все...
Что касается того, как получить прозрачный фон для веб-видео через альфа-канал,
один человек говорит, что вам следует кодировать с помощью VP8, а не VP9.
WebM Alpha отображается только в Chrome?
А вот еще один человек, который говорит, что все...
Я впервые разрабатываю приложение для CarPlay iOS.
Здесь я получаю список станций, которые будут воспроизводиться на радио CarPlay.
Ниже приведен ответ в формате JSON….
{
stations : [
{
id : ce2a2901-dae3-48a1-a16c-5904287694d7 ,
market : genre...