iOS IJKPlayer RTMP播放器的集成

前言

前些日子公司要做視頻直播揍瑟,一直也是項(xiàng)目的原因沒來得及整理內(nèi)容。周末閑暇時(shí)間特來寫篇文章,對(duì)IJKPlayer播放器的集成做一下歸納闽烙,希望對(duì)要做iOS視頻直播方向的童鞋們有所幫助蝗敢。

1捷泞、環(huán)境搭建

總結(jié)來說就是HomeBrew or MacPorts、git寿谴、yasm的安裝(Homebrew是Mac OSX上的軟件包管理工具锁右,當(dāng)時(shí)macOS Sierra剛剛出來我就手賤更新了,導(dǎo)致HomeBrew安裝出現(xiàn)了問題讶泰,所以采用了MacPorts咏瑟,官方推薦HomeBrew)。

這里我只做一下版本檢查:


version Screenshot

首先HomeBrew:

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

待HomeBrew安裝完畢即git痪署、yasm:

 brew install git
 brew install yasm

2.下載ijkplayer編譯

1码泞、 首先新建要下載的文件夾ijkplayer并cd到該目錄下。

2狼犯、 緊接著將ijkplayer文件克隆到新建的文件夾內(nèi)余寥,在終端輸入:

//git克隆
git clone https://github.com/Bilibili/ijkplayer.git ijkplayer-ios

//進(jìn)入ijkplayer-ios
cd ijkplayer-ios

//切換分支
git checkout -B latest k0.7.5

如圖所示:


download Screenshot

3领铐、下載ffmpeg并編譯

這一步比較糾結(jié)國外網(wǎng)絡(luò)訪問的問題,如果失敗就多試幾次宋舷。

//依然在ijkplayer-ios下載ffmpeg
./init-ios.sh

//進(jìn)入ios目錄
cd ios

這一步如果前面沒有問題绪撵,此時(shí)的terminal就像打了雞血一樣狂奔......
(注意中途會(huì)有n多個(gè)警告,但不要出錯(cuò)就沒問題)

//clean
./compile-ffmpeg.sh clean

//編譯
./compile-ffmpeg.sh all

成功走到這一步就離成功不遠(yuǎn)了祝蝠,按步驟走是不會(huì)出現(xiàn)問題的音诈,即便有大部分也是網(wǎng)絡(luò)的原因畢竟大天朝對(duì)國外的網(wǎng)絡(luò)都懂的。

3绎狭、demo的處理

1细溅、打開官方demo并運(yùn)行


file Screenshot

2、只要前面的流程沒報(bào)錯(cuò)坟岔,這里編譯運(yùn)行都不會(huì)出現(xiàn)問題:
可以在Online Samples中選擇一個(gè)m3u8測試ijkplayer是否運(yùn)行正常如圖:


Samples Screenshot

4谒兄、制作framework

1、打開ijkplayer如圖:


file Screenshot
file Screenshot

2社付、選擇edit scheme承疲,下圖:


edit Screenshot

3、將build configuration改為Release后點(diǎn)Close鸥咖,如圖:


Release Screenshot

4燕鸽、分別在模擬器和真機(jī)(Generic iOS Device也可以)上編譯:



5、打開framework所在的目錄:


6啼辣、看名字就知道一個(gè)是模擬器一個(gè)是真機(jī)啊研,此時(shí)cd到Products目錄:

//合并
lipo -create Release-iphoneos/IJKMediaFramework.framework/IJKMediaFramework Release-iphonesimulator/IJKMediaFramework.framework/IJKMediaFramework -output IJKMediaFramework
//將合并后的framework拷貝到iphoneos/IJKMediaFramework.framework中
cp IJKMediaFramework Release-iphoneos/IJKMediaFramework.framework/

7、此時(shí)framework就制作好了鸥拧,將制作好的iphoneos/IJKMediaFramework.framework復(fù)制到要集成的項(xiàng)目中Add Files...

8党远、在所在的項(xiàng)目中添加動(dòng)態(tài)庫


lib Screenshot

9、測試集成富弦,將本段代碼復(fù)制到ViewController.m中沟娱,可直接使用:

#import "ViewController.h"
#import <IJKMediaFramework/IJKFFMoviePlayerController.h>
@interface ViewController ()
@property(nonatomic,strong)IJKFFMoviePlayerController * player;
@end

@implementation ViewController

- (void)viewDidLoad {
[super viewDidLoad];

IJKFFOptions *options = [IJKFFOptions optionsByDefault]; //使用默認(rèn)配置
NSURL * url = [NSURL URLWithString:@"rtmp://live.hkstv.hk.lxdns.com/live/hks"]; 
self.player = [[IJKFFMoviePlayerController alloc] initWithContentURL:url withOptions:options]; //初始化播放器,播放在線視頻或直播(RTMP)
self.player.view.autoresizingMask = UIViewAutoresizingFlexibleWidth|UIViewAutoresizingFlexibleHeight;
self.player.view.frame = self.view.bounds;
self.player.scalingMode = IJKMPMovieScalingModeAspectFit; //縮放模式
self.player.shouldAutoplay = YES; //開啟自動(dòng)播放

self.view.autoresizesSubviews = YES;
[self.view addSubview:self.player.view];
}

- (void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
[self.player prepareToPlay];
}

-(void)viewDidDisappear:(BOOL)animated {
[super viewDidDisappear:animated];
[self.player shutdown];
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}

@end

OK完美收工:

3腕柜、github

地址在這https://github.com/henvyluk/IJKMediaPlayer,另附demo一份济似,望大神不吝賜教再會(huì)!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末盏缤,一起剝皮案震驚了整個(gè)濱河市砰蠢,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌唉铜,老刑警劉巖台舱,帶你破解...
    沈念sama閱讀 216,651評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異潭流,居然都是意外死亡竞惋,警方通過查閱死者的電腦和手機(jī)俩功,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,468評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來碰声,“玉大人,你說我怎么就攤上這事熬甫∫忍簦” “怎么了?”我有些...
    開封第一講書人閱讀 162,931評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵椿肩,是天一觀的道長瞻颂。 經(jīng)常有香客問我,道長郑象,這世上最難降的妖魔是什么贡这? 我笑而不...
    開封第一講書人閱讀 58,218評(píng)論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮厂榛,結(jié)果婚禮上盖矫,老公的妹妹穿的比我還像新娘。我一直安慰自己击奶,他們只是感情好辈双,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,234評(píng)論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著柜砾,像睡著了一般湃望。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上痰驱,一...
    開封第一講書人閱讀 51,198評(píng)論 1 299
  • 那天证芭,我揣著相機(jī)與錄音,去河邊找鬼担映。 笑死废士,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的另萤。 我是一名探鬼主播湃密,決...
    沈念sama閱讀 40,084評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼四敞!你這毒婦竟也來了泛源?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,926評(píng)論 0 274
  • 序言:老撾萬榮一對(duì)情侶失蹤忿危,失蹤者是張志新(化名)和其女友劉穎达箍,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體铺厨,經(jīng)...
    沈念sama閱讀 45,341評(píng)論 1 311
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡缎玫,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,563評(píng)論 2 333
  • 正文 我和宋清朗相戀三年硬纤,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片赃磨。...
    茶點(diǎn)故事閱讀 39,731評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡筝家,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出邻辉,到底是詐尸還是另有隱情溪王,我是刑警寧澤,帶...
    沈念sama閱讀 35,430評(píng)論 5 343
  • 正文 年R本政府宣布值骇,位于F島的核電站莹菱,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏吱瘩。R本人自食惡果不足惜道伟,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,036評(píng)論 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望使碾。 院中可真熱鬧蜜徽,春花似錦、人聲如沸票摇。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,676評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽兄朋。三九已至掐禁,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間颅和,已是汗流浹背眯勾。 一陣腳步聲響...
    開封第一講書人閱讀 32,829評(píng)論 1 269
  • 我被黑心中介騙來泰國打工眷唉, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,743評(píng)論 2 368
  • 正文 我出身青樓怔接,卻偏偏與公主長得像棋电,于是被迫代替她去往敵國和親橙困。 傳聞我的和親對(duì)象是個(gè)殘疾皇子依啰,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,629評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,079評(píng)論 25 707
  • 前言 因?yàn)轫?xiàng)目的關(guān)系,在5個(gè)月前寫了一篇關(guān)于ijkplayer集成的文案训,當(dāng)時(shí)是以個(gè)人筆記的形式修改后發(fā)出來的买置,寫的...
    白熊閱讀 19,789評(píng)論 64 89
  • 前言ijkplayer框架是專門用來做 視頻直播 的開源框架,基于ffmpeg强霎,同時(shí)支持 Android 和 iO...
    XDLee閱讀 7,395評(píng)論 23 35
  • 這次要說的是一個(gè)很簡單但是很有用的小技巧忿项,不知道偶然看到文章的各位是不是都已經(jīng)知道了。已經(jīng)知道的就可以略過了。 一...
    AlphaGao閱讀 569評(píng)論 3 3
  • 一場永遠(yuǎn)的革命 在實(shí)現(xiàn)工業(yè)化的同時(shí)轩触,人類沒有停止對(duì)自然的索取和破壞寞酿。和幾萬年前放火燒林的智人一樣,現(xiàn)在的人類砍伐森...
    讀者_(dá)在路上閱讀 1,276評(píng)論 0 1