文章插图
传输前
文章插图
传输后
流媒体在采集,传输,解码等过程中,都会实现相应的同步机制 。
本地文件流同步方法:
(1)基于参考点同步
使用流媒体的音频或者视频的索引作为参考点,开始打开文件,读取文件的头信息,读取第n帧的音频数据,检查前面的n-1帧是否播放完,如果已经播放完,则跳过下一帧视频,只播放第n帧的视频,重新返回到音频的N+1帧读取,如果前面的第N帧音频还没有播放完,则把第n帧音频放到输出队列,然后读取并显示第n帧视频,如果上述情况出现很多次,则显示视频时加入一定延时 。
(2)基于参考时钟同步
音视频基于系统固定时钟,实现同步,各自沿着时钟线段进行播放,如果音视频的时间戳与固定时钟的误差超过设置的同步门限,则重新同步 。这个方法优点是,音频和视频的时间戳不用交集,相互不影响,缺点是,如果固定时钟,音频,视频,这三者中的时间戳不准,或者跳变很大,就会出现灾难性的体验 。大致的流程是,以参考时钟的映射为标杆,进行同步控制,重置音视频的起点,如果音频或者视频超越和落后对方,则就会等待或丢弃相应数据 。
网络传输同步
音视频在网络传输过程中,基于参考时钟的这种方法很难实现,或者实现起来体验很差,为什么呢?在复杂的网络环境中,如果时钟信息被丢失或者读取错误,会导致解码端和播放端,同步的效果很差 。所以在网络中,都是基于音频同步视频,或视频同步音频,这里以音频的时间戳作为基准进行同步,音频会以固定速率播放,而视频会根据音频的时间戳进行等待或者丢弃 。
在客户端和服务端,会同步实现一种反馈机制,客户端会把不同步的信息,发送给服务端,由服务端根据这种反馈信息进行反馈检测 。当客户端检测到失调后,接收端会跳过或暂停 。服务端则调整发送速率 。
四、差错控制
前面提到的拥塞控制,无法完全避免包的丢失,这就需要一定的差错控制技术 。可以发送定义和识别帧边界,并处理接收方回送的确认帧 。如帧数计数法,首尾标志法等 。
文章插图
差错控制的方式分为2类,即反馈纠错和前向纠错 。反馈纠错方式是指在发送端对输入信息编码时,加入少量监督符号,在接收端需要对编码信息进行检查,如果出错,需要请求重发,指导收到的信息正确为止 。前向纠错就是在发送端使用一套相对复杂的编码方法,从而能够在解码端去纠正传输的差错,接收端不仅能发现错码,还要纠正 。这些纠错码,市面上比较常用的海明码,循环冗余码等,这篇文章就不详细分析 。
五、QoS服务质量
上面介绍的音视频同步,校验,都是Qos的范畴 。它是指提供服务质量的期望值以及考验网络性能的要求 。Qos设计满足一些基本原则,比如,透明原则,综合原则,分离原则等 。
文章插图
端与端的Qos
Qos参数体系结构如下图所示,用户使用Qos来分析网络性能 。
文章插图
Qos参数体系结构
网络接口层,是解决传输介质问题 。
网络层需要解决延时,抖动,差错控制等问题 。
传输层解决吞吐量,延时,抖动,传输优先级等问题
应用层主要是实现不同场景的参数配置,及问题反馈 。
关于Qos分析,先讲解这么多,后面再补充
六、总结
前面五部分都是十分重要的环境,如果需要掌控整个系统,或者优化,这些基础知识是必备,希望各位朋友认真阅读并理解 。
推荐阅读
- CVT变速箱不允许打滑深度解析,CVT到底能不能买?
- 双离合变速箱寿命到底怎么样?能开几年?双离合顿挫原因解析
- 「HOLD·按键」功能解析:也许很多车主都还不懂
- 阳台朝西北风水 阳台朝向风水解析
- Paxos算法为什么说是Raft,Zab协议的鼻祖,及原理解析
- MySQL数据库下的Explain命令深度解析
- 共识算法Raft为什么这么流行,及原理解析
- WiFi系统的无线AP与AC之间的各种问题解析
- 不懂风格、怎能会穿?8种“风格穿搭”解析,值得精读的穿衣干货
- 厨房风水化解最细解析