最近在做直播的時(shí)候發(fā)現(xiàn)缩滨,播放端畫面經(jīng)常會(huì)出現(xiàn)很小的方塊柏腻,就像一個(gè)個(gè)很小的馬賽克一樣纸厉,導(dǎo)致的結(jié)果是主播的臉有時(shí)候很光滑有時(shí)候像麻子一樣,這怎么能忍呢五嫂?其實(shí)人家根本沒有那么丑颗品。
直接用ffplay播放則是一切正常,只有在我們的客戶端才有這個(gè)問題沃缘。我們用的是ijkplayer抛猫,與ffplay同樣都是基于ffmepg,可以定位到是播放器參數(shù)的問題孩灯。
經(jīng)過一頓操作闺金,定位到下面這行代碼:
[options setOptionValue:@"48" forKey:@"skip_loop_filter" ofCategory:kIJKFFOptionCategoryCodec];
loop_filter
是指環(huán)路濾波, 主要是用于畫面去塊.
skip_loop_filter
是指對(duì)指定幀不做環(huán)路濾波, 可以節(jié)省CPU.
其中48是指AVDISCARD_ALL
, 所有幀都不做環(huán)路濾波,所以出來的畫面會(huì)有一個(gè)個(gè)小方塊峰档,最后直接把這行代碼干掉解決問題败匹。