GStreamer:连接丢失后消除加速播放

时间:2017-11-01 08:03:29

标签: raspberry-pi streaming gstreamer

我正在开发一个团队,通过Raspberry Pi上的Raspivid使用GStreamer,从无人机上的相机中获取FPV素材,用于动物研究。在进行范围测试时,我们发现当丢失流时,它会冻结,当流回来时,它会加速停机,直到它赶上实时。我们如何关闭它以便我们在收到流后立即看到实时?

命令在Pi上运行:

raspivid -t 0 -h 730 -w 1296 -fps 25 -b 2000000 -o - | gst-launch-1.0 -v fdsrc ! h264parse !  rtph264pay config-interval=1 pt=96 ! gdppay ! tcpserversink host=YOUR-PI-IP-ADDRESS port=5000 

该命令在基本计算机上运行:

gst-launch-1.0 -v tcpclientsrc host=192.168.1.11 port=5000  ! gdpdepay !  rtph264depay ! avdec_h264 ! videoconvert ! autovideosink sync=false 

(来自this tutorial

1 个答案:

答案 0 :(得分:0)

不容易辨别。这取决于你想要什么 - 以及如何存档。您选择的协议基本上确保不会丢失任何数据。但显然这会导致您描述的行为。也许您希望在PI上删除数据。有关缓冲区的选项,请参阅pd.DataFrame(list(d.items()), columns=['id', 'cost','name']) (例如gst-inspect-1.0 tcpserversink)。但请注意,这可能会导致比特流损坏。这将导致接收器上的图像失真,直到关键帧再次到达(编码器设置定义此设置,在您的情况下,它可能是相机中的某些内容)。