`
weiyinchao88
  • 浏览: 1183948 次
文章分类
社区版块
存档分类
最新评论

RTP格式图 NNEXB格式和RTP格式

 
阅读更多

Dove(12337127) 10:15:45
我看JM代码里面有些疑问 看好多地方都出现了ANNEXB
时空互换(178316135) 10:16:08
h264的2种码流编码格式
Dove(12337127) 10:16:19
我就不太理解是什么意思 刚才翻标准看见了 刚准备认真看看


Dove(12337127) 10:16:29
annexb rtp 是么?

时空互换(178316135) 10:16:36
总的来说H264的码流的打包方式有两种,一种为annex-b byte stream format的格式,这个是绝大部分编码器的默认输出格式,就是每个帧的开头的3~4个字节是H264的start_code,0x00000001或者0x000001。
另一种是原始的NAL打包格式,就是开始的若干字节(1,2,4字节)是NAL的长度,而不是start_code,此时必须借助某个全局的数据来获得编码器的profile,level,PPS,SPS等信息才可以解码。
时空互换(178316135) 10:17:08
rtp传输的是annexb的h264码流

Dove(12337127) 10:19:55
谢谢您了 !
另外我想问下

这里定义的这个枚举是做什么用的?

typedef enum
{
PAR_OF_ANNEXB, //!< Current TML description
PAR_OF_RTP, //!< RTP Packet Output format
// PAR_OF_IFF //!< Interim File Format
} PAR_OF_TYPE;

里面的TML 是什么意思啊?我查了英文的文档没发现 应该是什么的缩写么?


Dove(12337127) 10:21:57
按照您刚才说的 两种模式 这边第二个是不是不应该定义rtp 而是应该定义 NAL呢
★深谷幽兰★(285011501) 10:22:18
就是 两种方式啊 ANNEXB 还是 RTP ?
Dove(12337127) 10:22:19
当然人家定义的肯定是对的 是我理解不上去
★深谷幽兰★(285011501) 10:22:25
默认是 ANNEXB
时空互换(178316135) 10:22:46
RTP格式还是ANNEXB格式

时空互换(178316135) 10:23:01
RTP格式有将00 00 00 01去掉
Dove(12337127) 10:24:03
谢谢您 谢谢大家 我再认真看看

H264初学者<zz841215@126.com> 10:24:16
这就涉及到 H.264 的两种码流格式
GetAnnexbNALU 处理字节流格式的码流
GetRTPNALU 处理 RTP 格式码流
字节流格式的码流主要用于存储,例如制作 DVD(当然现在的 DVD 还不是用 H.264)
RTP 格式码流主要用于网络传送,例如在线看电影
Dove(12337127) 10:25:38
谢谢
H264初学者<zz841215@126.com> 10:26:42
这是引用的骄子的原话

6.14追加:

剑魄(363127921) 15:59:26
NALU不是要封装成RTP?
God of Light(233383328) 16:00:13
你需要RTP吗?
God of Light(233383328) 16:01:11
最简单RTP包包括RTP包头、H.264扩展头和H.264码流
剑魄(363127921) 16:01:25
我看不懂JM的打包过程和解包过程,似乎在哪卡住了,总是不明白
God of Light(233383328) 16:01:37
NALU里指针指向的那部分是码流
God of Light(233383328) 16:01:59
码流在JM里会首先打包到NALU里去
God of Light(233383328) 16:02:15
NALU一般可以直接本地保存
God of Light(233383328) 16:02:43
之后要把NALU中的相关信息变成H.264扩展头
剑魄(363127921) 16:03:05
喔。这么深奥啊
God of Light(233383328) 16:03:11
然后再加上一个RTP包头,就变成了一个RTPa包
God of Light(233383328) 16:03:16
。。。。。。
剑魄(363127921) 16:03:31
那RTP包头是8个字节?
God of Light(233383328) 16:03:33
H.264扩展头就一个字节,三个信息
God of Light(233383328) 16:03:52
RTP包头12和16字节两种
剑魄(363127921) 16:04:05
我看JM都先读四个字节,再读四个字节时间戳,再就是buffer了
God of Light(233383328) 16:04:28
应该还有四个字节的信息源标识符
God of Light(233383328) 16:04:37
一共12字节才对

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics