IjkPlayer播放器秒開優(yōu)化以及常用Option設(shè)置

ijkplayer和ffplay在打開rtmp串流視頻時,大多數(shù)都會遇到5~10秒的延遲菱皆,在ffplay播放時须误,如果加上-fflags nobuffer可以縮短播放的rtmp視頻延遲在1s內(nèi),而在IjkMediaPlayer中加入

mediaPlayer.setOption(1, "analyzemaxduration", 100L);  
mediaPlayer.setOption(1, "probesize", 10240L);  
mediaPlayer.setOption(1, "flush_packets", 1L);  
mediaPlayer.setOption(4, "packet-buffering", 0L);  
mediaPlayer.setOption(4, "framedrop", 1L);  

1: 設(shè)置是否開啟變調(diào)

mediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_PLAYER,"soundtouch",isModifyTone?0:1);

2:設(shè)置是否開啟環(huán)路過濾: 0開啟仇轻,畫面質(zhì)量高京痢,解碼開銷大,48關(guān)閉篷店,畫面質(zhì)量差點祭椰,解碼開銷小

mediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_CODEC,"skip_loop_filter",isSkipLoopFilter?0:48L);

3:設(shè)置播放前的最大探測時間

mediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_FORMAT,"analyzemaxduration",100L);

4:設(shè)置播放前的探測時間 1,達(dá)到首屏秒開效果

mediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_FORMAT,"analyzeduration",1);

5:播放前的探測Size,默認(rèn)是1M, 改小一點會出畫面更快

mediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_FORMAT,"probesize",1024*10);

6:每處理一個packet之后刷新io上下文

mediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_FORMAT,"flush_packets",1L);

7: 是否開啟預(yù)緩沖疲陕,一般直播項目會開啟方淤,達(dá)到秒開的效果,不過帶來了播放丟幀卡頓的體驗

mediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_PLAYER,"packet-buffering",isBufferCache?1:0);

8:播放重連次數(shù)

mediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_PLAYER,"reconnect",5);

9:最大緩沖大小,單位kb

mediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_PLAYER,"max-buffer-size",maxCacheSize);

10:跳幀處理,放CPU處理較慢時蹄殃,進(jìn)行跳幀處理携茂,保證播放流程,畫面和聲音同步

mediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_PLAYER,"framedrop",5);

11:最大fps

mediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_PLAYER,"max-fps",30);

12:設(shè)置硬解碼方式

jkPlayer支持硬解碼和軟解碼诅岩。 軟解碼時不會旋轉(zhuǎn)視頻角度這時需要你通過onInfo的what == IMediaPlayer.MEDIA_INFO_VIDEO_ROTATION_CHANGED去獲取角度讳苦,自己旋轉(zhuǎn)畫面》郧或者開啟硬解硬解碼医吊,不過硬解碼容易造成黑屏無聲(硬件兼容問題),下面是設(shè)置硬解碼相關(guān)的代碼

mediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_PLAYER, "mediacodec", 1);

mediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_PLAYER, "mediacodec-auto-rotate", 1);

mediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_PLAYER, "mediacodec-handle-resolution-change", 1);

13.SeekTo設(shè)置優(yōu)化

某些視頻在SeekTo的時候逮京,會跳回到拖動前的位置卿堂,這是因為視頻的關(guān)鍵幀的問題,通俗一點就是FFMPEG不兼容,視頻壓縮過于厲害草描,seek只支持關(guān)鍵幀览绿,出現(xiàn)這個情況就是原始的視頻文件中i 幀比較少

mediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_PLAYER, "enable-accurate-seek", 1);

14. 解決m3u8文件拖動問題 比如:一個3個多少小時的音頻文件,開始播放幾秒中穗慕,然后拖動到2小時左右的時間饿敲,要loading 10分鐘

mediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_FORMAT, "fflags", "fastseek");//設(shè)置seekTo能夠快速seek到指定位置并播放

重要記錄,問題列表

1. 設(shè)置之后逛绵,高碼率m3u8的播放卡頓怀各,聲音畫面不同步,或者只有畫面术浪,沒有聲音瓢对,或者聲音畫面不同步

//某些視頻在SeekTo的時候,會跳回到拖動前的位置胰苏,這是因為視頻的關(guān)鍵幀的問題硕蛹,通俗一點就是FFMPEG不兼容,視頻壓縮過于厲害硕并,seek只支持關(guān)鍵幀法焰,出現(xiàn)這個情況就是原始的視頻文件中i 幀比較少
mediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_PLAYER, "enable-accurate-seek", 1);
//播放前的探測Size,默認(rèn)是1M, 改小一點會出畫面更快
mediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_FORMAT, "probesize", 1024 * 10);

作者:GexYY
鏈接:http://www.reibang.com/p/843c86a9e9ad
來源:簡書
著作權(quán)歸作者所有倔毙。商業(yè)轉(zhuǎn)載請聯(lián)系作者獲得授權(quán)埃仪,非商業(yè)轉(zhuǎn)載請注明出處。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末陕赃,一起剝皮案震驚了整個濱河市贵试,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌凯正,老刑警劉巖毙玻,帶你破解...
    沈念sama閱讀 216,470評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異廊散,居然都是意外死亡桑滩,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,393評論 3 392
  • 文/潘曉璐 我一進(jìn)店門允睹,熙熙樓的掌柜王于貴愁眉苦臉地迎上來运准,“玉大人,你說我怎么就攤上這事缭受⌒舶模” “怎么了?”我有些...
    開封第一講書人閱讀 162,577評論 0 353
  • 文/不壞的土叔 我叫張陵米者,是天一觀的道長韭畸。 經(jīng)常有香客問我宇智,道長,這世上最難降的妖魔是什么胰丁? 我笑而不...
    開封第一講書人閱讀 58,176評論 1 292
  • 正文 為了忘掉前任随橘,我火速辦了婚禮,結(jié)果婚禮上锦庸,老公的妹妹穿的比我還像新娘机蔗。我一直安慰自己,他們只是感情好甘萧,可當(dāng)我...
    茶點故事閱讀 67,189評論 6 388
  • 文/花漫 我一把揭開白布萝嘁。 她就那樣靜靜地躺著,像睡著了一般扬卷。 火紅的嫁衣襯著肌膚如雪牙言。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,155評論 1 299
  • 那天邀泉,我揣著相機與錄音,去河邊找鬼钝鸽。 笑死汇恤,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的拔恰。 我是一名探鬼主播因谎,決...
    沈念sama閱讀 40,041評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼颜懊!你這毒婦竟也來了财岔?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,903評論 0 274
  • 序言:老撾萬榮一對情侶失蹤河爹,失蹤者是張志新(化名)和其女友劉穎匠璧,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體咸这,經(jīng)...
    沈念sama閱讀 45,319評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡夷恍,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,539評論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了媳维。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片酿雪。...
    茶點故事閱讀 39,703評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖侄刽,靈堂內(nèi)的尸體忽然破棺而出指黎,到底是詐尸還是另有隱情,我是刑警寧澤州丹,帶...
    沈念sama閱讀 35,417評論 5 343
  • 正文 年R本政府宣布醋安,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏茬故。R本人自食惡果不足惜盖灸,卻給世界環(huán)境...
    茶點故事閱讀 41,013評論 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望磺芭。 院中可真熱鬧赁炎,春花似錦、人聲如沸钾腺。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,664評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽放棒。三九已至姻报,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間间螟,已是汗流浹背吴旋。 一陣腳步聲響...
    開封第一講書人閱讀 32,818評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留厢破,地道東北人荣瑟。 一個月前我還...
    沈念sama閱讀 47,711評論 2 368
  • 正文 我出身青樓,卻偏偏與公主長得像摩泪,于是被迫代替她去往敵國和親笆焰。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,601評論 2 353