Açık kaynak

Sotto, LGPL-2.1 lisanslı kütüphaneler kullanır: iPhone ve iPad'de VLCKit, Android'de libVLC ve FFmpeg. Hangi sürüm, uygulamaya nasıl bağlı ve kaynağı nerede, aşağıda.

Son güncelleme 3 Ekim 2026

iPhone ve iPad

VLCKit ve libVLC · VideoLAN

Ne içinMPEG-TS ve diğer biçimleri oynatır.
SürümMobileVLCKit 3.7.4 · VLCKit commit 54bba6d9 · libVLC 3.0.24, commit 6de05adc
İkiliVideoLAN'ın yayımladığı resmî derleme; kendimiz derlemiyoruz, yama da uygulamıyoruz. Dosya MobileVLCKit-3.0-20260922-1512.tar.xz (download.videolan.org, ~233 MB), SHA-256 c649c4c47bd065b3a5511746361b5a9066a34033f2df9cbc9454409c0f363b52
LisansLGPL-2.1 veya sonrası
BağlamaAyrı, dinamik bir framework (MobileVLCKit.framework). Uygulama paketinde kendi dosyası olarak durur; uygulamanın koduyla birleştirilmez.
KaynakVLCKit 3.7.4 · VLC 3.0.24, commit 6de05adc (code.videolan.org)
HaklarınKütüphaneyi incelemeni, değiştirmeni ya da uygulamadakinin yerine kendi derlemeni koymanı kısıtlayan bir koşulumuz yok.

Android ve Android TV

FFmpeg · Media3'ün FFmpeg ses uzantısı

Ne içinCihazın kendi çözücüsünün açamadığı ses biçimleri (ör. MP2). Yalnız ses çözer.
SürümFFmpeg n6.0.1, commit c41ff724ede7da657762d61097e26fac296c53bf
Kütüphanelerlibavcodec, libavutil, libswresample
Çözücülerac3, alac, flac, mp2, mp3, opus, vorbis; başkası yok
LisansLGPL-2.1 veya sonrası. --enable-gpl ve --enable-nonfree olmadan derlendi.
BağlamaFFmpeg, APK'nın içindeki ayrı bir paylaşımlı kütüphaneye, libffmpegJNI.so'ya statik olarak bağlı. Bu dosyada bize ait kod yok: yalnız FFmpeg ve Media3'ün Apache-2.0 lisanslı JNI sarmalayıcısı (ffmpeg_jni.cc).
Media3androidx/media 1.11.1, libraries/decoder_ffmpeg
DerlemeNDK r27d (27.3.13750724), API 23, armeabi-v7a ve arm64-v8a. FFmpeg'e yama uygulanmadı; Media3'ün derleme dosyasına yalnız NDK sürümü, ABI listesi ve 16 KB sayfa hizası (-DANDROID_SUPPORT_FLEXIBLE_PAGE_SIZES=ON) eklendi.
KaynakFFmpeg n6.0.1: git.ffmpeg.org · GitHub yansısı
Media3 1.11.1: github.com/androidx/media
HaklarınFFmpeg'i değiştirip aşağıdaki ayarlarla libffmpegJNI.so'yu yeniden üretebilir ve uygulamadakinin yerine koyabilirsin. Bunu ya da kütüphaneyi incelemeni kısıtlayan bir koşulumuz yok.

configure satırı

Her ABI için ayrı çalışır. $TOOLCHAIN, NDK'nın toolchains/llvm/prebuilt/<host>/bin dizini.

# 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 ve Android TV: ikinci motor

libVLC · VideoLAN

Ne içinAndroid'in ana oynatıcısının (Media3) açamadığı ya da çözemediği yayınlar; Teknik'ten elle de seçilebilir.
Sürümorg.videolan.android:libvlc-all 3.7.7 · libVLC 3.0.25 · vlc-android etiketi libvlc-3.7.7 (commit 7a7c8f14) · libvlcjni commit 0b8dc65e · VLC 3.0.x commit 84177b22
İkiliVideoLAN'ın Maven Central'da yayımladığı resmî derleme; kendimiz derlemiyoruz, yama da uygulamıyoruz. AAR SHA-256 b48dab96e0e90e34cce3861963500c144a5aadb1b249d501d6a4b104d849e61b
LisansLGPL-2.1 veya sonrası
BağlamaAPK'nın içinde ayrı, dinamik kütüphaneler (libvlc.so, libvlcjni.so); uygulamanın koduyla birleştirilmez. Yalnız armeabi-v7a ve arm64-v8a.
Kaynakvlc-android, libvlc-3.7.7 · libvlcjni, 0b8dc65e · VLC, 84177b22 (code.videolan.org)
HaklarınKütüphaneyi incelemeni, değiştirmeni ya da uygulamadakinin yerine kendi derlemeni koymanı kısıtlayan bir koşulumuz yok.

Kaynak kodu

iPhone ve iPad'deki VLCKit'in ve Android'deki libVLC'nin kaynağı VideoLAN'da, yukarıdaki bağlantılarda.

Android'deki FFmpeg derlememizin eksiksiz kaynağını istersen sana veririz: FFmpeg n6.0.1 kaynağı, Media3 1.11.1'in FFmpeg uzantısı ve derleme betiğimiz. help@sottoiptv.com adresine yaz. Bu teklif en az 3 yıl geçerlidir.

Lisans metni

GNU Lesser General Public License 2.1 (gnu.org)

Uygulamanın kullandığı bütün bileşenler ve lisans metinleri uygulamadaki “Hakkında ve lisanslar” ekranında. Ayrıca bkz. Kullanım koşulları, 7. bölüm.