歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Android 視頻播放器 faplayer 編譯

Android 視頻播放器 faplayer 編譯

日期:2017/3/1 9:44:51   编辑:Linux編程

在做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測試,播放效果不錯。

更多Android相關信息見Android 專題頁面 http://www.linuxidc.com/topicnews.aspx?tid=11

Copyright © Linux教程網 All Rights Reserved