专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > 多媒体/流媒体开发

关于H.264编码输出的有关问题

发布时间:2011-06-27 19:27:13 文章来源:www.iduyao.cn 采编人员:星星草
关于H.264编码输出的问题
这是用JM做H.264编码后的输出,用UtralEdit打开,谁能给我解释下怎么看,我认为是从80 E9 00 00这一部分开始为RTP的报头,67开始为NALU的头部,到90结束。哪位大哥指点下,每次RTP包头前面的8个字节是干嘛的。。。 
15 00 00 00 FF FF FF FF 80 E9 00 00 00 00 00 00
12 34 56 78 67 64 00 28 AC E6 0B 13 90 11 00 00
00 FF FF FF FF 80 E9 00 01 00 00 00 00 12 34 56
78 68 E9 4A 38 B0 DB 0C 00 00 FF FF FF FF 80 E9
00 02.......

------解决方案--------------------
可以说 说你的实现方式,具体的字节要研究的东西太多了,有不少现成的东西可以用!

------解决方案--------------------
就是RTP的头嘛
ANNEX-B 和RTP的区别 就是 RTP是经过RTP打包的,然后需要传输的。
------解决方案--------------------
#12楼说的对啊。.264解码器通过找到文件的头来进行解码,这也可以说是.264编码方式的头。
------解决方案--------------------
RTP的头部是12个字节,后面的为payload,也就是数据帧
------解决方案--------------------
RTP是协议打包的,要想解264得找个可以解264的filter! 

------解决方案--------------------
我不太同意这样的观点......
------解决方案--------------------
可以到“H.264乐园”去问一下,那里比较专业,牛人也很多。
http://bbs.chinavideo.org/forumdisplay.php?fid=29&orderby=dateline&ascdesc=DESC
------解决方案--------------------
如果是标准的rtp包80 E9 00 00 00 00 00 00 
12 34 56 78 应该是RTP头把,你看看RTP协议就知道这些字段是什么意思了
------解决方案--------------------
表示一帧数据的开始
------解决方案--------------------
你那RTP头里可能会包含时间戳,序列号这样的一些内容,所以会不一样
------解决方案--------------------
lz 做这些个协议,一定要看ISO 和 RFC
------解决方案--------------------
这个问题你跟踪一下JM解码的代码就能知道啊。
------解决方案--------------------
这可能要看你这个输出是什么视频流了。
TS流,还是其他的
------解决方案--------------------
那开头8个字节是JM用于标识RTP数据包分段和起始位置的数据,实际使用的时候要删除掉。

15 00 00 00 FF FF FF FF 80 E9 00 00 00 00 00 00 
12 34 56 78 67 64 00 28 AC E6 0B 13 90 11 00 00 
00 FF FF FF FF 80 E9 00 01 00 00 00 00 12 34 56 
78 68 E9 4A 38 B0 DB 0C 00 00 FF FF FF FF 80 E9 
00 02.......

15 00 00 00 是一个4字节的32位数0x15,表示这个RTP包数据长度是21字节
FF FF FF FF 后面的4字节32位数0xFFFFFFFF,表示21个字节RTP数据紧跟其后

第29个字节开始就是下一个RTP包的数据的开始
11 00 00 00 FF FF FF FF
可以看出这个RTP包有0x11=17个字节

向后推移
DB 0C 00 00 FF FF FF FF 
就是第三个RTP数据包的开始
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: