Android 視頻播放器 faplayer 編譯

來源:互聯網
上載者:User

  前一段時間在做Android下的音樂和視頻播放器,音樂播放器有很多好的開源項目,而且大部分比較實用(有空會專門寫一篇關於音樂播放器的文章)。但是視頻方面的開源項目實在不多,主要是跟Android視頻解碼有關。Android預設只支援3gp和MP4兩種視頻格式,所以很多市面上的視頻播放器都內建了第三方解碼器。第三方解碼器,目前主要是FFMPEG和VLC解碼器。VLC官方正在開發一個Android平台的播放器,以後應該可以參考。這次主要是用到了一個開源項目faplayer。這個開源項目主要是用到了VLC做解碼庫。faplayer目前控制方面的功能比較簡單,但是解碼效果比較理想,接近主流的Android視頻播放器的播放效果。支援常規的視頻格式。

     雖然源碼都能從網站上下載下來,不過需要用NDK編譯出解碼庫,程式才能跑起來。用NDK編譯VLC解碼庫可以在window下和Linux下進行。不過我個人在window下折騰了兩天還沒弄好,最後只能在Linux下編譯(window下編譯需要安裝cygwin和window下NDK,安裝cygwin,我花了一個下午,主要是它需要重網路下載很多資料。從這點上來說,其實直接裝個Ubuntu更快)。

  下面在Linux下用NDK編譯VLC解碼庫的步驟:

  

1、  首先用git clone 下載faplayer的源碼。最好用git clone下載。直接下載zip壓縮包,編譯的時候有問題。需要把include的檔案夾修改。

git clone https://github.com/tewilove/faplayer.git

 

2、  安裝ndkR6b

安裝google的NDK,這裡我用的是R6b版本。當前最新的Linux版本。

http://dl.google.com/android/ndk/android-ndk-r6b-linux-x86.tar.bz2

 

3、  安裝ruby

在Ubuntu下安裝ruby:  sudo apt-get install ruby

 

4、  設定ndk的環境變數(不一定需要設定,設定了,方便後面使用)

輸入: sudo gedit /etc/profile  開啟profile檔案,在最後,加入

export NDKPATH="/home/username/ ndk dir"

username = 是你使用者的名字

ndk dir = 是你放NDK的根目錄,根目錄下有ndk-build檔案

 

在終端使用 source /etc/profile 重新整理內容。或者重啟終端也可以

 

 驗證設定是否正確:

echo $NDKPATH  如果設定正確會輸入你設定的路徑

cd $NDKPATH 跳轉到NDK根目錄

 

環境變數一定要設定好,否則後面無法編譯

 

5、  修改build.sh檔案

Faplayer根目錄下有一個build.sh檔案,開啟。第4行 ndk-build $@ || exit 1

改為 $ NDKPATH/ndk-build $@ || exit 1

主要是設定好編譯的NDK的路徑

6、  終端下執行 ./build.sh

這個編譯要花點時間,大概十分鐘左右。編譯好在libs檔案夾下有個一個libvlccore.so 大概11.3M的動態庫。

 

這裡還有一點需要說明,上面只是編譯出libvlccore.so的解碼庫。其實faplayer的指令檔build.sh是可以編譯出整個apk檔案的,不過還需要安裝Ant和android的SDK以及配置相關開發環境。因為我主要是在window下開發Android的應用。所以我只要得到libvlccore.so就可以把工程拷到window下繼續開發。把工程拷到window下,用eclipse開啟,重新編譯一次就好了。

 

build.sh預設是編譯出一個arm-v7版本的動態庫,如果需要在arm-A9或者arm-v7以下版本編譯,需要調整編譯參數。主要是Android.mk的編譯參數。

 

用我自己的手機defy測試,播放效果不錯。有空再上來~   

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.