RTP的Header解析,比较简单;一般有几个比较简单的方法:
写在前面:
从rfc3550文档中可以找到rtp_header定义:
不要用
但是不要用这个文件,在Windows中,因为大小端的问题,Android端应该可以用,具体看资料;
需要用从ortp或jrtplib中找到的定义;内容一样,但是顺序不一样,主要是大小端的问题;开源项目中应该也有注释;
/*
* RTP data header
*/
typedef struct {
unsigned int version:2; /* protocol version */
unsigned int p:1; /* padding flag */
unsigned int x:1; /* header extension flag */
unsigned int cc:4; /* CSRC count */
unsigned int m:1; /* marker bit */
unsigned int pt:7; /* payload type */
unsigned int seq:16; /* sequence number */
u_int32 ts; /* timestamp */
u_int32 ssrc; /* synchronization source */
u_int32 csrc[1]; /* optional CSRC list */
}

本文介绍了RTP头解析的三种方法,包括直接使用ortp或jrtplib中的定义、手动转换以及利用webrtc库。同时讨论了计算机的大端和小端模式,以及在不同平台上的字节序转换,提到了htons(), ntohs(), htonl()和ntohl()函数的作用。"
79013369,7433789,理解SpringMVC控制器的生命周期与请求匹配,"['SpringMVC', '控制器', '请求映射', '注解', 'HTTP方法']
订阅专栏 解锁全文

27万+

被折叠的 条评论
为什么被折叠?



