ffmpeg 从mp4上提取H264的nalu
生活随笔
收集整理的這篇文章主要介紹了
ffmpeg 从mp4上提取H264的nalu
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1.獲取數據
ffmpeg讀取mp4中的H264數據,并不能直接得到NALU,文件中也沒有儲存0x00000001的分隔符。下面這張圖為packet.data中的數據
從圖中可以發現,packet中的數據起始處沒有分隔符(0x00000001), 也不是0x65、0x67、0x68、0x41等字節,所以可以肯定這不是標準的nalu。
其實,前4個字0x000032ce表示的是nalu的長度,從第5個字節開始才是nalu的數據。所以直接將前4個字節替換為0x00000001即可得到標準的nalu數據。
2.獲取pps及sps
pps及sps不能從packet獲得,而是保存在AVCodecContext的extradata數據域中。如下:
如何從extradata中解析出sps及pps呢?ffmpeg中提供了一個流過濾器"h264_mp4toannexb"完成這項工作
?
https://blog.csdn.net/gavinr/article/details/7183499
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的ffmpeg 从mp4上提取H264的nalu的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux-进程切换,用户态进程,内核态
- 下一篇: FFmpeg音频编码 ---- pcm转