构建FFMPEG for android后,没有libffmpeg.so用于命令行参数

时间:2014-03-11 18:35:15

标签: android ffmpeg

我已经按照教程roman10进行了编译,结果很好。但我有.so文件除了ffmpeg.so之外的所有东西(或者在一些例子中我把它看作libffmpeg.so)。所以我不知道该怎么做。我是否需要更改配置选项?我正在使用以下配置选项:

#!/bin/bash
NDK=$HOME/Desktop/adt/android-ndk-r9
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

我是否需要libffmpeg.so才能调用命令行参数?

1 个答案:

答案 0 :(得分:4)

使用“--disable-ffmpeg”你实际上是在告诉它不要编译你正在寻找的位。它不会编译ffmpeg.c,只是你指定的东西。您可以直接使用libav *库(好吧,您需要创建一个jni包装器...),但如果您想要ffmpeg位,可以使用命令行参数调用,然后删除该行。