Тип вывода GStreamer force decodebin2

#ffmpeg #pipeline #gstreamer

#ffmpeg #конвейер #gstreamer

Вопрос:

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

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

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

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

Спасибо.

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

Комментарии:

1. зачем вам нужен ffmpegcolorspace? без этого конвейер работает …!!

2. вероятно, происходит то, что decodebin2 фактически уже обрабатывает преобразование цветового пространства. Так что, вероятно, это не требуется.

Ответ №1:

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

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

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

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

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

Комментарии:

1. Да, хороший ответ — это декодер, а не преобразователь типов. Спасибо.