GStreamer предварительный просмотр RTMP с использованием xvimage - PullRequest
0 голосов
/ 16 января 2020

Я хочу просмотреть RTMP, используя gstreamer xvimagesink. я могу видеть вывод, если я использую autovideosink, как это:

gst-launch-1.0 -v rtmpsrc location='rtmp://127.0.0.1:1935/live/stream' ! decodebin3 ! autovideosink

, но если я заменю «autovideosink» на «xvimagesink», я получаю это:

Setting pipeline to PAUSED ...
ERROR: Pipeline doesn't want to pause.
ERROR: from element /GstPipeline:pipeline0/GstXvImageSink:xvimagesink0: Could not initialise Xv output
Additional debug info:
xvimagesink.c(1773): gst_xv_image_sink_open (): /GstPipeline:pipeline0/GstXvImageSink:xvimagesink0:
Could not open display (null)
Setting pipeline to NULL ...
Freeing pipeline ...

1 Ответ

0 голосов
/ 16 января 2020

Оба decodebin3 и autovideosink являются автоматически подключаемыми GStreamer элементами. Это означает, что оба элемента доступны для автоматического выбора и наиболее подходящие плагины GStreamer для демультиплексирования / декодирования (decodebin3) и рендеринга видео (autovideosink) из, в данном случае, живого потока RTMP.

Так что это очень возможно например,

  • decodebin3 декодирует видео в формате, который xvimagesink не может отображаться на вашей платформе / оборудовании и / или в вашей версии Gstreamer,
  • xvimagesink - это неправильно настроен на вашей платформе и не связан с доступным дисплеем / монитором.

Подробнее о формате видео

  • , декодированном с помощью decodebin3
  • элемент приемника видео, выбранный с помощью autovideosink,

. Вы можете установить более высокий (более подробный) уровень отладки GStreamer с помощью, например, export GST_DEBUG=3, повторно запустить конвейер и проверить вывод. .

...