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

我们来贴下我们的配置参数
   '-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秒左右,效果很明显

2.修改rtsp的通道号由主通道改为子通道
rtsp://admin:mima@192.168.1.100:554/h264/ch1/main/av_stream 这里的main改为sub
rtsp://admin:mima@192.168.1.100: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秒

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

尾巴:这也是我经常调试总结出来的经验,希望对大家有所帮助
解决ffmpeg的播放摄像头的延时优化问题(项目案例使用有效)的更多相关文章
- ffmpeg ffplay播放延时大问题:播放延时参数设置
		
使用ffplay播放视频源时,rtsp/rtmp等,会有一定的延时,这里我们可以通过设置ffplay播放参数将延时控制到最小. ffplay.exe -i rtmp://xxxxxxx -fflags ...
 - FFmpeg简易播放器的实现-音视频同步
		
本文为作者原创,转载请注明出处:https://www.cnblogs.com/leisure_chn/p/10284653.html 基于FFmpeg和SDL实现的简易视频播放器,主要分为读取视频文 ...
 - 基于ffmpeg网络播放器的教程与总结
		
基于ffmpeg网络播放器的教程与总结 一. 概述 为了解决在线无广告播放youku网上的视频.(youku把每个视频切换成若干个小视频). 视频资源解析可以从www.flvcd. ...
 - 基于VLC库C#开发可播放摄像头及任意格式视频的播放器
		
前言 本文主要讲述,在WPF中,借助Vlc.DotNet调用VLC类库,实现视频播功能,下面我们先来做开发前的准备工作. 准备工作 首先,我们创建一个项目WpfVLC,然后,进入Neget搜索Vlc. ...
 - FFmpeg简易播放器的实现-视频播放
		
本文为作者原创:https://www.cnblogs.com/leisure_chn/p/10047035.html,转载请注明出处 基于FFmpeg和SDL实现的简易视频播放器,主要分为读取视频文 ...
 - FFmpeg简易播放器的实现-音视频播放
		
本文为作者原创,转载请注明出处:https://www.cnblogs.com/leisure_chn/p/10235926.html 基于FFmpeg和SDL实现的简易视频播放器,主要分为读取视频文 ...
 - FFmpeg简易播放器的实现-音频播放
		
本文为作者原创,转载请注明出处:https://www.cnblogs.com/leisure_chn/p/10068490.html 基于FFmpeg和SDL实现的简易视频播放器,主要分为读取视频文 ...
 - FFmpeg简易播放器的实现-最简版
		
本文为作者原创:https://www.cnblogs.com/leisure_chn/p/10040202.html,转载请注明出处 基于FFmpeg和SDL实现的简易视频播放器,主要分为读取视频文 ...
 - ffmpeg从USB摄像头采集一张原始图片(转)
		
本文讲解使用ffmpeg从USB摄像头中采集一帧数据并写入文件保存,测试平台使用全志A20平台,其他平台修改交叉工具链即可移植.开发环境使用eclipse+CDT.交叉工具链使用arm-Linux-g ...
 
随机推荐
- Git 03 理论
			
参考源 https://www.bilibili.com/video/BV1FE411P7B3?spm_id_from=333.999.0.0 版本 本文章基于 Git 2.35.1.2 四个区域 G ...
 - Docker 10 镜像原理
			
参考源 https://www.bilibili.com/video/BV1og4y1q7M4?spm_id_from=333.999.0.0 https://www.bilibili.com/vid ...
 - meterpreter后期攻击使用方法
			
Meterpreter是Metasploit框架中的一个扩展模块,作为溢出成功以后的攻击载荷使用,攻击载荷在溢出攻击成功以后给我们返回一个控制通道.使用它作为攻击载荷能够获得目标系统的一个Meterp ...
 - Markdown 常用语法精讲
			
- #### 标题 (`# 跟标题名称一定要留空格`)> > # 一级标题> ## 二级标题> ### 三级标题> #### 四级标题> ##### 五级标题> ...
 - ENSP NE40E 报错(NE1启动操作超时,请检查与服务器链接后重试!)
			
前言:某网友淘宝找我咨询NE40E启动失败的问题,事后我整理的处理过程,供各位同行参考. 系统版本:windows 10 软件版本: ENSP:V100R003C00 virtual BOX:5.2. ...
 - spring-aop-事务-注解开发-代理
			
1.spring + mybatis: Aop流程: 提前定义好几个用于Aop的类 前置通知:新建MyBeForeAdvice类 实现 MethodBeforeAdvice,并实现其方法 后置通知:新 ...
 - mybatisplus-ActiveRecord 模式
			
ActiveRecord 模式 直接调用Model对象来进行增删改查. 实体类只需继承 Model 类即可进行强大的 CRUD 操作 需要项目中已注入对应实体的BaseMapper 实体类User 点 ...
 - 因势而变,因时而动,Go lang1.18入门精炼教程,由白丁入鸿儒,Go lang泛型(generic)的使用EP15
			
事实上,泛型才是Go lang1.18最具特色的所在,但为什么我们一定要拖到后面才去探讨泛型?类比的话,我们可以想象一下给小学一年级的学生讲王勃的千古名篇<滕王阁序>,小学生有多大的概率可 ...
 - Spire.Cloud 私有化部署教程(三) - Windows 系统
			
本教程主要介绍如何在 Windows 系统上实现 Spire.Cloud 私有化部署. 详细步骤如下: 一.安装依赖 我们的私有部署的依赖有 Nodejs.MySQL.Redis 和 RabbitMQ ...
 - 解决前端开发报错(SyntaxError: missing : after property id)的问题
			
当使用对象初始化语法创建对象的时候,需要使用半角冒号 (:) 将属性键与属性值隔开. 1 var obj = { propertyKey: 'value' }; 冒号与等号 下面的代码会运行失败,原因 ...