制作和显示视频

时间:2018-03-04 10:27:42

标签: android video ffmpeg android-ndk media

我必须开发一个应用程序,它可以裁剪视频。 我决定使用ffmpeg,我测试了下面的库:
https://github.com/WritingMinds/ffmpeg-android-java
但是我在控制台得到[libx264 @ 0xf506d400] using cpu capabilities: none!并且运行速度如此之慢。
所以我决定构建我自己的ffmpeg预构建并尝试我的硬和测试下面的链接为make prebuild ffmpeg:

但是,构建有自己的错误,例如"无法找到c comiler"
经过太多的搜索,我发现并构建了ffmpeg,但结果是一些.so文件(如下所列):

  • libavcodec-58.so
  • libavdevice-58.so
  • libavformat-58.so
  • libavutil-56.so
  • libpostproc-55.so
  • libswresample-3.so
  • libswscale-5.so

我的build.sh是:

NDK=/Users/mehdi/Documents/adt-bundle-mac-x86_64-20140702/ndk/android-ndk-r13b
SYSROOT=$NDK/platforms/android-24/arch-arm/
TOOLCHAIN=$NDK/toolchains/arm-linux-androideabi-4.9/prebuilt/darwin-x86_64
function build_one
{
./configure \
    --prefix=$PREFIX \
    --enable-shared \
    --disable-static \
    --disable-doc \
    --disable-ffmpeg \
    --disable-ffplay \
    --disable-ffprobe \
    --enable-avdevice \
    --disable-doc \
    --disable-symver \
    --cross-prefix=$TOOLCHAIN/bin/arm-linux-androideabi- \
    --target-os=linux \
    --cpu=cortex-a8 \
    --arch=arm \
    --enable-cross-compile \
    --sysroot=$SYSROOT \
    --extra-cflags="-Os -fpic $ADDI_CFLAGS" \
    --extra-ldflags="$ADDI_LDFLAGS" \
    --enable-runtime-cpudetect \
    --enable-gpl \
    --enable-avfilter \
    --enable-encoders  \
    --enable-muxers \
    --enable-protocols  \
    --enable-parsers \
    --enable-demuxers \
    --enable-decoders \
    --enable-bsfs \
    --enable-network \
    --enable-swscale  \
    --enable-asm 

    $ADDITIONAL_CONFIGURE_FLAG
make clean
make
make install
}
CPU=arm
PREFIX=$(pwd)/android/$CPU 
ADDI_CFLAGS="-marm"
build_one


我把.so文件放到android studio的cpp文件夹中,然后制作CMakeLists.txt。 到目前为止,每件事情都可以,但我在哪里可以找到ffmpeg文件在java中执行命令。

0 个答案:

没有答案