FFmpeg 8.1.3 en MaugPelis (audios AC-3, E-AC-3, DTS y TrueHD) Copyright (c) 2000-2026 the FFmpeg developers Este programa usa bibliotecas del proyecto FFmpeg con la licencia GNU LGPL versión 2.1 o posterior. El texto completo de la licencia está en LGPL-2.1.txt, junto a este archivo en la app (en el código fuente de FFmpeg es COPYING.LGPLv2.1). This software uses libraries from the FFmpeg project under the LGPLv2.1. FFmpeg es de sus autores (https://ffmpeg.org/). MaugPelis no lo modificó: usa FFmpeg 8.1.3 tal como lo publicó FFmpeg, sin parches, compilado con las opciones de abajo. Para qué se usa: Para oír los audios AC-3, E-AC-3, DTS y TrueHD en los teléfonos que no traen esos decodificadores. Solo se compilaron esos decodificadores (ac3 eac3 dca truehd mlp) y las bibliotecas libavcodec, libavutil y libswresample, como bibliotecas compartidas: libavcodec.so, libavutil.so y libswresample.so, para arm64-v8a, armeabi-v7a y x86_64. Ninguna parte con licencia GPL ni "nonfree". Código fuente: Todo lo que hace falta para volver a compilar estas bibliotecas está en https://maugpelis.com/codigo-abierto?desde=app El código de FFmpeg es el archivo https://maugpelis.com/codigo-abierto/ffmpeg/ffmpeg-8.1.3.tar.xz: FFmpeg 8.1.3 tal cual, el mismo árbol que se compiló (la etiqueta n8.1.3, commit 1041abdc962f4cc4f394aa8de9dc5236c0c3b9e7). Para rehacerlo desde un clon de https://github.com/FFmpeg/FFmpeg (o de git.ffmpeg.org): git archive --format=tar --prefix=ffmpeg-8.1.3/ 1041abdc962f4cc4f394aa8de9dc5236c0c3b9e7 | xz -9 > ffmpeg-8.1.3.tar.xz En la misma página están también build.sh, el script con el que se compiló (configure, make, el puente y las comprobaciones); ffmpeg_jni.cc, el puente entre la app y FFmpeg (libffmpegJNI.so), de la extensión de FFmpeg de Media3 1.11.1 (commit 8c6678b657ede1e7883fc164ef73ed483c7796c3 de https://github.com/androidx/media), con licencia Apache 2.0; el texto de esa licencia (LICENSE-APACHE-2.0.txt, también junto a este archivo en la app), y este aviso. Si no puedes bajarlo, pídelo por el soporte de la app (Ajustes > Ayuda y acerca de > Soporte) en los próximos tres años y te mandamos una copia. Cómo se compiló: NDK de Android 29.0.14206865, API 24. Opciones de configure comunes: --target-os=android --enable-cross-compile --disable-static --enable-shared --enable-pic --disable-autodetect --enable-pthreads --disable-programs --disable-doc --disable-everything --disable-avdevice --disable-avformat --disable-swscale --disable-avfilter --disable-network --enable-swresample --disable-stripping --extra-ldflags=-Wl,-z,max-page-size=16384 --enable-decoder=ac3 --enable-decoder=eac3 --enable-decoder=dca --enable-decoder=truehd --enable-decoder=mlp Además, según la arquitectura ( es la carpeta del NDK; es /toolchains/llvm/prebuilt/linux-x86_64/bin): arm64-v8a: --arch=aarch64 --cpu=armv8-a --cross-prefix=/aarch64-linux-android24- --cxx=/aarch64-linux-android24-clang++ --nm=/llvm-nm --ar=/llvm-ar --ranlib=/llvm-ranlib --strip=/llvm-strip armeabi-v7a: --arch=arm --cpu=armv7-a "--extra-cflags=-march=armv7-a -mfloat-abi=softfp" --extra-ldflags=-Wl,--fix-cortex-a8 --cross-prefix=/armv7a-linux-androideabi24- --cxx=/armv7a-linux-androideabi24-clang++ --nm=/llvm-nm --ar=/llvm-ar --ranlib=/llvm-ranlib --strip=/llvm-strip x86_64: --arch=x86_64 --cpu=x86-64 --disable-asm --cross-prefix=/x86_64-linux-android24- --cxx=/x86_64-linux-android24-clang++ --nm=/llvm-nm --ar=/llvm-ar --ranlib=/llvm-ranlib --strip=/llvm-strip libffmpegJNI.so se compila con /24-clang++ del mismo NDK: -std=c++11 -O2 -g -fPIC -fvisibility=hidden -fvisibility-inlines-hidden -I/include -c ffmpeg_jni.cc -shared -o libffmpegJNI.so ffmpeg_jni.o -L/lib -lswresample -lavcodec -lavutil -llog -static-libstdc++ -Wl,-soname,libffmpegJNI.so -Wl,--no-undefined -Wl,--as-needed -Wl,--gc-sections -Wl,-z,relro -Wl,-z,now -Wl,-z,max-page-size=16384 -Wl,--build-id=sha1 Cómo cambiar FFmpeg por otra versión: libffmpegJNI.so carga libavcodec.so, libavutil.so y libswresample.so por su nombre, como bibliotecas aparte: se pueden cambiar por otra versión de FFmpeg compatible, compilada con estas opciones o con otras. Para eso hay que volver a armar el APK con las bibliotecas nuevas y firmarlo con otra clave. Si el servidor de MaugPelis tiene encendida la comprobación de la firma de la app, una app firmada con otra clave no pasa de la pantalla de inicio: eso lo decide el servidor, no estas bibliotecas.