我对视频流和opencv一般都很陌生。 我想使用h264通过rtsp从Rasberry pi 3将计算流式传输到另一台设备。 我尝试使用popen和ffmpeg写入管道到ffserver anf,vlc创建rtsp服务器来流式传输内容。不幸的是,我在流中有很大的滞后,我能做的最好的是下降到3秒。
有没有办法实现这个目标?我愿意考虑其他技术。
谢谢
答案 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,您还可能会为视频流带来更多延迟。