集成ijkplayr到iOS

記錄我做直播的腳印

1.下載ijkplayer到本地

2.用命令cd ijkplayer打開目錄

//查看目錄下邊的文件


$ ls 
COPYING.GPLv2       compile-android-j4a.sh  init-android-openssl.sh
COPYING.GPLv3       config          init-android-prof.sh
COPYING.LGPLv2.1        doc             init-android.sh
COPYING.LGPLv2.1.txt    extra           init-config.sh
COPYING.LGPLv3      ijkmedia            init-ios-openssl.sh
MODULE_LICENSE_APACHE2  ijkprof         init-ios.sh
NEWS.md         init-android-exo.sh     ios
NOTICE          init-android-j4a.sh     tools
README.md           init-android-libsoxr.sh version.sh
android         init-android-libyuv.sh

3.下載ffmpeg

執(zhí)行命令 ./init-ios.sh


 
$ ./init-ios.sh   
git version 2.8.4 (Apple Git-73)
== pull gas-preprocessor base ==
Cloning into 'extra/gas-preprocessor'...
remote: Counting objects: 440, done.
remote: Total 440 (delta 0), reused 0 (delta 0), pack-reused 440
Receiving objects: 100% (440/440), 72.66 KiB | 46.00 KiB/s, done.
Resolving deltas: 100% (191/191), done.
Checking connectivity... done.
== pull ffmpeg base ==
Cloning into 'extra/ffmpeg'...

remote: Counting objects: 494448, done.
remote: Total 494448 (delta 0), reused 0 (delta 0), pack-reused 494448
Receiving objects: 100% (494448/494448), 179.12 MiB | 2.87 MiB/s, done.
Resolving deltas: 100% (382172/382172), done.
Checking connectivity... done.
== pull ffmpeg fork armv7 ==
Cloning into 'ios/ffmpeg-armv7'...
Checking connectivity... done.
Counting objects: 494448, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (111157/111157), done.
Writing objects: 100% (494448/494448), done.
Total 494448 (delta 382172), reused 494448 (delta 382172)
Switched to a new branch 'ijkplayer'
/Users/Jerry/Downloads/ijkplayer-master
== pull ffmpeg fork arm64 ==
Cloning into 'ios/ffmpeg-arm64'...
Checking connectivity... done.
Counting objects: 494448, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (111157/111157), done.
Writing objects: 100% (494448/494448), done.
Total 494448 (delta 382172), reused 494448 (delta 382172)
Switched to a new branch 'ijkplayer'
/Users/Jerry/Downloads/ijkplayer-master
== pull ffmpeg fork i386 ==
Cloning into 'ios/ffmpeg-i386'...
Checking connectivity... done.
Counting objects: 494448, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (111157/111157), done.
Writing objects: 100% (494448/494448), done.
Total 494448 (delta 382172), reused 494448 (delta 382172)
Switched to a new branch 'ijkplayer'
/Users/Jerry/Downloads/ijkplayer-master
== pull ffmpeg fork x86_64 ==
Cloning into 'ios/ffmpeg-x86_64'...
Checking connectivity... done.
Counting objects: 494448, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (111157/111157), done.
Writing objects: 100% (494448/494448), done.
Total 494448 (delta 382172), reused 494448 (delta 382172)
Switched to a new branch 'ijkplayer'
/Users/Jerry/Downloads/ijkplayer-master

4.編譯ffmoeg

cd ios ./compile-ffmpeg.sh clean ./compile-ffmpeg.sh all

//

$ ./compile-ffmpeg.sh clean
====================
[*] check xcode version
====================
FF_ALL_ARCHS = armv7 arm64 i386 x86_64
==================
clean ffmpeg-armv7
==================
/Users/Jerry/Downloads/ijkplayer-master/ios
clean ffmpeg-arm64
==================
/Users/Jerry/Downloads/ijkplayer-master/ios
clean ffmpeg-i386
==================
/Users/Jerry/Downloads/ijkplayer-master/ios
clean ffmpeg-x86_64
==================
/Users/Jerry/Downloads/ijkplayer-master/ios
clean build cache
=================
clean success

//編譯各個版本成靜態(tài)庫
./compile-ffmpeg.sh all

因?yàn)樾畔⑻嗔?我就沒復(fù)制。

添加靜態(tài)庫:


屏幕快照 2016-12-23 下午1.28.08.png

5.現(xiàn)在ffmpeg已經(jīng)編譯成功

可以在你的工程導(dǎo)入IJKMediaFramework可以運(yùn)行ijkplayer的demo 了。

屏幕快照 2016-12-23 下午1.31.22.png

6.制作IJKMediaFramework靜態(tài)庫。

1.按照圖示的路徑打開項(xiàng)目
項(xiàng)目路徑
2.設(shè)置release
選擇target

設(shè)置release
3.對模擬器和真機(jī)分別運(yùn)行

選擇文件夾右鍵->show in finder

找到prodects右鍵-》show in finder

將文件夾Release-iphones 和Release-iphonesimulator中的文件合并。
真機(jī)的靜態(tài)庫:


真機(jī)的靜態(tài)庫

模擬器的靜態(tài)庫:

模擬器 的靜態(tài)庫

合并的命令:
lipo -create "真機(jī)版本路徑" "模擬器版本路徑" -output "合并后的文件路徑"
我自己的命令:

lipo -create /Users/Jerry/Library/Developer/Xcode/DerivedData/IJKMediaDemo-ejjmowghejcpthhaznyhnoshrphz/Build/Products/Release-iphonesimulator/IJKMediaFramework.framework/IJKMediaFramework  /Users/Jerry/Library/Developer/Xcode/DerivedData/IJKMediaDemo-ejjmowghejcpthhaznyhnoshrphz/Build/Products/Release-iphoneos/IJKMediaFramework.framework/IJKMediaFramework -output /Users/Jerry/Desktop/IJKMediaFramework

然后將合并成功的靜態(tài)庫替換剛才Release-iphoneos->IJKMediaFramework-->IJKMediaFramework。
這個framework就可以使用了。
我是已經(jīng)合并成功的。可以直接下載使用[包含真機(jī)和模擬器]
下載地址
文件較大,所以暫時(shí)用了百度網(wǎng)盤。

7.測試是否正常使用。

測試的時(shí)候新建的工程要添加好了那些lib,然后導(dǎo)入剛才合成的framework

測試可以正常使用

大家可以下載demo運(yùn)行一下

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 前言ijkplayer框架是專門用來做 視頻直播 的開源框架,基于ffmpeg,同時(shí)支持 Android 和 iO...
    XDLee閱讀 7,620評論 23 36
  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫、插件、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 15,426評論 4 61
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,177評論 25 708
  • 夢里的花開了 似火一般嬌艷熱烈 搖曳著夢想的翻槳 一代一代 健壯的漁人 打翻了裝著錢幣的桶子 波浪在漁人的頭頂上翻...
    蕓蕓吶閱讀 276評論 9 5
  • 掐指一算今天是來美帝的第十天了。我自己都嚇一跳,時(shí)間怎么過的這么快,明明昨天越哥才來機(jī)場接機(jī)、我才第一次聽到li...
    潛伏的萱哥閱讀 553評論 0 1

友情鏈接更多精彩內(nèi)容