2014-12-16 5 views
0

Предположим, у вас есть видеофайл.
Насколько я искал, вам сначала нужно знать, какой контейнер он использует командой mediainfo.Как вы строите трубопроводы gst-запуска gstreamer?

$ 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. Теперь вы найдете srcvideo/x-raw, поэтому вам нужно будет найти окончательный приемник для вывода отображаемого видео, например xvimagesink.

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

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

Как вы строите свои трубопроводы?
Как вы соответствуете шапки?

ответ

1

Если все, что вы хотите, чтобы воспроизвести видео файл, вы можете сделать:

GST-ответно-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 

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

+0

Главное в этом вопросе - как вы поняли, как строить трубопроводы.Какой документ вы прочитали, чтобы узнать, как это можно построить? – kukrt

+0

Обновлен мой ответ –