Как преобразовать кадры I420 в формат BGRA с помощью gst-launch-1.0?

У меня был сырой видео файл с именем video.i420, основанный на формате I420. И я попытался преобразовать его в формат BGRA, используя gst-launch-1.0:

gst-launch-1.0 filesrc location=video.i420 ! videoparse width=1920 height=816 format=2 framerate=24/1 ! videoconvert ! videoparse format=12 ! filesink location=video.bgra

Но выходной файл video.bgra имеет размер всего на 48 байт больше, чем исходный файл.

Затем я проиграл video.bgra с помощью следующей команды:

gst-launch-1.0 filesrc location=video.bgra ! videoparse width=1920 height=816 format=2 framerate=24/1 ! videoconvert ! autovideosink

и это так же, как воспроизведение исходного файла.

Что не так с конвейером, который я создал для преобразования формата? И почему это не конвертируется, как я ожидаю?

1 ответ

Как насчет этого:

gst-launch-1.0 filesrc location=video.i420 ! videoparse width=1920 height=816 format=i420 framerate=24/1 ! videoconvert ! video/x-raw, format=bgra ! filesink location=video.bgra

Я изменил магические числа на удобочитаемые форматы. Просто для удобства чтения он должен работать и с числами.

Помимо этого. Что нужно, это сказать videoconvert окончательный формат видео. я думаю videoparser просто анализирует данные, но не применяет определенные ограничения для своего предшественника.

Другие вопросы по тегам