GStreamer принудительно выводит decodebin2 тип вывода

Я пытаюсь написать программу на C, которая копирует конвейер:

gst-launch -v filesrc location="bbb.mp4" ! decodebin2 ! ffmpegcolorspace ! autovideosink

DecodeBin2 имеет динамическую панель, и я прикрепил обратный вызов для ее создания. Однако я не могу связать его с ffmpegcolorspace, потому что возможность пэда всегда связана с видео/быстрым временем. Я бы хотел, чтобы это было видео/x-raw-yuv или что-то еще, совместимое с ffmpegcolorspace.

Возможно ли принудительно/выбрать тип вывода decodebin2?

Спасибо.

EDIT: Пожалуйста, не рекомендуйте playbin. Я пытаюсь научиться делать конвейеры.


person user975326    schedule 08.11.2011    source источник
comment
зачем вам ffmpegcolorspace? без этого конвейера работает...!!   -  person Jeegar Patel    schedule 13.12.2011
comment
что, вероятно, происходит, так это то, что decodebin2 фактически уже обрабатывает преобразование цветового пространства. Так что, наверное, не нужен.   -  person user975326    schedule 13.12.2011


Ответы (2)


Is this possible to force/select the output type of decodebin2?

Нет, вы не можете форсировать или выбрать тип исходного пэда.

decoderbin2 выбирает соответствующий элемент демультиплексора, и этот элемент демультиплексора анализирует этот медиафайл, и в зависимости от кодека элементарного потока в этом медиафайле он создает заглавные буквы/тип выходной/исходной площадки, так что этот тип декодера может связать с ним и работает конвейер .

все это происходит в коде gstremer-plugin

так что, если вы хотите такое, вам нужно написать плагин самостоятельно .. !!

person Jeegar Patel    schedule 13.12.2011
comment
Да, хороший ответ - это декодер, а не преобразователь типов. Спасибо. - person user975326; 13.12.2011

Вы можете попробовать плагин playbin вместо создания конвейера вручную.

Взгляните на https://code.google.com/p/gstmultimedialib/source/browse/trunk/gstmultimedialib/Multimedia/Multimedia/FilterGraph/PlaybinFilterGraph.h из моего проекта gstmultimedialib.

Удачи!!!

person AlexTheo    schedule 08.11.2011
comment
Привет, спасибо за ответ, но, к сожалению, я не могу использовать playbin! В конце концов мне понадобится доступ ко все большему количеству внутренних компонентов, и я использую описанный выше конвейер в качестве задачи, чтобы помочь узнать, как все сочетается друг с другом. - person user975326; 08.11.2011