как вы строите конвейеры gst-launch gstreamer?

Допустим, у вас есть видеофайл.
Насколько я искал, вам сначала нужно узнать, какой контейнер он использует с помощью команды mediainfo.

$ mediainfo your_path_to_a_video.file

затем вам нужно найти демультиплексор для контейнера, поэтому вы делаете

$ gst-inspect-1.0 | grep your_container_name_such_as_ogg

Теперь, когда у вас есть подходящий демультиплексор, такой как oggdemux, вы можете разделить видео и аудио. Если вы хотите отобразить видео, вам сначала нужно узнать имя кодека, и вам нужно будет декодировать его для вывода на экран.
Вернувшись к выходу mediainfo, вы находите видео Format и делаете

$ gst-inspect-1.0 | grep format_name_such_as_theora

Вы найдете theoradec и проверите его детали по

$ gst-inspect-1.0 | decoder_name_such_as_theoradec

чтобы увидеть sink и src. Теперь вы обнаружите, что src равно video/x-raw, поэтому вам нужно будет найти конечный приемник для вывода видео на дисплей, например xvimagesink.

Я просто пишу все это на основе веб-страницы на японском языке. , и я не нашел других страниц, которые объясняли бы больше, чем эта (ни на английском, ни на японском языке).

Я хочу найти страницы, объясняющие, как можно завершить конвейер на основе медиаинформации и так далее. Даже после того, как я прочитал веб-страницу, я все еще не уверен, как сопоставить возможности между элементами.

Как вы строите воронки продаж?
Как вы сопоставляете ограничения?


person kukrt    schedule 16.12.2014    source источник


Ответы (1)


Если все, что вам нужно, это воспроизвести видеофайл, вы можете сделать следующее:

gst-launch-1.0 playbin uri=файл:///путь/к/вашему/видео

Если вам нужно декодировать его в необработанный формат видео и выполнить дальнейшую обработку, вы можете:

gst-launch-1.0 uridecodebin uri=file:///path/to/your/video ! video/x-raw ! further_processing

То же самое касается аудио, и вы даже можете назвать свой uridecodebin, чтобы разделить аудио и видео:

gst-launch-1.0 uridecodebin uri=file:///path/to/your/video name=d ! video/x-raw ! further_video_processing d. ! audio/x-raw ! further_audio_processing

Если вы хотите увидеть, как выглядит фактический конвейер, вы можете установить переменную среды GST_DEBUG_DUMP_DOT_DIR для вывода точечного представления:

GST_DEBUG_DUMP_DOT_DIR=$PWD gst-launch-1.0 playbin uri=file:///path/to/your/video

Затем:

dot -Tsvg name_of_the_dot_file.dot -o mypipeline.svg

Редактировать: что касается документов, которые я прочитал, чтобы понять это, «руководство по разработке приложений», справочная страница для gst-launch и gst-inspect вместе с различными документами здесь: http://cgit.freedesktop.org/gstreamer/gstreamer/tree/docs поможет вам начать работу.

person Mathieu_Du    schedule 16.12.2014
comment
Суть этого вопроса в том, как вы поняли, как строить пайплайны. Какой документ вы прочитали, чтобы узнать, как вещи могут быть построены? - person kukrt; 16.12.2014