Вероятно, комбинация нескольких вещей Вы уже упомянули. Его трудное для измерения снижения расходов TDD. Если Вы хотите произвести свой IT на стороне, можно показать, сколько Вы оплачиваете в год парней, которых Вы имеете штатный по сравнению со стоимостью заключения контракта его; его очень конкретное. Как сказать, "О, этот тест поймал ошибку, которая возьмет меня 4 часа, чтобы отладить и зафиксировать..."?
Как предлагает Ник Хаддед, playbin или decodebin - хорошее место для начала. Для экспериментов я предлагаю использовать gst-launch, например:
gst-launch filesrc location=video.avi !
decodebin2 name=dec ! queue ! ffmpegcolorspace ! autovideosink
dec. ! queue ! audioconvert ! audioresample ! autoaudiosink
Я использую autoaudiosink и autovideosink, потому что они обычно работают. Когда вы найдете работающий конвейер, попробуйте построить тот же конвейер с помощью кода. Если вам не нужен звук, просто пропустите эту часть конвейера. Для отображения видео лучше всего использовать xvimagesink (по крайней мере, в UNIX).
Я бы рекомендовал использовать playbin ( справочная страница , документация ) или двоичный код декодирования ( справочная страница , ] документация ). Это значительно упрощает процесс создания конвейеров gstreamer для различных типов видеофайлов. С каждым из них можно использовать приемник видео с помощью интерфейса GstXOverlay . Подробнее см. Встраивание видеоокна в приложение .