- 针对组播丢包恢复的机制是FEC
- 针对单播丢包恢复的机制是ARQ
- 针对单播避免缓存上下溢的机制是流量控制
FEC(Forward Error Correction)
前向纠错是一种通过在信息源增加冗余信息 实现丢包恢复的措施。在IP网络里,数据报文的正确性已经由网络层保证,如果出现传输错误,设备、网卡会自动丢弃。所以,这里的 FEC 应用不是纠错, 而是丢包恢复(或者说,遗失数据报文的位置是可知的)。
FEC 的数据处理流程大致如下: 1)媒体服务器对原始媒体内容进行前向纠错编码,生成冗余信息; 2)原始媒体数据与FEC冗余数据发送到客户端,可能存在丢包; 3)终端根据收到的数据进行FEC解码,恢复出丢失报文的完整内容;
FEC 无需反馈的机制特点使其适用于IPTV组播应用。
ARQ(Automatic Repeat-reQuest)
自动重传请求是一种通过丢包反馈重传实现丢包恢复的措施。
ARQ 的数据处理流程大致如下: 1)媒体数据经过编号(例如 RTP 序号)后发送到客户端,可能存在丢包; 2)终端根据序号向服务器反馈丢失分组信息; 3)服务器重传丢失分组;
对于 IPTV 的单播业务,可以应用ARQ技术。
流量控制
该机制是一种通过终端控制服务器发流速率来达到缓存区调整的方法。
引起缓存上下溢的因素主要有三个方面: 一是网络传输丢包或抖动过大; 二 是视频服务器输出码流抖动过大; 三是流媒体文件编码速率抖动过大,其中,原因二和三较为常见。
流量控制的流程大致如下: 1)终端实时监测缓存状态,如超过了缓存上溢或下溢的预警线,则向服务器发出缓存调整指令。 2)服务器根据终端的请求,在规定的码流速率范围内,根据终端需要调整的缓存大小,确定码流速率调整的大小和调整的时间;
流量控制技术仅适用于单播业务。
|