2017-03-23 34 views
0

我的设置是这样的:gstreamer的低帧率的数据流的中断之后

  1. 连接到无线链路节点的以太网相机。
  2. 相机使用UDP发送H264编码流(320 * 184,速度为25 FPS)。
  3. 连接到笔记本电脑的另一个无线链接节点(Windows 7)。
  4. 笔记本电脑正在运行gstreamer。
  5. 接收到的UDP数据包用于显示没有任何延迟的视频。

GStreamer的命令显示视频流:
GST-发射-1.0 rtspsrc协议= 00000001位置= RTSP://10.0.0.3:554 /流1延迟= 0 drop_on_latency =真!解码器! videoscale! video/x-raw,width = 1280,height = 800! autovideosink

这里是问题:

  1. 我通过去除相机和第一无线链路的节点之间的以太网电缆5秒钟,然后重新连接电缆中断的数据流。结果:视频流的显示停止然后恢复。
  2. 我中断了15秒的数据流。结果:视频流的显示恢复,但帧率非常低;大约每秒1帧。如果我然后重新启动gstreamer videostream再次很好地呈现。

我该如何克服这种帧率下降?如果检测到这种情况,自动重新启动gstreamer将是我的一个选择。

问候,doojoo

+0

你能尝试水槽的同步属性设置为false? 'autovideosink sync = false' –

+0

将同步设置为false时,流的显示会很好地恢复! – Doojoo

回答

0

当设置同步为false,通过阿尔珀如所建议的,流的显示恢复很好!
现在会发生什么是这样的:

  1. 当数据流停止的GStreamer将继续显示最后一帧。
  2. 当数据流再次启动时,gstreamer停止并且我的脚本再次启动gstreamer。然后它会以良好的帧速率呈现视频。

当流停止而不是停止流再次启动时可以停止gstreamer吗?

问候, doojoo