简体   繁体   English

GStreamer 管道在相机快速移动后停止播放

[英]GStreamer pipeline stops playing after fast and shaky camera movement

I'm working on a video streaming wearable device.我正在开发视频流可穿戴设备。 During the tests, it came up that the pipeline clock and stream stop while fast walking or running.在测试过程中,发现管道时钟和流在快速行走或跑步时停止。 It's bizarre behaviour because in debug messages there are no errors about the broken pipeline, besides lost frames.这是一种奇怪的行为,因为在调试消息中,除了丢失的帧之外,没有关于损坏的管道的错误。 It's frizzed and only restarting help.它卷曲了,只能重新启动帮助。 May you guys guess what causes the problem?大家猜猜是什么原因造成的问题?

The pipelines I use:我使用的管道:

streaming device:流媒体设备:

gst-launch-1.0 -vem --gst-debug=3 v4l2src device=/dev/video0 ! video/x-raw,width=640,height=480,framerate=\(fraction\)30/1 ! v4l2h264enc extra-controls=s,video_bitrate=250000 capture-io-mode=4 output-io-mode=4 ! "video/x-h264,level=(string)4" ! rtph264pay config-interval=1 ! multiudpsink clients="127.0.0.1:5008,10.123.0.2:5008" 

client:客户:

udpsrc port=5008 do-timestamp=true ! application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)H264, payload=(int)96 ! rtpjitterbuffer latency=100 drop-on-latency=true drop-messages-interval=100000000 ! queue max-size-buffers=20000 ! rtph264depay ! h264parse ! avdec_h264 ! videoconvert ! glupload ! qmlglsink name=qmlglsink sync=false

The hardware I use is a PS3 Eye cam, and LTE modem to transmit video with a pretty low uplink of 1-2 Mbit/s, and everything running on RaspberryPi 3b+ 1GB.我使用的硬件是 PS3 Eye cam 和 LTE 调制解调器,以 1-2 Mbit/s 的相当低的上行链路传输视频,一切都在 RaspberryPi 3b+ 1GB 上运行。

For more debug info there are also pictures of the log file after last registered dropped frame and every next "cycle" sends a new query, loops over GST Element from sink to the source which is my camera and ends with max query duration (highlighted query to v4l2src)有关更多调试信息,还有上次注册丢帧后的日志文件图片,并且每个下一个“周期”发送一个新查询,从接收器到源(即我的相机)循环 GST 元素,并以最大查询持续时间结束(突出显示的查询到 v4l2src)

Do you know how to overcome this problem?你知道如何克服这个问题吗?

The problem has been resolved.这个问题已经解决。 The issue was not variable encoder bitrate.问题不在于可变编码器比特率。 A more detailed inspection and pipeline that works for me is in this GStreamer issue page对我有用的更详细的检查和管道在这个GStreamer 问题页面

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 将管道设置为播放状态后,Gstreamer的回叫没有发生 - Gstreamer call backs are not hitting after setting pipeline to playing state 在Gstreamer中播放iOS 8中的管道,并在输入背景和返回前景管道后无法正常工作:(? - In Gstreamer while playing the pipeline in iOS 8, and after entering background and returning foreground pipeline doesnt work :(? 使用 Gstreamer 管道几秒钟后,麦克风停止向扬声器发送语音 - Microphone stops sending voice at speakers after couple of seconds of using a Gstreamer pipeline 动态替换正在播放的gstreamer管道中的元素 - dynamically replacing elements in a playing gstreamer pipeline 开源相机的 Gstreamer webrtc 管道问题 - Gstreamer webrtc pipeline problem for open source camera 在Gstreamer(C#)中使用管道播放音频 - Playing Audio with pipeline in Gstreamer (C#) 使用 GStreamer 管道创建 onvif 合规摄像头 - Creating the onvif compliance camera using the GStreamer Pipeline 使用gstreamer暂停后如何恢复播放? - How to resume playing after paused using gstreamer? 当图像尺寸较大时,使用 shmsink 和 shmsrc 的 GStreamer 管道停止 - When the image size is large, the GStreamer pipeline using shmsink and shmsrc stops Gstreamer 定制管道不播放/挂出 - Gstreamer custom-built pipeline not playing/hanging out
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM