Когда я запускаю ffmpeg на Android с помощью оболочки adb, он показывает эту ошибку:
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
)
Цель: скомпилировать ffmpeg с x264 и запустить libffmpeg.so на устройстве Android с помощью оболочки adb.
Скомпилированная среда: 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