Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android邊緩沖邊播放視頻(ijkplayer的編譯和使用)

Android邊緩沖邊播放視頻(ijkplayer的編譯和使用)

編輯:關於Android編程

 

 

感謝哔哩哔哩團隊不吝開放出來。此文主要用於幫助之後需要編譯ijkplayer的同學,少走一點彎路。

 

首先交代一下我這邊編譯的環境:

Ubuntu 14.04 64位

ANDROID_SDK 和 ANDROID_NDK (特指NDK r10e),這個很重要千萬不要弄到ndk_r9d

 

編譯ijkplayer其實並沒有網上那麼多的問題,之所以有問題 基本都是環境導致的。

接著我們按照github上的來操作。

0. 准備工作

(1)沒裝 git 的同學,裝 git 咯(apt-get install git)

(2)裝make 和 yasm (這裡我要強調的是yasm 記得它的版本一定要是1.2.0,否則不行)

准備工作做好了,就可以開始了

 

1. 你需要將github上的代碼clone下來, 放在文件夾ijkplayer中

 

git clone https://github.com/Bilibili/ijkplayer.git ijkplayer_android

 

 

2. 做一些初始化動作

cd config
rm module.sh //這個文件刪除掉
ln -s module-default.sh module.sh
cd android/contrib
sh compile-ffmpeg.sh clean

 

sudo dpkg-reconfigure dash , 選擇 No

 

3.接著運行android編譯ijkplayer所需要的初始化腳本(其實就是為了把ffmpeg相關的下載下來【跟視頻流相關的】)

到項目主目錄ijkplayer_android下,執行 sh ./init-android.sh ,然後只要放著下載了,這邊理論上你要所有的都下載好而且沒錯誤,才可以進行下一步,如果中間有錯誤千萬別進行下一步,沒有用的。

 

4.完了之後, cd android/contrib 目錄下

執行 sh ./compile-ffmpeg clean

然後再執行 sh ./compile-ffmpeg all // all表示所有cpu類型的平台都進行編譯。也可以寫指定的。

 

【這邊期間可能會遇到很多比如什麼x86裡面有個錯誤,如下---這個我的分析就是你的yasm的版本不是1.2.0】

In file included from libavcodec/x86/mpegvideoenc.c:83:0:
libavcodec/x86/mpegvideoenc_template.c: In function 'dct_quantize_ssse3':
libavcodec/x86/mpegvideoenc_template.c:151:9: error: 'asm' operand has impossible constraints
asm volatile(
^
libavcodec/x86/mpegvideoenc_template.c:186:9: error: 'asm' operand has impossible constraints
asm volatile(
^
make: *** [libavcodec/x86/mpegvideoenc.o] Error 1

 

5.如果第四步你也已經順利通過,那麼剩下的就是執行./compile-ijk.sh這個腳本了,執行完後,在android/ijkplayer目錄下就是所有的可以用的demo了,生成的libs會放到demo的libs目錄下。

 

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved