iOS ijkplayer設置rtmp秒開

應用場景,之前項目中集成ijkplayer播放直播流,每次開啟都很慢,大概需要五到十秒。

剛好最近在研究ijkplayer,就順帶把這個問題順帶解決了。

 IJKFFOptions *options=[IJKFFOptions optionsByDefault];

//不限制輸入緩存區大小

[optionssetOptionIntValue:1 forKey:@"infbuf" ofCategory:kIJKFFOptionCategoryPlayer];

//最大緩存區大小

[optionssetOptionIntValue:1024 forKey:@"maxx-buffer-size" ofCategory:kIJKFFOptionCategoryPlayer];

//設置rtmp的來源

[optionssetOptionValue:[YPGlobalObject shareInstance].bundleIdentifier forKey:@"rtmp_pageurl" ofCategory:kIJKFFOptionCategoryFormat];

//底下這幾句補上,可以大大提高ijkplayer打開直播流的速度

[optionssetOptionIntValue:100L forKey:@"analyzemaxduration" ofCategory:1];

[optionssetOptionIntValue:10240L forKey:@"probesize" ofCategory:1];

[optionssetOptionIntValue:1L forKey:@"flush_packets" ofCategory:1];

[optionssetOptionIntValue:0L forKey:@"packet-buffering" ofCategory:4];

[optionssetOptionIntValue:1L forKey:@"framedrop" ofCategory:4];

在ffplay播放時,如果加上-fflags nobuffer可以縮短播放的rtmp視頻延遲甚至能達到在1s內播放的效果。同樣,只要是基于ffmpeg中的ffplay播放器,都可以通過加上類似設置達到這個效果。比如在PLDroidPlayer當中,也可以加入這個選項:

AVOptions options = new AVOptions();

options.setInteger(AVOptions.VALUE_FFLAGS_NOBUFFER, 1);

options.setInteger(AVOptions.KEY_PROBESIZE,10240);

借鑒于:https://blog.csdn.net/lp8800/article/details/65629187

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。