ubuntu 14 編譯視頻第三方庫ijkplayer,能夠在winows下使用

來源:互聯網
上載者:User

標籤:依據   tools   升級   ffmpeg   oca   mil   black   文章   san   

1.先安裝相關環境,詳細在這裡http://blog.163.com/[email protected]/blog/static/98334653201612310647799/ 依據上面那個安裝之後,會直接有個eclipse+sdk。sdk那個僅僅有一個版本號碼可是臨時不用去升級。不影響。


2.依據這個官方https://github.com/Bilibili/ijkplayer 的api要求去下載個ndk r10e :http://blog.csdn.net/ultrapro/article/details/46008805 依據你ubuntu安裝是多少位來下載,我的是64位的。所下面載android-ndk-r10e-linux-x86_64.bin 3.通過命令去安裝ndk。

3.1 下載好後,直接拉進去ubuntu 裡面
3.2  開啟控制台,由於直接在根資料夾下了。所以直接使用chmod a+x android-ndk-r10e-linux-x86_64.bin然後右擊查看路徑,輸入:/home/admins/android-ndk-r10e-linux-x86_64.bin等他安裝好就能在這個檔案夾裡面看到他了  4.環境變數設定4.1 直接在根資料夾,alt+h,顯示隱藏檔案,找到.bashrc檔案。加入下面環境變數

  1. export ANDROID_SDK=~/Development/adt-bundle-linux-x86-20130917/sdk  
  2. export ANDROID_NDK=~/Development/android-ndk-r9b  
  3. export PATH=$PATH:$ANDROID_SDK:$ANDROID_NDK:$ANDROID_SDK/platform-tools/  
詳細的檔案名稱依據實際來。由於sdk之前我們已經有了,所以也是須要配置的。配置完畢後長這樣:
 儲存下就OK了5.之後就進入怎麼編譯第三方庫ijkplayer
5.1確保你的機器上已經安裝了git和yasm,假設沒有請在終端運行下面命令:sudo apt-get updatesudo apt-get install gitsudo apt-get install yasm
5.2確保設定檔裡ANDROID_SDK=xxx和ANDROID_NDK=xxx正確(註:聲明路徑變數的名字一定要以ANDROID_SDK和ANDROID_NDK命名,否則後邊的編譯會出問題,我的路徑都聲明在了.bashrc中)5.3 首先從Bilibili在github上的程式碼程式庫中可隆一份原始碼git clone https://github.com/Bilibili/ijkplayer.git ijkplayer-android (註:須要點時間下載5.4  cd ijkplayer-android (註:定位到此檔案夾下)5.5  切換分支

git checkout -B latest k0.4.5

5.6 運行命令

./init-android.sh

注意:這裡有可能會出現這個問題:

 解決方式:

開啟/ijkplayer-android/tools下的pull-repo-ref.sh檔案:

將 “ --dissociate ” 刪掉

[cpp] view plain copyprint?

  1. REMOTE_REPO=$1  
  2. LOCAL_WORKSPACE=$2  
  3. REF_REPO=$3  
  4. if [ -z $1 -o -z $2 -o -z $3 ]; then  
  5.     echo "invalid call pull-repo.sh ‘$1‘ ‘$2‘ ‘$3‘"  
  6. elif [ ! -d $LOCAL_WORKSPACE ]; then  
  7.     git clone--dissociate --reference $REF_REPO $REMOTE_REPO $LOCAL_WORKSPACE#將--dissociate刪掉  
  8.     cd$LOCAL_WORKSPACE  
  9.     git repack -a  
  10. else  
  11.     cd $LOCAL_WORKSPACE  
  12.     git fetch --all --tags  
  13.     cd -  
  14. fi  
  15. #! /usr/bin/env bash  

然後儲存檔案。再次運行./init-android.sh 接著繼續進行......

或者升級git到最新版本號碼,當中會支援“dissociate”命令


5.7 下載好後,運行

cd android/contrib./compile-ffmpeg.sh clean./compile-ffmpeg.sh all  (註:all是編譯全部cpu下支援的庫。是能夠選擇的,這裡我們還是選預設,假設你的ANDROID_SDK=xxx和ANDROID_NDK=xxx的路徑沒有問題話。就開始成功運行編譯了。

這是個漫長的等待過程)

最後出現,恭喜能夠進行下一步了。

依照的提示。我們回到ijkplayer-android/android的檔案夾下,運行這個指令碼

cd ..

./compile-ijk.sh all (註:假設去掉all則僅僅會編譯出armv7a架構的so檔案,否則會是所有)

上述所有的命令所有運行成功後,如今就能夠/ijkplayer-android/android/檔案夾下的ijkplayer匯入Android Studio中了。

特此更新一下:

我在其它文章中都是到這裡就完了,在ubuntu中,依照上面編譯完畢之後就是能夠執行的了,可是無奈我的電腦太卡。或者習慣在winows下使用as的同學要怎麼辦根本沒寫,這裡我試了下。用以下這樣的方法就能夠將編譯好的項目拿到winows下使用了:

1.首先我們要直接在winows下,下載整個項目:https://github.com/Bilibili/ijkplayer

2.匯入到as裡面,這個時候你執行到播放器這裡就會掛掉,沒關係。

3.我們看下編譯好的支援庫裡面會產生什麼

這裡我們選擇當中一個arm64 ,產生了libs和obj兩個目錄

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" style="border:0px; height:auto">

另一個比較重要的是他會在jni產生一個新的.mk檔案,這個mk等下會用到


4.開啟as我們如今這個坑爹項目,將在ubuntu裡面編譯好的libs、obj 複製過來。還有jni下的Android.mk覆蓋掉原來那個

我選擇的是arm-64。其它的支援庫也是一樣的


5.然後再執行一次。你就能夠盡情的玩了~~哈哈


參考了下面文章:

http://www.jianshu.com/p/b447f6601501

http://blog.csdn.net/liuyuejinqiu/article/details/50728013

https://github.com/Bilibili/ijkplayer

最後:另一個將其改動為eclipse可用的教程附上:

http://blog.csdn.net/fatiao101/article/details/49586379

ubuntu 14 編譯視頻第三方庫ijkplayer,能夠在winows下使用

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.