Android - libffmpeg - пропускающий кодек

595
Mihaela

Я скомпилировал libffmpeg.so (версия 3.4.2) для Android ndk r10e на хосте linux, включая поддержку x264, freetype2, libass, liblame, libfonconfig, libogg 1.3.3, libvorbis 1.3.5. Я включил при настройке --enable-vorbis. При использовании libffmpeg.so в .apk есть форматы, которые не поддерживаются: MOV OGG

Какой вариант я должен включить, или какую библиотеку я должен по-прежнему включать для этих форматов?

Когда я компилировал ffmpeg, это были все варианты, которые я использовал:

./configure \ --target-os=android \ --cross-prefix="$CROSS_PREFIX" \ --arch="$NDK_ABI" \ --cpu="$CPU" \ --enable-runtime-cpudetect \ --sysroot="$NDK_SYSROOT" \ --enable-pic \ --disable-shared \ --enable-static \ --enable-protocol=file \ --enable-avformat \ --enable-avcodec \ --disable-network \ --enable-zlib \ --enable-libvorbis \ --enable-libx264 \ --enable-libass \ --enable-libfreetype \ --enable-libfribidi \ --enable-libmp3lame \ --enable-fontconfig \ --enable-pthreads \ --disable-stripping \ --disable-linux-perf \ --disable-debug \ --disable-ffserver \ --enable-version3 \ --enable-hardcoded-tables \ --disable-ffplay \ --disable-ffprobe \ --enable-gpl \ --enable-yasm \ --disable-doc \ --pkg-config="$/ffmpeg-pkg-config" \ --prefix="$/build/$" \ --extra-cflags="-I$/include $CFLAGS" \ --extra-ldflags="-L$/lib $LDFLAGS" \ --extra-libs="-lpng -lexpat -lm" \ --extra-cxxflags="$CXX_FLAGS" || exit 1 

И тогда я связал все библиотеки в libffmpeg.so

make -j$ && make install &&  $PREBUILT/bin/$HOST-ar d libavcodec/libavcodec.a inverse.o && $PREBUILT/bin/$HOST-ld -rpath-link=$PLATFORM/usr/lib -L$PLATFORM/usr/lib -soname libffmpeg.so -shared -nostdlib -z noexecstack -Bsymbolic --whole-archive --no-undefined -o libffmpeg.so libavdevice/libavdevice.a libavformat/libavformat.a libavfilter/libavfilter.a libavcodec/libavcodec.a libswscale/libswscale.a libavutil/libavutil.a libswresample/libswresample.a libpostproc/libpostproc.a ../toolchain-android/lib/libmp3lame.a ../toolchain-android/lib/libx264.a ../toolchain-android/lib/libfreetype.a ../toolchain-android/lib/libexpat.a ../toolchain-android/lib/libfribidi.a ../toolchain-android/lib/libpng16.a ../toolchain-android/lib/libass.a ../toolchain-android/lib/libfontconfig.a ../toolchain-android/lib/libogg.a ../toolchain-android/lib/libvorbis.a ../toolchain-android/lib/libvorbisenc.a ../toolchain-android/lib/libvorbisfile.a -lc -lm -lz -ldl -llog --dynamic-linker=/system/bin/linker $PREBUILT/lib/gcc/$HOST/4.8/libgcc.a || exit 1 

При настройке libvorbis я использовал: --with-OGG = yes При настройке libmp3lame я использовал: --with-VORBIS = yes

Спасибо.

0
Покажите свою полную конфигурацию. `ffmpeg -buildconf` Gyan 6 лет назад 0
Я обновил описание выше. Mihaela 6 лет назад 0
У вас нет кодировщиков или мультиплексоров. Зачем использовать так много опций `--disable-`? Что вы пытаетесь достичь? LordNeckbeard 6 лет назад 0
Я изменил конфиг как: Mihaela 6 лет назад 0
Я удалил все опции отключения, касающиеся муксеров, кодировщиков и т. Д. Я также добавил --enable-fdk-aac и --non-free для него. Кажется, что даже если doas успешно скомпилированы, libogg / libvorbis / libtheora и libfdk-aac фактически не связаны между собой. Любой намек? Mihaela 6 лет назад 0

0 ответов на вопрос

Похожие вопросы