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