您好,登錄后才能下訂單哦!
[h364 @ 04241fc0] top block unavailable for requested intra mode
[h364 @ 04241fc0] error while decoding MB 2 0, bytestream 243592
[h364 @ 04241fc0] concealing 8160 DC, 8160 AC, 8160 MV errors in I frame
[h364 @ 036da7a0] top block unavailable for requested intra mode
[h364 @ 036da7a0] error while decoding MB 87 0, bytestream 13676
[h364 @ 036da7a0] concealing 8122 DC, 8122 AC, 8122 MV errors in P frame
[swscaler @ 054140c0] deprecated pixel format used, make sure you did set range correctly
[h364 @ 0447a540] concealing 7913 DC, 7913 AC, 7913 MV errors in P frame
[h364 @ 0447a960] top block unavailable for requested intra modetop block unavailable for requested intra mode -1
[h364 @ 0447a960] error while decoding MB 52 0, bytestream 18938
背景知識
IDR: 在H.264中,圖像以序列為單位進行組織。一個序列的第一個圖像叫做 IDR 圖像(立即刷新圖像),IDR 圖像都是 I 幀圖像。H.264 引入 IDR 圖像是為了解碼的重同步,當×××解碼到 IDR 圖像時,立即將參考幀隊列清空,將已解碼的數據全部輸出或拋棄,重新查找參數集,開始一個新的序列。這樣,如果前一個序列出現重大錯誤,在這里可以獲得重新同步的機會。IDR圖像之后的圖像永遠不會使用IDR之前的圖像的數據來解碼。IDR 圖像一定是 I 圖像,但 I 圖像不一定是 IDR 圖像。I幀之后的圖像有可能會使用I幀之前的圖像做運動參考。
NALU類型
標識NAL單元中的RBSP數據類型,其中,nal_unit_type為1, 2, 3, 4, 5及12的NAL單元稱為VCL的NAL單元,其他類型的NAL單元為非VCL的NAL單元。
0:未規定
1:非IDR圖像中不采用數據劃分的片段
2:非IDR圖像中A類數據劃分片段
3:非IDR圖像中B類數據劃分片段
4:非IDR圖像中C類數據劃分片段
5:IDR圖像的片段
6:補充增強信息 (SEI)
7:序列參數集
8:圖像參數集
9:分割符
10:序列結束符
11:流結束符
12:填充數據
13 – 23:保留
24 – 31:未規定
av_read_frame函數打印當前接收的NALU單元的類型
nal_unit_type: 7, nal_ref_idc: 3
nal_unit_type: 8, nal_ref_idc: 3
nal_unit_type: 6, nal_ref_idc: 0
nal_unit_type: 5, nal_ref_idc: 3
說明I幀前面就會有SPS/PPS圖像參數的相關信息,實際上當收到I幀,也就可以解碼出圖像(會根據前面的SPS/PPS參數進行解碼參數的設置),雖然FFmpeg內部會緩沖幾幀,但是緩沖的幀速度還是
很快的根本不需要考慮延時
當然,如果是播放文件的話,在播放結束后,要想取出來就需要傳遞空的AVPacket進去,需要調用avcodec_send_packet(pAVCodecContext, NULL)
才能夠播放完畢
參考
http://www.bubuko.com/infodetail-2106896.html
https://www.cnblogs.com/lidabo/p/4582040.html
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。