22 Şubat / Soft Mode Planı

Soft Mode & Format Sistemi

Kim neyi dinleyecek? Sistem nasıl karar verecek? Her şeyin basit anlatımı.

22 Şubat 2026 mztest.muzibu.com

İki Farklı Dinleme Şekli

Şarkılar iki şekilde dinlenebilir. Kullanıcı hangisini dinlediğini bilmez, sistem sessizce karar verir.

HLS

Güçlü Cihazlar İçin

  • Internet hızına göre kalite otomatik ayarlanır
  • 4 kalite seviyesi (çok düşük → yüksek)
  • Şifreli — kopyalanamaz
  • Telefon işlemcisini yorar
  • 140 KB ekstra kütüphane yüklenir
Gereken
RAM ≥ 4 GB + CPU ≥ 4 çekirdek

MP3 128k

Zayıf Cihazlar İçin (Soft Mode)

  • Tek dosya, tek istek — basit
  • İşlemci neredeyse hiç çalışmaz
  • HLS kütüphanesi yüklenmez (140 KB tasarruf)
  • 2G internette bile akar
  • Kalite biraz düşük (telefon hoparlöründe fark edilmez)
Gereken
Herhangi bir cihaz

Neden 128k? Orijinal MP3 Neden Değil?

"Cihaz kötü ama interneti iyi, orijinal kalitede dinlesin?" diye sorulabilir. Cevap: hayır, gerekmez.

Telefon Hoparlörü

128k ile 320k arasındaki farkı telefon hoparlöründen duymak imkansız. Frekans aralığı dar, hoparlör zaten kaliteyi düşürüyor.

Kulaklık

Kulaklıkla bile %90 insan farkı duyamaz. Çift kör testlerde eğitimli kulaklar bile zorlanır.

Bant Genişliği Tasarrufu

Orijinal MP3
320 kbps
~2.4 MB/dk
MP3 128k
128 kbps
~0.96 MB/dk
Tasarruf
%60
kişi başı

Kurumsal hesap: 50 kişi × %60 = ciddi sunucu maliyeti düşüşü


4 Senaryo

Her cihaz + internet kombinasyonu için ne olacak:

İyi Cihaz
+
İyi İnternet
HLS (mid → high)

En iyi deneyim. Kalite otomatik yükselir. Şifreli içerik.

İyi Cihaz
+
Kötü İnternet
HLS (ultralow → low)

ABR kaliteyi düşürür. 4 saniyelik segmentler sayesinde hızlı geçiş. Donma yok.

Kötü Cihaz
+
İyi İnternet
MP3 128k

HLS yüklenmez bile. İşlemci rahat. İnternet iyi olsa da 128k yeterli — fark duyulmaz.

Kötü Cihaz
+
Kötü İnternet
MP3 128k

En kötü senaryo ama en hafif format. 128kbps = saniyede sadece 16 KB. 2G'de bile çalar.


Sistem Nasıl Karar Veriyor?

Yukarıdan aşağıya, ilk eşleşen kural geçerli:

1

Admin bu kullanıcıya format atamış mı?

Admin panelden "Ahmet'e MP3 ver" denmiş mi? Denmişse tartışma yok, o geçerli.

HLS Zorla MP3 128k Otomatik (sonraki adıma geç)
2

Kurumsal hesap mı? (5+ kişi)

Şirket hesabında 5'ten fazla kişi varsa hepsi MP3'e yönlendirilir. Sunucu maliyeti düşer.

5+ kişi → MP3 128k 5'ten az → sonraki adıma geç
3

Cihaz güçlü mü?

Sayfa açıldığında sessizce kontrol edilir. Kullanıcı görmez.

Kesin Zayıf

RAM ≤ 2 GB
veya bağlantı 2G

→ MP3 128k
Muhtemelen Zayıf

RAM < 4 GB
veya CPU < 4 çekirdek

→ MP3 128k
Güçlü

RAM ≥ 4 GB
CPU ≥ 4, 3G+

→ HLS

Sonuç localStorage'a yazılır. Aynı kişi farklı cihazlardan farklı format alır.

4

Hiçbiri → HLS (Varsayılan)

Cihaz güçlü, kurumsal değil, admin karışmamış → en iyi deneyim, adaptif kalite.


Admin Paneli

Birisi aradı, "donuyor" dedi. Admin ne yapacak?

Kullanıcı Düzenle Sayfası

Otomatik (Önerilen)
Otomatik — Cihaz zayıfsa MP3, güçlüyse HLS. Sistem karar verir.
HLS Zorla — Her cihazda HLS. Donma riski var ama şifreli.
MP3 — Her cihazda MP3 128k. Donma sıfır, hafif format.

"Biri donuyor dedi" → MP3 seç, kaydet. O kişi hangi cihazdan girerse girsin MP3 dinler.

Kurumsal Hesap Ayarı

Settings → Muzibu Kurumsal bölümünde:

Kurumsal MP3 Eşiği
Bu sayıdan fazla üyesi olan kurumsal hesaplar otomatik MP3'e yönlendirilir
5

HLS Segment Süresi

HLS'te şarkılar küçük parçalara (segment) bölünür. Her parça ayrı ayrı indirilir.

Karar: Tüm Kaliteler 4 Saniye

ultralow
4 sn
16 KB/parça
low
4 sn
32 KB/parça
mid
4 sn
64 KB/parça
high
4 sn
~100 KB/parça
Tüm kaliteler aynı süre → geçiş sırasında boşluk yok
4 saniye = hızlı kalite geçişi (internet düşünce 4sn içinde uyum)
Apple Music 6sn kullanır ama onlar video da destekliyor — biz sadece ses, 4sn yeterli

Mevcut Sorun

Şu an high (orijinal) 6 saniye, diğerleri 4 saniye. Bu uyumsuzluk kalite geçişinde ses atlamasına neden olabilir. Düzeltilecek: hepsi 4 saniye olacak.


Yeni Şarkı Yüklenince Ne Olur?

Admin panelden şarkı yüklendiğinde otomatik olarak şunlar üretilir:

1
Orijinal HLS (high)
Kaynak dosyanın orijinal kalitesi, AES-128 şifreli, 4sn segmentler
OTOMATİK
2
HLS Variant'lar (ultralow / low / mid)
32k, 64k, 128k — yavaş internet için otomatik kalite geçişi
OTOMATİK
3
MP3 128k (Soft Mode)
Zayıf cihazlar için tek dosya, şifresiz, hafif format
OTOMATİK
4
master.m3u8
4 kalite seviyesini listeleyen ana dosya
OTOMATİK

Tüm bunlar arkaplanda çalışır. Admin sadece MP3 yükler, gerisini sistem halleder.


Yapılacaklar

Bu planı hayata geçirmek için kalan işler:

KOD 1. ConvertToHLSJob → hls_time 6'yı 4 yap

Yeni şarkılarda tüm kaliteler 4sn ile üretilsin. Tek satır değişiklik.

KOD 2. Frontend detectDeviceCapability → localStorage

Sayfa açıldığında cihaz gücünü ölç, sonucu localStorage'a yaz. Backend API'ye "ben zayıfım" bilgisi gönder.

DB 3. audio_preference enum genişlet (opsiyonel)

Mevcut: hls / mp3 / auto. "mp3" seçilince backend otomatik 128k verir → migration gerekmez.

BATCH 4. 5 test şarkısını 4sn ile yeniden encode et

Mevcut high segmentler 6sn → hepsini 4sn olarak yeniden oluştur.

TEST 5. MP3 128k çalma testi

Soft mode kullanıcısı şarkı başlattığında 128k MP3 dosyasının doğru sunulduğunu doğrula.