ijkplayer小白的學習筆記(一)

????????近來在抄抖音短首頁短視頻部分,用騰訊的TXVodPlayer做了一版,七牛PLPlayer做了一版,現在在開始想認真地優(yōu)化一下這個部分,對于上述兩個播放器,始終并非開源的產品,于是現在打算窺探一下Bilibili基于FFMpeg的ijkPlayer播放器。基于近來老年癡呆癥日漸嚴重,還是把整個過程做個筆記寫下來記錄一下。

? ? ? ? 第一步,首先安裝homebrew、git、yasm、pkg-config等工具,TMD在自己的手提安裝這些東西完全沒阻礙整個流程順滑如絲,但用手上公司這臺電路卻一路遇坑,安裝個homebrew,各種權限問題,各種路徑錯誤。把朕折騰了半個鐘頭。http://www.itdecent.cn/p/8bcd99042b7c

? ? 安裝完homebrew后,各種brew install,such as:brew install yasm、brew install pkg-config、brew install git

? ? 第二步,然后就到了在githup上下載ijkplayer:https://github.com/Bilibili/ijkplayer

? ? cd 進你要安裝的路徑,然后git clone?https://github.com/Bilibili/ijkplayer

? ? 第三步,下載完ijkplayer后,cd 進ijkplayer根目錄,然后下載ffmpege

? ? 下載命令為:./init-ios.sh

? ? 第四步,下載完ffmpege后,cd 進里面的一個ios文件夾

? ??./compile-ffmpeg.sh clean

? ? 完后了編譯ffmpege

? ? 編譯命令為:./compile-ffmpeg.sh all

? ? 然后,耐心等到坑的來臨,好的,坑來了:

不知為啥就是編譯不了,貌似網上也不是每個人都遇到這種情況,知道原因請告訴我,各種嘗試后,命令重新選擇Xcode,sudo xcode-select --switch /Applications/Xcode.app,奇跡般地越過這個坑。

同學,過坑了開心么,等會,越過坑,等待你的,必然是另一個坑。。。。

armv7,32位的東西,貌似不支持

打開ios文件夾,點開compile-ffmpeg.sh

打下圖原有的armv7去掉,弄成當前圖中的模樣,筆者這兩圖已去掉

重新編譯ffmepge.....

編譯成功后,重新打開ijkplayer的demo,跑起來,如絲般順滑。

ijkplayer的demo

最后一步了,要把ijkplayer為我所用,打包成framework.

1.打開IJKMediaPlayer工程,隨便真機或者模擬器build 一下,它娘親馬上給你報錯,弄了一輪是不是很想砸東西?反正我是......

報avconfig.h not find啊,找不到armv7之類一堆,然后我不知道網上他們是怎樣關聯跳到avconfig.h文件和config.h文件的,朕只能在ijkplayer的文件夾里面搜索這兩個文件,把里面的armv7注釋掉

然后build一下,succeed了····

選到release狀態(tài)把模擬器和真機各build一次,把兩個庫合并。

把合并出來的IJKMediaFramework隨便扔到release ??IJKMediaFramework.framework里替換掉,最后把這IJKMediaFramework.framework拖到你自己的工程里面去用,別以為搞掂吃碗面,默認的debug版里真機模擬器都能跑,但你把測試工程換成release真機,它娘的又給你報一個armv7的錯,哎,你煩不煩啊到底!!

在buildsetting里,搜索valid archi...如上圖,把32位的armv7去掉,跑起來嗎,OK了

他是要多恨32位,要趕盡殺絕?。。。。。?!

至此,也并非沒有問題,真tm的煩人?。。。?!

如果你是直接開一個新project來玩來試,直接把player建在根路徑默認的viewcontroller,他只有聲音沒有畫面,但是你跳轉到非根路徑,他就能順滑如絲地跑起來了,到底什么卵問題呢?能否指教下小弟,萬分感激。

把ijkplayer的framework放在新開的項目試驗,在非root控制器跑起來順滑如絲


完,等朕下周開始瞧瞧這個播放器的具體用法!?。?/p>

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

相關閱讀更多精彩內容

友情鏈接更多精彩內容