GStreamer принудительный тип вывода decodebin2 - PullRequest
3 голосов
/ 08 ноября 2011

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

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

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

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

Спасибо.

РЕДАКТИРОВАТЬ: Пожалуйста, не рекомендуем playbin. Я пытаюсь научиться делать конвейеры.

Ответы [ 2 ]

2 голосов
/ 13 декабря 2011
Is this possible to force/select the output type of decodebin2?

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

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

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

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

0 голосов
/ 08 ноября 2011

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

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

Удачи !!!

...