有人用gstreamer得到这个输出吗?
我正在尝试从我的latptop到nvidia xavier的rtp流媒体
我的发件人管道是这样的
gst-launch-1.0 v4l2src ! videoconvert ! 'video/x-raw,format=(string)I420' ! x264enc ! rtph264pay ! udpsink host=127.0.0.1 port=1234
我的客户端管道是这样的
gst-launch-1.0 -vvv udpsrc port=1234 ! application/x-rtp,payload=96 ! rtph264depay ! avdec_h264 ! xvimagesink
我得到了以下输出,我的流也很慢而且滞后。
WARNING: from element /GstPipeline:pipeline0/GstXvImageSink:xvimagesink0: A lot of buffers are being dropped.
Additional debug info:
gstbasesink.c(2902): gst_base_sink_is_too_late (): /GstPipeline:pipeline0/GstXvImageSink:xvimagesink0:
There may be a timestamping problem, or this computer is too slow.
WARNING: from element /GstPipeline:pipeline0/GstXvImageSink:xvimagesink0: A lot of buffers are being dropped.
Additional debug info:
gstbasesink.c(2902): gst_base_sink_is_too_late (): /GstPipeline:pipeline0/GstXvImageSink:xvimagesink0:
There may be a timestamping problem, or this computer is too slow.
WARNING: from element /GstPipeline:pipeline0/GstXvImageSink:xvimagesink0: A lot of buffers are being dropped.
Additional debug info:
gstbasesink.c(2902): gst_base_sink_is_too_late (): /GstPipeline:pipeline0/GstXvImageSink:xvimagesink0:
There may be a timestamping problem, or this computer is too slow.
任何帮助将不胜感激。谢谢!
这些情况下的 CPU 使用率如何?我对这个平台没有经验 - 它的意图可能是在 GPU 上运行大多数东西(如视频解码和显示(。
尝试sync=false
视频接收器。它可能仍然滞后,但不会丢弃任何帧。因此,也许可以通过观察此管道来获得更多的信息。
使用autovideoconvert ! autovideosink
作为接收器而不是使用xvimagesink
怎么样?
请考虑使用rtpbin
元素,而不是手动执行 RTP 部分。垃圾箱做了很多智能缓冲等,可能会在这里有所帮助。
当然,请仔细检查问题是否发生在笔记本电脑编码器端。
sync=false 在某些情况下工作正常,但也可能导致图片滞后几分钟。通过添加带有 leaky=upstream(英语:leaky=upstream(的 queus 来改进这一点,但随后有很多丢帧,视频会断断续续。