reed Solomon RTP打包格式(rfc5510和rfc6865待续)

本文深入解析了RS-FEC的RTP打包机制,包括关键术语如Sourcesymbol、Encodingsymbol、Repairsymbol等,以及报文格式和参数含义。阐述了FEC编码原理,如Coderate、Systematiccode的概念,帮助读者理解音视频传输中的错误校正技术。
Seed-Coder-8B-Base

Seed-Coder-8B-Base

文本生成
Seed-Coder

Seed-Coder是一个功能强大、透明、参数高效的 8B 级开源代码模型系列,包括基础变体、指导变体和推理变体,由字节团队开源

对RS-FEC的RTP打包格式的初步了解,后续发现理解不对的地方,会及时更新。

一、名词解释

图一:FEC编码示意图

1)Source symbol:原始音视频数据。也是FEC编码输入数据。

2)Encoding symbol:FEC编码后生成数据。

3)Repair symbol:FEC编码后数据分两块:前K包数据是原始频数据。后(n-k)包数据,是经RS运算生成的Repair symbol

4)Code rate:k/n,k原始数据包个数。n FEC编码后总包数。0 < code rate <= 1。code rate趋近1,说明冗余度越小。

5)Systematic code:编码里面,source symbols那部分数据。

6)Source Packet:只含有source symbols的RTP报文。

7)Repair Packet:只含有repair symbols的RTP报文。

8)Source block:前面k个source symbols。

图二:FEC编码参数

1)k:表示Source symbol数据包个数。

2)n:表示FEC编码生成包个数。

3)m:表示冗余包个数。

二、报文格式

图三:RS-FEC RTP报文格式
图四:RS-FEC RTP包头格式

 

图五:RS-FEC RTP包参数示意图

 

Source Block Number:块序列号,起始值可以是一个随机数,后续每生成一块,该值加一。

Encoding Symbol ID:一个块中,每个报文的序列号,取值为0-(n-1)。

Source Block Length:一个块中,原始数据的个数。FEC编码时,固定配置。是图二FEC编码参数的K值。

 

 

您可能感兴趣的与本文相关的镜像

Seed-Coder-8B-Base

Seed-Coder-8B-Base

文本生成
Seed-Coder

Seed-Coder是一个功能强大、透明、参数高效的 8B 级开源代码模型系列,包括基础变体、指导变体和推理变体,由字节团队开源

RTP_PAYLOAD_PCMU = 0, // ITU-T G.711 PCM µ-Law audio 64 kbit/s (rfc3551) RTP_PAYLOAD_G723 = 4, // ITU-T G.723.1 8000/1, 30ms (rfc3551) RTP_PAYLOAD_PCMA = 8, // ITU-T G.711 PCM A-Law audio 64 kbit/s (rfc3551) RTP_PAYLOAD_G722 = 9, // ITU-T G.722 audio 64 kbit/s (rfc3551) RTP_PAYLOAD_CN = 13, // Real-time Transport Protocol (RTP) Payload for Comfort Noise (CN) (rfc3389) RTP_PAYLOAD_MP3 = 14, // MPEG-1/MPEG-2 audio (rfc2250) RTP_PAYLOAD_G729 = 18, // ITU-T G.729 and G.729a audio 8 kbit/s (rfc3551) RTP_PAYLOAD_SVACA = 20, // GB28181-2016 RTP_PAYLOAD_JPEG = 26, // JPEG video (rfc2435) RTP_PAYLOAD_MPV = 32, // MPEG-1 and MPEG-2 video (rfc2250) RTP_PAYLOAD_MP2T = 33, // MPEG-2 transport stream (rfc2250) RTP_PAYLOAD_H263 = 34, // H.263 video, first version (1996) (rfc2190) RTP_PAYLOAD_AV1X = 35, // https://bugs.chromium.org/p/webrtc/issues/detail?id=11042 RTP_PAYLOAD_MP2P = 100, // MPEG-2 Program Streams video (rfc2250) RTP_PAYLOAD_MP4V = 97, // MP4V-ES MPEG-4 Visual (rfc6416) RTP_PAYLOAD_H264 = 96, // H.264 video (MPEG-4 Part 10) (rfc6184) RTP_PAYLOAD_SVAC = 99, // GB28181-2016 RTP_PAYLOAD_H265 = 98, // H.265 video (MPEG-H Part 2) (rfc7798) RTP_PAYLOAD_MP4A = 101, // MPEG4-generic audio/video MPEG-4 Elementary Streams (rfc3640) RTP_PAYLOAD_LATM = 102, // MP4A-LATM MPEG-4 Audio (rfc6416) RTP_PAYLOAD_OPUS = 103, // RTP Payload Format for the Opus Speech and Audio Codec (rfc7587) RTP_PAYLOAD_MP4ES = 104, // MPEG4-generic audio/video MPEG-4 Elementary Streams (rfc3640) RTP_PAYLOAD_VP8 = 105, // RTP Payload Format for VP8 Video (rfc7741) RTP_PAYLOAD_VP9 = 106, // RTP Payload Format for VP9 Video draft-ietf-payload-vp9-03 RTP_PAYLOAD_AV1 = 107, // https://aomediacodec.github.io/av1-rtp-spec/ RTP_PAYLOAD_H266 = 108, // https://www.ietf.org/archive/id/draft-ietf-avtcore-rtp-vvc-18.html RTP_PAYLOAD_RTX = 110, // RTP Retransmission Payload Format (rfc4588) RTP_PAYLOAD_RED = 111, // RTP Payload for Redundant Audio Data (rfc2198) RTP_PAYLOAD_FEC_ULP = 112, // RTP Payload Format for Generic Forward Error Correction (rfc5109) RTP_PAYLOAD_FEC_FLEX = 113, // RTP Payload Format for Flexible Forward Error Correction (rfc8267) RTP_PAYLOAD_FEC_RS = 114, // RTP Payload Format for Reed-Solomon(non-standard/private)如果要打包xml成rtp应该选哪个
10-15
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值