在h.264中以低延迟

时间:2017-08-01 09:35:34

标签: python opencv raspberry-pi h.264 rtsp

我对视频流和opencv一般都很陌生。 我想使用h264通过rtsp从Rasberry pi 3将计算流式传输到另一台设备。 我尝试使用popen和ffmpeg写入管道到ffserver anf,vlc创建rtsp服务器来流式传输内容。不幸的是,我在流中有很大的滞后,我能做的最好的是下降到3秒。

有没有办法实现这个目标?我愿意考虑其他技术。

谢谢

2 个答案:

答案 0 :(得分:1)

RTMP不是实现低延迟(<5s)的最佳方式。

我建议您使用FFMPEG和纯RTP将视频流式传输到RTPS服务器。或者直接使用Gstreamer和Gst-RTSP服务器,两者都是C语言中的开放式解决方案。

延迟也会受到编码器及其用于处理的硬件的影响。

This question有更多信息。

答案 1 :(得分:0)

我建议你改用RTMP。延迟可以低至100毫秒。

另一件需要考虑的事情是,由于播放器的内部缓冲,VLC和其他客户端会引入视频延迟。寻找不缓冲视频的选项,你应该能够在几秒钟内完成视频延迟。

使用ffplay,您可以尝试以下方法:

ffplay --fflags nobuffer rtmp://your.server.ip/path/to/stream -loglevel verbose

如果您将transmux转换为DASH或HLS,您还可能会为视频流带来更多延迟。