Как получить Pipeline, созданный playbin в текстовом формате в Gstreamer?
Я играю файл транспортного потока (*.ts), используя следующий конвейер:
gst-launch-0.10 playbin2 uri=file:///c:/bbb.ts
Но мне нужно преобразовать это в конвейер самостоятельно. Я не уверен, как этого добиться.
До сих пор я пытался: (работает нормально)
gst-launch-0.10 -v filesrc location=c:/bbb.ts ! tsdemux ! audio/x-ac3 ! fakesink
Но если я заменил fakesink на autoaudiosink, то произойдет сбой с несвязанной ошибкой.
И даже подделка не работает для видео:
gst-launch-0.10 -v filesrc location=c:/bbb.ts ! tsdemux ! video/x-mpeg2 ! fakesink
Итак, у меня есть два вопроса:
- Как узнать конвейер, созданный элементом playbin.
- Как воспроизвести файл mpeg2-ts с помощью конвейера gstreamer.
1 ответ
Ответ на вопрос 1 -
Существует способ получить графики созданного конвейера, упомянутые в документации базового урока-11.
Бриф со страницы
Получение конвейерных графиков
В тех случаях, когда ваш конвейер начинает становиться слишком большим, и вы теряете информацию о том, что с чем связано, GStreamer имеет возможность выводить графические файлы. Это файлы.dot, которые можно прочитать с помощью бесплатных программ, таких как GraphViz, которые описывают топологию вашего конвейера, а также ограничения, согласованные в каждой ссылке.
Это также очень удобно, когда используются все-в-одном элементы, такие как playbin2 или uridecodebin, которые создают несколько элементов внутри них.
Я надеюсь, что это решает, что вы хотите