ffmpeg avcodec_decode_video2 解碼失敗


最近在研究ffmpeg 編解碼,記錄下遇到的一些問題。

 

MP4解碼播放

1.在網上找的解碼播放代碼,打開一個MP4文件,讀取媒體格式信息,讀取幀數據,解碼,貼圖顯示,這些都很順利。

2.想着把這塊的內容封裝一下,可以直接播放H264流,但是在這里花了一些時間,播放H264裸流文件是沒有問題的,但是從MP4文件里面提取H264文件播放就不行了,主要是網上找到的一些東西說的不太准確。

  a.av_read_frame讀取MP4文件出來的數據,avpacket.data里面包含的可能不止一幀,這個可以根據前面4個字節判斷一下。

  b.獲取avpacket.data里面的每一幀,然后把前四個字節(一幀的長度)改成00000001解碼播放也是不行。avcodec_decode_video2函數返回大於0,但是got_picture_prt為0,也就是說沒有解出來數據。主要是因為沒有先把SPS和PPS發送給avcodec_decode_video2。(用其它工具獲取的H264文件里面都有保存SPS和PPS的)。

3.這里還有一個ffpeg + SDL音頻解碼播放的列子。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM