H.264码流整个RTP封包过程

接着上篇的文章,解析下H.264码流整个RTP封包过程和如何转换出H.264码流文件。

RTP封包过程

整个RTP封包过程大概分为7步:

  1. 搜索NALU起始码
  2. 保存NALU数据到Buff中
  3. 搜索到下一个NALU起始码,fseek往前偏移
  4. 计算NALU长度,保存到Len中
  5. 判断Len长度是否超过1400(MTU为1500,100留给头部用)
  6. 单一 NAL 单元封装为RTP包或者使用FU拆包(设置FU Indicator 和FU Header)
  7. RTP数据包封装,发送

转换成流程图如下:

H.264码流转换

怎么从视频中提取H.264码流文件呢,我们借助MediaCoder,设置如下:

视频设置(主要选择H.264格式):

H.264码流整个RTP封包过程_第1张图片

音频设置(纯视频码流不需要音频):

容器设置(注意这里不要使用容器,否则码流就被封装了):

H.264码流整个RTP封包过程_第2张图片

按照上述设置就可以转换成264后缀名的H.264码流文件了。

声明

原创文章,欢迎转载,请保留出处。
有任何错误、疑问或者建议,欢迎指出。
我的邮箱:[email protected]

你可能感兴趣的:(视频,流媒体,RTP,h.264,码流)