没有合适的资源?快使用搜索试试~ 我知道了~
首页RTP负载中的FEC设计与应用详解
RTP负载中的FEC设计与应用详解
需积分: 49 19 下载量 57 浏览量
更新于2024-07-20
收藏 44KB DOCX 举报
本文档详细介绍了前向纠错码(FEC)在RTP(Real-Time Transport Protocol)荷载格式中的应用。RTP是互联网上用于实时音频、视频等多媒体数据传输的协议,而FEC是一种纠错技术,旨在提高数据传输的可靠性,特别是在丢包率较高的网络环境下。 FEC的RTP荷载格式特别考虑了基于异或操作的纠错算法,允许终端系统灵活选择不同长度的纠错码。这种设计使得即使接收端没有内置FEC解码器,也能处理FEC数据,只需简单地丢弃,从而保持向后兼容性。RTP媒体数据包结构被扩展以包含FEC包,确保关键数据,包括负载数据和RTP头部,都能在数据丢失后得到恢复。 文档详细阐述了FEC包的构成,包括RTP包头部分的修改和FEC头的设计。保护操作和恢复过程也是核心内容,解释了如何通过计算冗余信息来检测和纠正错误,以及何时启动恢复过程。例如,当接收到足够多的FEC包,且校验成功时,就可以执行数据重建。 在实际应用中,FEC可以单独作为独立的流传输,也可以与冗余编码结合使用,提高数据传输的健壮性。在SDP(Session Description Protocol)中,如何表示FEC的存在及其使用方式也做了说明,包括在RTSP(Real-Time Streaming Protocol)中的运用。 尽管FEC有助于改善服务质量,但同时也涉及到安全性问题,比如可能增加攻击面。因此,文档还讨论了相关的安全措施和注意事项。 总结起来,本文档为理解和实施FEC在RTP中的负载格式提供了全面的指南,有助于提高互联网多媒体传输的稳定性和可靠性。无论是对网络开发者还是终端用户,这份文档都是一个宝贵的参考资料。
资源详情
资源推荐
![](https://csdnimg.cn/release/download_crawler_static/9482371/bg4.jpg)
了,用 a 和 f(a,b)就可以恢复出 b。
下面还给出了一些其它的监督码。其中每一个的原始媒体数据流都包含数据包 a,b,c,d 等等。
方案 1
--------
这个方案与上面的例子很类似。区别在于,并不是发送 b 之后再发送 f(a,b)。f(a,b)在 b
之前就发送出去了。显然这样做会给发送端带来额外的延时,但是用这种方案能够恢复出
突发的连续两个丢包。发送端送出的包如下所示:
abcde<--媒体流
f(a,b)f(b,c)f(c,d)f(d,e)<--FEC 流
方案 2
--------
事实上,并没有严格规定一定要传送原始媒体数据流。在这个方案中,只传送 FEC 数据
包。这种方案能够恢复出所有单个的丢包和某些连续的丢包,而且 overhead 比方案 1 略小
一些。发送端送出的数据包如下所示:
f(a,b)f(a,c)f(a,b,c)f(c,d)f(c,e)f(c,d,e)<--FEC 流
方案 3
--------
这种方案要求接收端在恢复原始媒体数据包时等待 4 个数据包间隔的时间,也就是在接
收端引入了 4 个数据包的延时。它的优越性在于它能够恢复出单个丢包,连续两个丢包乃
至连续三个丢包。发送端送出的数据包如下所示:
abcd<--媒体流
f(a,b,c)f(a,c,d)f(a,b,d)<--FEC 流
5 RTP 媒体数据包结构
媒体数据包的结构并不受 FEC 的影响。如果 FEC 包作为一个独立的流进行传输,媒体
数据包的传输就与不使用 FEC 时完全没有区别。如果 FEC 作为一个冗余编码
(redundantcodec)来进行传输,媒体数据包就作为 RFC2198[5]中定义的主编码
(primarycodec)。
这样一种编码方式是非常高效的。如果只使用了极少量的 FEC,大部分数据包都是媒体数
据包,这意味着 overhead 代表着 FEC 的冗余数据量。
6 FEC 包结构
一个 FEC 包就是把一个 FEC 包头和 FEC 包的荷载放进 RTP 包的荷载中组成的,如图 1
所示。
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|RTP 头|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|FEC 头|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|FEC 荷载|
剩余16页未读,继续阅读
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://profile-avatar.csdnimg.cn/d0be337136e8498fab46b2acb965a21f_junniore.jpg!1)
junniore
- 粉丝: 0
- 资源: 5
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
最新资源
- 多模态联合稀疏表示在视频目标跟踪中的应用
- Kubernetes资源管控与Gardener开源软件实践解析
- MPI集群监控与负载平衡策略
- 自动化PHP安全漏洞检测:静态代码分析与数据流方法
- 青苔数据CEO程永:技术生态与阿里云开放创新
- 制造业转型: HyperX引领企业上云策略
- 赵维五分享:航空工业电子采购上云实战与运维策略
- 单片机控制的LED点阵显示屏设计及其实现
- 驻云科技李俊涛:AI驱动的云上服务新趋势与挑战
- 6LoWPAN物联网边界路由器:设计与实现
- 猩便利工程师仲小玉:Terraform云资源管理最佳实践与团队协作
- 类差分度改进的互信息特征选择提升文本分类性能
- VERITAS与阿里云合作的混合云转型与数据保护方案
- 云制造中的生产线仿真模型设计与虚拟化研究
- 汪洋在PostgresChina2018分享:高可用 PostgreSQL 工具与架构设计
- 2018 PostgresChina大会:阿里云时空引擎Ganos在PostgreSQL中的创新应用与多模型存储
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035111.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)