博主信息
博文 26
粉丝 0
评论 1
访问量 28368
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
视频直播软件开发过程中需要解决的“老朋友”
一只可爱居的博客
原创
817人浏览过

要说在视频直播软件开发的过程中,什么是技术人员最头疼的?肯定有人会毫无疑问的回答:直播的卡顿和延时!没错,这两位可以说是直播中的“老朋友”了。毫不夸张的说,每一个直播平台都遇到过这两种问题。所以,今天我们就来聊一下设备端存在的延时是怎么个情况。

音视频数据在设备端产生的延时是可以进行细分的。设备端的延时主要是与编解码算法、音视频数据量和硬件性能相关的,并且设备端的延时可以达到30-200ms甚至更高。因此,音频和视频在采集端或者是播放端所产生延时的过程是基本一致的,但原因不同。

u=3143016412,625207128&fm=26&gp=0-wps图片.jpg

1. 音频在设备端的延时

(1)采集后的音频会先经过声卡进行信号转换,声卡的本身会产生延时。

(2)音频进入前处理和编码阶段后,如果采取标准编码,那么最低算法的延时就需要2.5-60ms。

(3)音频播放过程中出现延时,大多数与播放端的硬件性能相关。

(4)在前处理和后处理这些算法的过程中,都会带来算法延时。

(5)如果在抗丢包处理中,增加重传算法和前向纠错算法的话,延时一般会在20-200ms左右。但是如果受到了jitter buffer影响,可能会更高。

2.视频在设备端的延时

(1)一般视频在进行采集时都会遇到成像延时,主要是由CCD相关的硬件产生。目前市面上较好的CCD一秒可以达到50帧,延时约为20ms。

(2)用H.264举例的话,主要包含I、B、P帧。如果是每秒30帧相连帧,并且不包括B帧。因为B帧的解码,依赖于前后视频帧会增加一定的延时,所以采集到的一帧数据可能就会直接进入编码器。没有B帧时,编码的帧延时可以忽略不计。但如果有B帧,就会带来算法延时。

(3)在渲染情况下,一般延时比较,但是也会受到音画同步和系统性能的影响增大延时。

(4)与音频相同的是,视频也会遇到端网络延时的状况。

u=4069460346,70384806&fm=214&gp=0-wps图片.jpg

     其实在设备端,CPU和缓冲都会同时处理来自多个应用和外接设备的请求。如果某个出现问题的设备请求占用了CPU,那么就会导致音视频的处理请求出现延时的情况。就拿音频来说吧,如果出现上述情况,CPU可能会没办法及时填充音频缓冲区,音频也会出现卡顿。

由此可见,在视频直播软件开发的过程中设备整体的性能,还是会给音视频的采集、编解码和播放造成一定影响从而产生延时的。所以,还需要在这方面多多注意。

本文声明原创,转载请注明出处。


本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学