Android - libffmpeg - fehlender Codec

674
Mihaela

Ich habe libffmpeg.so (Version 3.4.2) für Android ndk r10e auf einem Linux-Host kompiliert, einschließlich Unterstützung für x264, freetype2, libass, liblame, libfonconfig, libogg 1.3.3, libvorbis 1.3.5. Ich habe bei configure --enable-vorbis aktiviert. Wenn Sie libffmpeg.so in einem .apk verwenden, gibt es einige Formate, die nicht unterstützt werden können: MOV OGG

Welche Option sollte ich aktivieren oder welche Bibliothek sollte ich für diese Formate noch enthalten?

Als ich ffmpeg kompilierte, waren dies alle Optionen, die ich verwendet habe:

./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 

Und dann habe ich alle Bibliotheken in libffmpeg.so verlinkt

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 

Bei der Konfiguration von libvorbis habe ich verwendet: --with-OGG = yes Bei der Konfiguration von libmp3lame habe ich: --with-VORBIS = yes verwendet

Vielen Dank.

0
Zeigen Sie Ihre vollständige Konfiguration. `ffmpeg -buildconf` Gyan vor 6 Jahren 0
Ich habe die Beschreibung oben aktualisiert. Mihaela vor 6 Jahren 0
Sie haben keine Encoder oder Muxer aktiviert. Warum so viele --disable-Optionen verwenden? Was versuchst du zu erreichen? LordNeckbeard vor 6 Jahren 0
Ich habe die Konfiguration geändert als: Mihaela vor 6 Jahren 0
Ich habe alle Deaktivierungsoptionen in Bezug auf Muxer, Encoder usw. entfernt. Ich habe außerdem --enable-fdk-aac und --non-free für sie hinzugefügt. Es scheint, dass selbst wenn doas erfolgreich kompiliert werden, libogg / libvorbis / libtheora und libfdk-aac nicht wirklich miteinander verbunden sind. Irgendein Hinweis? Mihaela vor 6 Jahren 0

0 Antworten auf die Frage