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

lysaausb 2009-10-12 11:06:07
加精
这是用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.......
...全文
1316 56 打赏 收藏 转发到动态 举报
写回复
用AI写文章
56 条回复
切换为时间正序
请发表友善的回复…
发表回复
jiaqiwuqi 2010-04-18
  • 打赏
  • 举报
回复
ttxk 牛人啊! 膜拜一下
kerysnicabc 2009-11-26
  • 打赏
  • 举报
回复
Thanks
lysaausb 2009-10-23
  • 打赏
  • 举报
回复
[Quote=引用 53 楼 ttxk 的回复:]
那开头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数据包的开始

[/Quote]
此乃正解~膜拜,结贴给分
lysaausb 2009-10-22
  • 打赏
  • 举报
回复
迄今为止,这个问题仍然没有得到满意的答案,倒是有一些跟我一样认为这是一种类似于00 00 00 01起始码的格式。再等两天,若没有答复就结贴吧
Ryan裤子 2009-10-22
  • 打赏
  • 举报
回复
那开头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数据包的开始
lysaausb 2009-10-20
  • 打赏
  • 举报
回复
[Quote=引用 50 楼 kacassi 的回复:]
这可能要看你这个输出是什么视频流了。
TS流,还是其他的
[/Quote]
恩,我会去看看的,如果解决了,回来这里跟大家说一下的
kacassi 2009-10-19
  • 打赏
  • 举报
回复
这可能要看你这个输出是什么视频流了。
TS流,还是其他的
lysaausb 2009-10-19
  • 打赏
  • 举报
回复
[Quote=引用 48 楼 ieya 的回复:]
这个问题你跟踪一下JM解码的代码就能知道啊。
[/Quote]
所言甚是,但是我的工作主要并不在JM上,对JM了解也不深入,还是谢谢了。
捕风着 2009-10-18
  • 打赏
  • 举报
回复
lz 做这些个协议,一定要看ISO 和 RFC
haming 2009-10-18
  • 打赏
  • 举报
回复
ding
  • 打赏
  • 举报
回复
这个问题你跟踪一下JM解码的代码就能知道啊。
gausswang 2009-10-16
  • 打赏
  • 举报
回复
表示一帧数据的开始
lysaausb 2009-10-16
  • 打赏
  • 举报
回复
自己UP,问题至今未解决。。。。。虽然不太影响下一步的工作,但是搞不清楚的确是蛮不爽的
smartsip 2009-10-16
  • 打赏
  • 举报
回复
帮顶
nettman 2009-10-16
  • 打赏
  • 举报
回复
Mark!
VINCENT_LAU0610 2009-10-16
  • 打赏
  • 举报
回复
  “眼睛瞪得像铜铃……”当时只要一听见这首歌曲,我们就拔腿冲到电视机前。总是莫名其妙地为黑猫警长的一身正气激动万分,也总被“一只耳”和老秃鹰的狡猾多端气得浑身发抖。
louyong0571 2009-10-16
  • 打赏
  • 举报
回复
貌似搞这个东东的人很多啊,以后要常来学习学习!
nimeia,ca 2009-10-16
  • 打赏
  • 举报
回复
你那RTP头里可能会包含时间戳,序列号这样的一些内容,所以会不一样
lysaausb 2009-10-16
  • 打赏
  • 举报
回复
[Quote=引用 40 楼 gausswang 的回复:]
表示一帧数据的开始
[/Quote]
那为何每次又都有些不一样,麻烦解释下
嵌入式linux 2009-10-15
  • 打赏
  • 举报
回复
顶 坐等牛人回答问题
加载更多回复(35)

2,543

社区成员

发帖
与我相关
我的任务
社区描述
专题开发/技术/项目 多媒体/流媒体开发
社区管理员
  • 多媒体/流媒体开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧