Как преобразовать кадры 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
просто анализирует данные, но не применяет определенные ограничения для своего предшественника.