接着上篇的文章,解析下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碼流文件了。
聲明
原創文章,歡迎轉載,請保留出處。
有任何錯誤、疑問或者建議,歡迎指出。
我的郵箱:[email protected]