微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何减少基于图像的实时流的延迟?

如何解决如何减少基于图像的实时流的延迟?

我需要对实时图像进行编码和流式传输,但是总是有大约3s的延迟,如何减少延迟呢?

实时流是通过以下命令生成

ffmpeg -analyzeduration 0 -probesize 32 -i h264_rtsp_url \
       -vf fps=1 -fflags nobuffer -fflags flush_packets -f mjpeg - \
    | ffmpeg -r 1 -f image2pipe -analyzeduration 0 -probesize 32 -i - \
             -c:v libx264 -pix_fmt yuv420p -tune zerolatency \
             -force_key_frames "expr:gte(t,n_forced*1)" \
             -flags low_delay -fflags nobuffer -fflags flush_packets \
             -profile:v main -preset medium -r 15 \
             -f rtp_mpegts rtp://127.0.0.1:4001

将预设从medium更改为ultrafast不会影响结果,但延迟仍为3s。

我正在使用mpv播放视频流, 图片编码的流:

mpv --profile='low-latency' \
    --untimed --no-cache --no-demuxer-thread --vd-lavc-threads=1 \
    rtp://127.0.0.1:4001

原始流:

mpv --profile='low-latency' \
    --untimed --no-cache --no-demuxer-thread --vd-lavc-threads=1 \
    h264_rtsp_url

[1] https://trac.ffmpeg.org/wiki/StreamingGuide

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。