多媒体
文章平均质量分 96
cloudfly_cn
这个作者很懒,什么都没留下…
展开
-
H264 over RTP 的解包
前一版博文《H264 over RTP 的打包》已经详细介绍了发送端如何将H264视频帧打包到RTP进行传输,现在我们书接上文,介绍接收端收到RTP包后如何解包组装还原出来H264帧。从前文我们知道发送端发送一帧H264数据时会遍历H264帧逐个将NALU打包成RTP包(当然NALU大于MTU时会进行分片),每一帧数据对应的RTP包的时间戳都是相同的,最后一个RTP包的marked位为TRUE;因...原创 2018-09-11 16:54:36 · 1680 阅读 · 0 评论 -
FEC算法
基于IP的语音和视频通话业务为了实时性,一般都是采用UDP进行传输,基站无线一般配置UM模式的RLC承载,因此丢包是不可避免的,在小区信号的边沿则丢包率会更高;为了通话的实时性,一般不会采用接收端发现丢包了然后通知发送端重传的机制,因为这个在应用层的丢包检测和通知发送端重传是非常耗时的。引入前向纠错(FEC)机制是解决实时通话业务丢包的一个很好的机制,FEC的原理就是在发送端发送数据包时插入冗余包...原创 2018-09-12 11:51:36 · 15622 阅读 · 9 评论 -
FEC算法——附录
上篇博文详细介绍了1-3阶冗余的原理,里面涉及到一些二阶三阶矩阵求逆公式和伽罗华域(gf())运算,本文以附录的形式给出来,以供参考。附录1. 伽罗华域(gf())运算规则加减法规则加法和减法操作对应于异或操作:a + b => a xor b例如,66+67=>66^67=1乘法规则乘法操作运算规则:两个操作数的伽罗华域指数值相加后取255的模值,然后根...原创 2018-09-12 17:02:05 · 1292 阅读 · 0 评论 -
H264 over RTP 的打包
多媒体实时通信(如语音或视频通话)一般会使用RTP/UDP进行传输,本文对H264视频在RTP传输的数据格式进行总结,RFC6184 《RTP Payload Format for H.264 Video》是H264 over RTP的规范文档,详细的内容和细节请参考该规范;本文满足RFC6184,且只是其内容的一部分,但这部分对于视频通话来说已经足够了,我曾经所负责的一个实时视频通话项目就是这样...原创 2018-09-10 18:24:03 · 8422 阅读 · 4 评论 -
一种RTP传输信道质量控制的方法
前面博文已经详细介绍了在实时通话中通过FEC实现丢包恢复的方法,但在实现上还有很多地方需要规范起来的,如:收发双方如何协商FEC参数?编码组长度应该为多长最合适?当前信道质量下应该使用几阶的冗余最合适?等等。本文就是制定了一个规范格式,解决上述问题的。有读者可能会问,收发双方都使用固定的FEC参数就好了(编码组大小固定为16、冗余固定为2阶),这会带来一个问题,信道质量好时不存在丢包,则发送方还是...原创 2018-09-13 16:38:52 · 1003 阅读 · 0 评论