别再吹牛逼说什么零延迟了, 不可能的事

科技飞扬不打烊2024-09-24 09:56:06  92

关于流媒体推拉流延时的几点说明。

经常看到一些流媒体相关的程序,号称零延迟,不用怀疑,这肯定吹牛逼的。

搞音视频开发,有个核心的指标就是实时性,也就是延迟多少毫秒,这个问题问的也是最多的。

音视频文件几乎不存在实时性问题,只有音视频流才有实时性的指标。

延迟多久这个涉及到很多方面,也要看你如何计算,从推流开始计算还是从拉流开始计算。

很多小伙伴们并不能明白什么叫延时,认为随便一个播放器播放出来的画面跟原始流画面时间差就是延时,其实这是对延时最大的误解。延时不是表象,很多人在测试延时时很不专业,对延时测试的专业性认识不足。

下面整理的是zlm作者写的关于延时的文章,非常完整而且有代表性。

采集延时:在采集摄像头或显卡画面时,由于fps的限制和cpu性能、内存拷贝速度等客观限制,采集画面成YUV/RGB等数据时会有一定的延时,一般延时为毫秒级别。由于一般编码器对输入数据格式存在限制,譬如要求统一输入YUV420P,这样在做RGB->YUV420P转换时,也会有转换计算延时(这个可以通过libyuv库来降低)。总而延时,采集延时大概为毫秒级别,如果fps为25,那么一般采集延时会有40毫秒(1000毫秒/25fps)以上的延时,在内存拷贝和颜色转换时,又可能增加若干毫秒的延时。

编码延时:在把原始画面输入到编码器时,并不会立即输出编码后的数据,特别是在开启B帧时,由于需要参考后面的P帧,那么延时会更大,所以延时敏感的情况下一般不开启B帧,这种情况下编码延时应该是毫秒级别,不是很大。

上行延时:编码后的数据,要经过一定的协议打包才能写入socket,然后传输给推流服务器或拉流代理服务器,协议打包会有一定的内存拷贝和计算量,那么会增加延时,不过这个延时很小,基本忽略不计。数据在上传到服务器时,这个延时可大可小,取决于网络质量。

转换延时:服务器在收到数据后,要读socket缓存、协议解析、解复用、重新打包等操作,不过总体而言,这个延时比较小,基本没什么影响。有时,服务器为了提高性能,会采取合并写的机制,也就是收到一定量的数据后才会一并转发,这个延时一般为几百毫秒,ZLMediaKit默认300毫秒左右,不过ZLMediaKit默认关闭合并写,也就是这个延时也很小。

下行延时:流媒体在把视频数据转发给播放器时,会存在网络发送,这个延时大小取决于网络质量,ZLMediaKit在关闭低延时模式时,还会增加MSG_MORE和关闭TCP_NODELAY导致的延时,不过ZLMediaKit默认开启低延时模式。

播放延时:播放器延时主要有网路接收延时、协议解析解复用延时、解码延时、缓存延时、渲染延时组成,这些延时中缓存延时最大,因为一般的播放器为了保证在网络抖动情况下视频播放的流畅性,会以增加延时为代价,增加播放缓存,这样在网络变差时,不至于播放缓冲卡顿。而且为了音视频同步,也必须确保一定的缓存量。这种延时一般都是秒级别,一般5秒左右。有部分播放策略是接收到数据后立即解码显示比如rtsp视频流,这样可以做到延迟最小。

缓存延时:流媒体服务器为了能让播放器立即出画面,往往会缓存最近的一个I帧,这个I帧往后的所有音视频数据被称作为GOP缓存。如果不缓存GOP,那么播放器要等下一个I帧才能解码成功或不花屏,显然为了提高播放体验,这个GOP缓存是不能去掉的。而一般GOP短则1~3秒,长则10几秒,这个跟采集端编码器设置有关,服务器改变不了。但是由于一般的播放器收到缓存后,并不会丢弃过多的画面来确保低延时。况且播放器还希望有一定的缓存来确保播放的流畅性,所以这个GOP缓存将会增大播放器的延时。

综合延时:最快可以做到200-300ms的延迟,比如rtsp视频流,对实时性要求高,可以不做缓存和音视频同步,收到就立即解码播放。hls一般最快可以做到5s延迟,flv一般可以做到3s延迟。

最终总结:综合考虑实时性以及支持的音视频格式,个人建议,推流用rtsp推流(支持的音视频格式最友好,比如支持265),拉流在web上个人推荐用ws-flv格式拉流(支持的格式多,没有6个同源的限制),拉流在可执行文件上用rtsp(格式多而且实时性最好,可以最快速度解码播放),在网页上虽然webrtc实时性最好,但是不支持265,这个就难搞。

转载此文是出于传递更多信息目的。若来源标注错误或侵犯了您的合法权益,请与本站联系,我们将及时更正、删除、谢谢。
https://www.414w.com/read/1267913.html
0
随机主题
#墨西哥一场总统竞选活动舞台倒塌,已致5人死亡,约50人受伤 #事故 #意外难道不想看看房地产股票的业绩吗? 没有业绩涨上去, 也是空涨哦郭艾伦评论金佳悦: 自己挺好的, 千万别谈恋爱哦数学王子:高斯的平凡出身与非凡之旅男单爆大冷! 男单世界冠军2-3日本选手, 无缘开门红, 球迷很意外两将替补更合适, 陈蒲先消耗对手, 山东泰山谨防国际比赛日后遗症中肯! 鲁德点评今年法网夺冠热门! 支持德约科维奇的原因很牵强!佟丽娅白色镂空抹胸礼服裙, 佟丽娅大秀身材请查收 的搭档 的可爱表情包!广东省: 打造覆盖粤港澳大湾区主要区域的低空空中交通走廊, 探索开辟粤琼低空航线Faker喜提2个新皮肤! 姿态4连胜被终结, 小微笑怒喷MLXG: 没脑子爱如潮水! 四川大凉山孩子们的“愿望清单”, 被浙江人承包了何超琼现身戛纳, 盛装出席晚宴, 打扮雍容华贵和年轻人合照太有爱江西南康给佛山下战书, 《人民日报》火速点赞, 这一战有意思了深蓝CEO称在电动化的浪潮下 硬派的燃油时代结束了打脸! 爱德华兹赛前放豪言, 欧文30分关键罚球, NBA各界嘲讽日产天籁2.0L自吸动力体验分享不努力怎么能见??箭9C秘籍 | 让竞争对手认知超越你的10大方法宝马Skytop概念车视频泄露, 看上去是近年来最漂亮的宝马520的瓜相比汪峰杨洋, 70岁的大咖的瓜让人意外, 姜还是老的辣
最新回复(0)