欢迎来到天天文库
浏览记录
ID:969872
大小:34.50 KB
页数:2页
时间:2017-10-23
《fu-a分包说明》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、视频帧保存在循环链表里,一个帧数据保存一个链表,一帧有三个状态:Ready、Doing、DoneReady:表示当前帧数据已准备好,用户可以读取这一帧,用户在读取之前要先将帧置为Doing然后才能读取Doing:表示当前帧数据正在读取中,读取方式由用户自定义,可以一次将一帧数据全部拷贝至缓存,或者分几次读取,读取完成后要将该帧置为DoneDone:表示当前帧数据已读取完成,用户不能再读取这一帧了,这一帧会在下一次循环被覆盖;当一帧读取完成后,当前指针要指向下一个Ready状态的帧 TheFUindicatoroc
2、tethasthefollowingformat: +---------------+
3、0
4、1
5、2
6、3
7、4
8、5
9、6
10、7
11、 +-+-+-+-+-+-+-+-+
12、F
13、NRI
14、 Type
15、 +---------------+FUindicator视频帧头:0x00x00x00x10x67这个为NALU0x67->01100111(F=0;NRI=11)由以上数据得知FUindicator:7c(01111100)F=0,NRI=11,type=28,即11100表明它是F
16、U-A包 TheFUheaderhasthefollowingformat: +---------------+
17、0
18、1
19、2
20、3
21、4
22、5
23、6
24、7
25、 +-+-+-+-+-+-+-+-+
26、S
27、E
28、R
29、 Type
30、 +---------------+FUheader视频帧头:0x00x00x00x10x67这个为NALU0x67->01100111(F=0;NRI=11)由以上数据得知FUheader:87(10000111)S=1,E=0,R=0;Type等于上面的T
31、ype=00111代码操作提示:fu_header=nalu_header&0x1F;(00011111)取NALU后五位的Typefu_indic=(nalu_header&0xE0)
32、28;(11100000)取NALU前三位并上28////////////////////////////////////////////////RTP打包RTP头的结构: 0 1 2 3 012345678
33、90123456789012345678901 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
34、V=2
35、P
36、X
37、 CC
38、M
39、 PT
40、 sequencenumber
41、 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
42、 t
43、imestamp
44、 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
45、 synchronizationsource(SSRC)identifier
46、 +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
47、 co
48、ntributingsource(CSRC)identifiers
49、
50、 ....
51、 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+上面的结构中,每一行共32bit,4个字节,每个字节8bit;前三行是rtp必须的,即3x4=12个字节;现按字节为单位说明一下每个字节的内容,以方便
52、核对十六进制的数据:第一个字节,包含Version/Padding/eXtension/CsrC_len;第二个字节,Marker/PayloadType第三、四个字节,seq第五、六、七、八字节,ts第九、十、十一、十二字节,ssrc分析下面的数据:0x800x600x490xb60x00x00x70x3a0x5d0x6e0x60xb80x800x600x490xb70
此文档下载收益归作者所有