【FFmpeg】FFmpeg编解码H264产生马赛克、伪影的解决方法
生活随笔
收集整理的這篇文章主要介紹了
【FFmpeg】FFmpeg编解码H264产生马赛克、伪影的解决方法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1、問題描述
使用FFmpeg編碼H264,再解碼顯示時,產生馬賽克:有時是在畫面靜止時,靜止時間越長,馬賽克、偽影越多;有時是在畫面切入切出時;有時是在網絡帶寬不夠時
2、原因分析
2.1 丟幀
網絡狀況差的情況下(帶寬不足),容易丟幀,在視頻畫面播放過程中,若I幀丟失了,則后面的P幀也就隨著解不出來,就會出現視頻畫面黑屏的現象;若P幀丟失了,則視頻畫面會出現花屏、馬賽克等現象。
如果不想看到馬賽克,需要等待下一個I幀或者通知發送端重發IDR幀。
關于I幀、P幀、IDR幀等概念參見下面的博客:
I幀、P幀、B幀、GOP、IDR 和PTS, DTS之間的關系
2.2 量化噪聲
量化噪聲:也叫壓縮偽影:詳見博客:量化參數QP與量化噪聲(壓縮偽影)
網絡狀況好的情況下(帶寬足夠),編碼的圖像質量差,尤其是靜止畫面,偽影逐漸變多。這種情況下,一個可能的原因是量化參數QP導致,誘因是非固定碼率模式下,碼率降低。
實際上現有的碼率控制算法主要是通過調整離散余弦變換的量化參數大小輸出目標碼 率。實際上,量化參數(QP)反映了空間細節壓縮情況,如 QP 小,大部分的細節都會被保留&#
總結
以上是生活随笔為你收集整理的【FFmpeg】FFmpeg编解码H264产生马赛克、伪影的解决方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【FFmpeg】ffmpeg工具源码分析
- 下一篇: 【Qt】QtCreator update