2014-09-02 62 views
0

ffmpeg android for android 2.3+,它允許我解壓縮/添加水印/重新壓縮視頻文件。我需要讓它在所有當前的CPU上運行。在ubuntu下使用NDK構建android ffmpeg的錯誤

我做了什麼至今

我看了很多的來源進行指導。大多數文章已經過時或根本無法工作。更不用說我在將虛擬機安裝到一個我以前從未見過的操作系統上所做的努力了。整個java/sdk/ndk的安裝非常簡單,但我很難設置PATH變量,最重要的是設置它們。

所以,這裏是我的結構: 的默認文件夾路徑是/home/alin中,我有 enter image description here

路徑設置在etc/profile,我可以證實,它的工作原理。我知道,它的作品,因爲運行java -versionndk-build運行就好

> ANDROID_SDK=/home/alin/android/sdk ANDROID_NDK=/home/alin/android/ndk 
> JAVA_HOME=/usr/local/java/jdk1.8.0_20 
> PATH=$PATH:$HOME/bin:$JAVA_HOME/bin:$ANDROID_SDK/platform-tools:$ANDROID_SDK/tools:$ANDROID_NDK 
> export JAVA_HOME export ANDROID_SDK export ANDROID_NDK export PATH 

我已經下載從ffmpeg.org最新的來源和ndk/sources文件夾中保存它,在sources我已經創建了一個android_build.sh文件那樣,從( http://www.roman10.net/how-to-build-ffmpeg-with-ndk-r9/

enter image description here

#!/bin/bash 

NDK=/home/alin/android/ndk 
SYSROOT=$NDK/platforms/android-9/arch-arm/ 
TOOLCHAIN=$NDK/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64 

function build_one 

{ 

./configure \ 
    --prefix=$PREFIX \ 
    --enable-shared \ 
    --disable-static \ 
    --disable-doc \ 
    --disable-ffmpeg \ 
    --disable-ffplay \ 
    --disable-ffprobe \ 
    --disable-ffserver \ 
    --disable-avdevice \ 
    --disable-doc \ 
    --disable-symver \ 
    --cross-prefix=$TOOLCHAIN/bin/arm-linux-androideabi- \ 
    --target-os=linux \ 
    --arch=arm \ 
    --enable-cross-compile \ 
    --sysroot=$SYSROOT \ 
    --extra-cflags="-Os -fpic $ADDI_CFLAGS" \ 
    --extra-ldflags="$ADDI_LDFLAGS" \ 
    $ADDITIONAL_CONFIGURE_FLAG 

make clean 
make 
make install 
} 

CPU=arm 

PREFIX=$(pwd)/android/$CPU 

ADDI_CFLAGS="-marm" 

build_one 

當運行.sh文件,我得到這個: enter image description here

嘗試不同的build.sh有時我得到了不同的錯誤...所以我不知道下一步該怎麼做。

請指引我:

  • 能夠建立FFMPEG
  • 使其與儘可能多的設備儘可能兼容。

謝謝。

回答

0

我從這裏2個不同來源不同 https://github.com/android-native-libraries

請隨意使用庫文件

+0

謝謝,從你的鏈接到最後,我終於設法使用https://github.com/android-native-libraries/android-ffmpeg-lib – Alin 2014-09-06 19:34:16

2

我知道,編譯FFMPEG爲時已晚..但它可以幫助別人誰遇到這個問題:

只需將build_android.sh文件放在source/ffmpeg文件夾中