歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Ubuntu 下用NDK編譯移植 FFmpeg 2.0 (配置最新版x264) 到Android平台

Ubuntu 下用NDK編譯移植 FFmpeg 2.0 (配置最新版x264) 到Android平台

日期:2017/2/28 14:37:14   编辑:Linux教程

將x264配置到ffmpeg中需要先編譯x264,生成靜態庫或動態庫。因為264的靜態庫本身不大(我編譯完成後是1.1M)且考慮到平台移植問題,這裡選擇的是編譯生成靜態庫。

准備,新建工作空間

(1)創建總目錄FFmpeg-Android

eg: mkdir workspace --> cd workspace --> mkdir FFmpeg-Android --> cd FFmpeg-Android

(2)創建保存x264靜態庫的目錄 android-x264

(在FFmpeg-Android目錄下)mkdir 264 --> cd 264

1、編譯x264

(1)去官網:http://www.videolan.org/developers/x264.html 下載最新的264源代碼。這裡下載的是2013年10月份出的版本0.14。將壓縮包解壓縮到264FFmpeg-Android/264目錄下,

(2)編寫腳本文件:

export NDK=$NDK_HOME
export PREBUILT=$NDK/toolchains/arm-linux-androideabi-4.6/prebuilt
export PLATFORM=$NDK/platforms/android-19/arch-arm
export PREFIX=../../android-x264

./configure --prefix=$PREFIX \
--enable-static \
--enable-pic \
--disable-asm \
--disable-cli \
--host=arm-linux \
--cross-prefix=$PREBUILT/linux-x86_64/bin/arm-linux-androideabi- \
--sysroot=$PLATFORM

注意:這裡涉及到路徑的變量需要根據你們自己的情況來調整。

PREBUILT 變量保存的是NDK交叉編譯鏈的路徑,

PLATFORM 變量保存的是NDK進行鏈接時查找庫文件的路徑(arch-arm目錄下保存的是各種andorid平台下的c庫頭文件和靜態以及動態庫)

PREFIX 變量保存的是編譯生成的靜態庫保存的路徑

(3)運行腳本,結果如下圖

(4)執行完剛才的腳本後,會在當前目錄生成配置文件,這裡還需要修改以下幾個文件,原因是:編譯成功後在eclipse下運行會出現 "cannot locate symbol 'log2f' " 的錯誤

修改1、config.h

---- #define HAVE_LOG2F 1

+++#define HAVE_LOG2F 0

修改2、encoder/encoder.c 、 encoder/ratecontrol.c 、encoder/analyse.c 、encoder/set.c

在文件開頭處添加

+++ #include <math.h>

+++ //<!-- add by chance_yin 2013.12.27
+++ #undef log2f(x)
+++ #undef log2f
+++ #define log2f(x) (logf(x)*1.4426950408889634f)
+++ // end add by chance_yin-->

FFmpeg 的詳細介紹:請點這裡
FFmpeg 的下載地址:請點這裡

推薦閱讀:

Linux下編譯FFmpeg之下載源文件並編譯 http://www.linuxidc.com/Linux/2012-02/54565.htm

Linux 編譯升級 FFmpeg 步驟 http://www.linuxidc.com/Linux/2013-08/88190.htm

CentOS 5.6 上安裝 FFMPEG http://www.linuxidc.com/Linux/2011-09/42793.htm

在Ubuntu下安裝FFmpeg http://www.linuxidc.com/Linux/2012-12/75408.htm

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

Copyright © Linux教程網 All Rights Reserved