Open Source

Sotto nutzt Bibliotheken unter der LGPL-2.1: VLCKit auf iPhone und iPad, libVLC und FFmpeg auf Android. Unten steht, welche Version es ist, wie sie in die App eingebunden ist und wo der Quelltext liegt.

Zuletzt aktualisiert am 3. Oktober 2026

iPhone und iPad

VLCKit und libVLC · VideoLAN

WofürSpielt MPEG-TS und andere Formate ab.
VersionMobileVLCKit 3.7.4 · VLCKit-Commit 54bba6d9 · libVLC 3.0.24, Commit 6de05adc
BinärdateiOffizieller Build von VideoLAN; wir bauen ihn nicht selbst und patchen ihn nicht. Datei MobileVLCKit-3.0-20260922-1512.tar.xz (download.videolan.org, ~233 MB), SHA-256 c649c4c47bd065b3a5511746361b5a9066a34033f2df9cbc9454409c0f363b52
LizenzLGPL-2.1 oder später
EinbindungEigenes, dynamisches Framework (MobileVLCKit.framework). Es liegt als eigene Datei im App-Paket und wird nicht mit dem Code der App zusammengeführt.
QuelltextVLCKit 3.7.4 · VLC 3.0.24, Commit 6de05adc (code.videolan.org)
Ihre RechteWir knüpfen keine Bedingung daran, dass Sie die Bibliothek prüfen, verändern oder die Kopie in der App durch einen eigenen Build ersetzen.

Android und Android TV

FFmpeg · FFmpeg-Audio-Erweiterung von Media3

WofürTonformate, die der Decoder des Geräts nicht abspielt (z. B. MP2). Nur Ton.
VersionFFmpeg n6.0.1, Commit c41ff724ede7da657762d61097e26fac296c53bf
Bibliothekenlibavcodec, libavutil, libswresample
Decoderac3, alac, flac, mp2, mp3, opus, vorbis; keine weiteren
LizenzLGPL-2.1 oder später. Ohne --enable-gpl und --enable-nonfree gebaut.
EinbindungFFmpeg ist statisch in libffmpegJNI.so eingebunden, eine eigene Shared Library im APK. Diese Datei enthält keinen Code von uns: nur FFmpeg und den JNI-Wrapper von Media3 (ffmpeg_jni.cc, Apache-2.0).
Media3androidx/media 1.11.1, libraries/decoder_ffmpeg
BuildNDK r27d (27.3.13750724), API 23, armeabi-v7a und arm64-v8a. FFmpeg ist nicht gepatcht; in die Build-Datei von Media3 kommen nur die NDK-Version, die ABI-Liste und die 16-KB-Seitenausrichtung (-DANDROID_SUPPORT_FLEXIBLE_PAGE_SIZES=ON).
QuelltextFFmpeg n6.0.1: git.ffmpeg.org · GitHub-Spiegel
Media3 1.11.1: github.com/androidx/media
Ihre RechteSie können FFmpeg verändern, libffmpegJNI.so mit den Einstellungen unten neu bauen und anstelle der Datei in der App verwenden. Wir knüpfen daran keine Bedingung, ebenso wenig an das Prüfen der Bibliothek.

configure-Aufruf

Läuft einmal pro ABI. $TOOLCHAIN ist das Verzeichnis toolchains/llvm/prebuilt/<host>/bin des NDK.

# arm64-v8a
./configure --libdir="android-libs/arm64-v8a" --arch=aarch64 --cpu=armv8-a \
  --cross-prefix="$TOOLCHAIN/aarch64-linux-android23-" \
  --nm="$TOOLCHAIN/llvm-nm" --ar="$TOOLCHAIN/llvm-ar" \
  --ranlib="$TOOLCHAIN/llvm-ranlib" --strip="$TOOLCHAIN/llvm-strip" \
  --target-os=android --enable-static --disable-shared --disable-doc \
  --disable-programs --disable-everything --disable-avdevice \
  --disable-avformat --disable-swscale --disable-postproc \
  --disable-avfilter --disable-symver --enable-swresample \
  --extra-ldexeflags=-pie --disable-v4l2-m2m --disable-vulkan \
  --enable-decoder=mp2 --enable-decoder=mp3 --enable-decoder=ac3 \
  --enable-decoder=alac --enable-decoder=flac --enable-decoder=vorbis \
  --enable-decoder=opus

# armeabi-v7a
./configure --libdir="android-libs/armeabi-v7a" --arch=arm --cpu=armv7-a \
  --cross-prefix="$TOOLCHAIN/armv7a-linux-androideabi23-" \
  --nm="$TOOLCHAIN/llvm-nm" --ar="$TOOLCHAIN/llvm-ar" \
  --ranlib="$TOOLCHAIN/llvm-ranlib" --strip="$TOOLCHAIN/llvm-strip" \
  --extra-cflags="-march=armv7-a -mfloat-abi=softfp" \
  --extra-ldflags="-Wl,--fix-cortex-a8" \
  --target-os=android --enable-static --disable-shared --disable-doc \
  --disable-programs --disable-everything --disable-avdevice \
  --disable-avformat --disable-swscale --disable-postproc \
  --disable-avfilter --disable-symver --enable-swresample \
  --extra-ldexeflags=-pie --disable-v4l2-m2m --disable-vulkan \
  --enable-decoder=mp2 --enable-decoder=mp3 --enable-decoder=ac3 \
  --enable-decoder=alac --enable-decoder=flac --enable-decoder=vorbis \
  --enable-decoder=opus

Android und Android TV: zweite Engine

libVLC · VideoLAN

WofürStreams, die der Hauptplayer von Android (Media3) nicht öffnen oder dekodieren kann; unter Technik auch von Hand wählbar.
Versionorg.videolan.android:libvlc-all 3.7.7 · libVLC 3.0.25 · vlc-android-Tag libvlc-3.7.7 (Commit 7a7c8f14) · libvlcjni-Commit 0b8dc65e · VLC 3.0.x, Commit 84177b22
BinärdateiOffizieller Build von VideoLAN, veröffentlicht auf Maven Central; wir bauen ihn nicht selbst und patchen ihn nicht. AAR SHA-256 b48dab96e0e90e34cce3861963500c144a5aadb1b249d501d6a4b104d849e61b
LizenzLGPL-2.1 oder später
EinbindungEigene, dynamische Bibliotheken im APK (libvlc.so, libvlcjni.so); nicht mit dem Code der App zusammengeführt. Nur armeabi-v7a und arm64-v8a.
Quelltextvlc-android, libvlc-3.7.7 · libvlcjni, 0b8dc65e · VLC, 84177b22 (code.videolan.org)
Ihre RechteWir knüpfen keine Bedingung daran, dass Sie die Bibliothek prüfen, verändern oder die Kopie in der App durch einen eigenen Build ersetzen.

Quelltext

Den Quelltext von VLCKit für iPhone und iPad und von libVLC für Android stellt VideoLAN bereit, unter den Links oben.

Den vollständigen Quelltext unseres FFmpeg-Builds für Android geben wir Ihnen auf Anfrage: den Quelltext von FFmpeg n6.0.1, die FFmpeg-Erweiterung von Media3 1.11.1 und unser Build-Skript. Schreiben Sie an help@sottoiptv.com. Dieses Angebot gilt mindestens drei Jahre.

Lizenztext

GNU Lesser General Public License 2.1 (gnu.org)

Alle Bausteine der App und ihre Lizenztexte stehen in der App unter „Über und Lizenzen“. Siehe auch Nutzungsbedingungen, Abschnitt 7.