[使用xvimage的GStreamer预览RTMP

问题描述 投票:0回答:1

我想使用gstreamer xvimagesink预览RTMP。如果我使用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 ...
gstreamer rtmp gst-launch
1个回答
0
投票

decodebin3decodebin3都是autovideosink GStreamer元素。这意味着这两个元素都可以自动选择,并且最合适的GStreamer插件可以在这种情况下从实时RTMP流进行解复用/解码(decodebin3)和渲染视频(autovideosink)。

因此,很有可能,

  • [auto-plugging解码的视频格式为decodebin3无法在您的平台/硬件和/或您的Gstreamer版本上显示,
  • [xvimagesink]在您的平台上未正确设置,并且与可用的显示器/监视器无关。

以了解有关的更多详细信息>

  • xvimagesink解码的视频格式
  • decodebin3选择的视频接收器元素,
  • 您可以使用autovideosink设置更高(更详细)的GStreamer调试级别,重新运行管道并检查输出。

© www.soinside.com 2019 - 2024. All rights reserved.