在目前的项目中使用了flv的播放摄像头的方案,但是延时达到了7-8秒,所以客户颇有微词,没有办法,只能开始优化播放延时的问题,至于对接摄像头的方案有好几种,这种咱们以后在聊,今天只要聊聊聊优化参数的问题,我们以海康为例

我们可以看到,现在延时是11秒

解决ffmpeg的播放摄像头的延时优化问题(项目案例使用有效)-LMLPHP

我们来贴下我们的配置参数

   '-vcodec libx264',
    '-r 25',
    '-video_size 1280x720',

接下来就开始优化系列:

1.增加参数

-tune zerolatency  //设置零延时
-preset ultrafast  //--preset的参数主要调节编码速度和质量的平衡,有ultrafast(转码速度最快,视频往往也最模糊)、superfast、veryfast、faster、fast、medium、slow、slower、veryslow、placebo这10个选项,从快到慢

目前的延时在6秒左右,效果很明显
解决ffmpeg的播放摄像头的延时优化问题(项目案例使用有效)-LMLPHP

2.修改rtsp的通道号由主通道改为子通道

rtsp://admin:[email protected]:554/h264/ch1/main/av_stream 这里的main改为sub

rtsp://admin:[email protected]:554/h264/ch1/sub/av_stream

然后增加以下参数

 '-threads 4',
        '-c:a copy',

  
        '-fflags nobuffer',
        '-max_delay 1',
        '-vprofile baseline',
        '-rtsp_transport tcp',
        '-crf 20',
        '-vsync 2',
        '-f flv',

我们来看下延时,延时已经达到了2-3秒
解决ffmpeg的播放摄像头的延时优化问题(项目案例使用有效)-LMLPHP

我们用vlc来测试下,vlc的延时是2秒,所以我们的优化还是很有效果的

解决ffmpeg的播放摄像头的延时优化问题(项目案例使用有效)-LMLPHP

尾巴:这也是我经常调试总结出来的经验,希望对大家有所帮助

10-27 11:17