接着上篇的文章,解析下H.264码流整个RTP封包过程和如何转换出H.264码流文件。
RTP封包过程
整个RTP封包过程大概分为7步:
- 搜索NALU起始码
- 保存NALU数据到Buff中
- 搜索到下一个NALU起始码,fseek往前偏移
- 计算NALU长度,保存到Len中
- 判断Len长度是否超过1400(MTU为1500,100留给头部用)
- 单一 NAL 单元封装为RTP包或者使用FU拆包(设置FU Indicator 和FU Header)
- RTP数据包封装,发送
转换成流程图如下:
H.264码流转换
怎么从视频中提取H.264码流文件呢,我们借助MediaCoder,设置如下:
视频设置(主要选择H.264格式):
音频设置(纯视频码流不需要音频):
容器设置(注意这里不要使用容器,否则码流就被封装了):
按照上述设置就可以转换成264后缀名的H.264码流文件了。
声明
原创文章,欢迎转载,请保留出处。
有任何错误、疑问或者建议,欢迎指出。
我的邮箱:Maxwell_nc@163.com