当我通过adb shell在android上运行ffmpeg时,它会显示以下错误:
Duration: 00:00:12.00, start: 0.000000, bitrate: 30412 kb/s Stream #0:0: Video: rawvideo (I420 / 0x30323449), yuv420p, 352x288, 30412 kb/s, 25 tbr, 25 tbn, 25 tbc
[4;31mUnknown encoder 'libx264'
我不明白出了什么问题。这让我困扰了很多天。
你能帮我吗?提前致谢!
(我将已编译的libffmpeg.so
推送到/system/lib
并将ffmpeg
推送到/system/bin
)
目标:使用x264编译ffmpeg,并在adb shell上运行Android设备上的libffmpeg.so。
编译环境:Ubuntu16.0 32位,ndk r10b 32位平台15,ffmpeg 3.0,x264最新。
我的配置:
cd ffmpeg-3.0.9
export NDK=/home/ichp/project/android-ndk-r10b
export PREBUILT=$NDK/toolchains/arm-linux-androideabi-4.8/prebuilt
export PLATFORM=$NDK/platforms/android-15/arch-arm
export PREFIX=../simplefflib
export CURRENT_PATH=/home/ichp/project/FREYA-LIVE-LIBRARY-OPTIMIZER-FOR-ANDROID
./configure --target-os=linux --prefix=$PREFIX
--enable-cross-compile --enable-runtime-cpudetect --enable-asm --arch=arm --cpu=armv7-a --enable-libx264 --enable-encoder=libx264 --disable-encoders --disable-protocols --enable-protocol=file --enable-version3 --cc=$PREBUILT/linux-x86/bin/arm-linux-androideabi-gcc --cross-prefix=$PREBUILT/linux-x86/bin/arm-linux-androideabi- --disable-stripping --nm=$PREBUILT/linux-x86/bin/arm-linux-androideabi-nm --sysroot=$PLATFORM --enable-gpl --disable-shared --enable-static --enable-small --disable-ffprobe --disable-ffplay --enable-ffmpeg --disable-ffserver --disable-debug --enable-pthreads --enable-neon --extra-cflags="-I$CURRENT_PATH/temp/armeabi-v7a/include -fPIC -marm -DANDROID -DNDEBUG -static -O3 -march=armv7-a -mfpu=neon -mtune=generic-armv7-a -mfloat-abi=softfp -ftree-vectorize -mvectorize-with-neon-quad -ffast-math" --extra-ldflags="-L$CURRENT_PATH/temp/armeabi-v7a/lib"
make clean
make
make install