22 Subat / v1 / v2 / v3 (guncel)

Soft Mode & Format Sistemi

Kim neyi dinleyecek? Sistem nasil karar verecek? Her seyin basit anlatimi.

22 Subat 2026 v3 mztest.muzibu.com

1 Numarali Oncelik: Donma Sifir

Ses kalitesinden daha onemli. Muzik hic duraksamadan, hic takılmadan, kesintisiz akmali.

1.
Donma sifir
2.
Ses kalitesi
3.
Bant genisligi

Muzibu Kimlere Hizmet Veriyor?

Bu bir bireysel muzik uygulamasi degil. B2B isletme platformu.

Restoran & Kafe
Tavan hoparloru, amfi sistemi
Otel & Lobi
Zon bazli ses sistemi
Magazalar & AVM
Profesyonel ses altyapisi

Kritik Gercek: Kotu Cihaz + Ses Sistemi + Degisken Internet

Cihazlar

  • Eski Android tabletler
  • Ucuz telefonlar
  • Eski Windows ekranlar

Ses Sistemi

  • Profesyonel hoparlorler
  • Amfi + kolon
  • Kalite fark edilir

Internet

  • WiFi degisken olabilir
  • 4G/5G her yerde yok
  • Donma = musteri kaybi

Sonuc: Donma sifir olmali. 128k sesi biraz duser ama donma asla kabul edilemez.
Bir restoranda muzik dursa musteri hisseder, 128k mi 320k mi oldugunu hissetmez.


Iki Farkli Dinleme Sekli

Sarkilar iki sekilde dinlenebilir. Isletme hangisini dinledigini bilmez, sunucu sessizce karar verir.

HLS

PC & Guclu Cihazlar

  • Internete gore kalite otomatik ayarlanir
  • 4 kalite seviyesi (ultralow → original)
  • Sifreli — kopyalanamaz (AES-128)
  • 4sn segment = hizli uyum, donma yok
Hedef
Masaustu / Laptop

MP3 128k

Mobil & Tablet (Soft Mode)

  • Tek dosya — basit, hafif, stabil
  • Islemci neredeyse hic calismaz
  • HLS kutuphanesi yuklenmez (-140 KB)
  • En kotu internette bile donmaz
Hedef
Telefon / Tablet / Eski Ekran

Neden 128k? Ses Sistemi Fark Etmez mi?

Evet, profesyonel hoparlorde 128k ile 320k arasi fark duyulabilir. Ama donma duyulmaktan daha kotu.

128k Ses Sistemi Etkisi

  • Tiz detaylarda hafif kayip olabilir
  • Ses muhendisi farki duyar
  • Normal musteri fark etmez
  • Kafe/restoran ortam gurultusu maskeliyor
  • Spotify Free de 128k kullaniyor

Donma Etkisi

  • Musteri hemen fark eder
  • Ortam sessizlige gomer
  • Isletme sahibi arar: "bozuldu!"
  • Profesyonellik algisi zarar gorur
  • Tekrar eden donma = iptal riski

Bant Genisligi Karsilastirmasi

MP3 320k
320 kbps
~2.4 MB/dk
Kotu internette DONMA
MP3 128k
128 kbps
~0.96 MB/dk
2G'de bile akar
Fark
%60
daha az bant
= Donma riski sifir

Nasil Calisiyor? (Sunucu Tarafli Tespit)

Sunucu User-Agent'tan cihazi otomatik tespit eder. Kullanici hicbir sey yapmaz, fark etmez bile.

resolveAudioFormat() Karar Zinciri

// SongStreamController.php
1. Admin bu kullaniciya format atamis mi? → evet: o formati kullan
2. Kurumsal hesap (50+ kisi) mi? → evet: MP3 128k
3. Mobil veya Tablet mi? → evet: MP3 128k
4. Hicbiri (PC) → HLS (adaptif, sifreli)

jenssegers/agent paketi ile sunucuda User-Agent analizi. Manipule edilemez.

Mobil / Tablet

Android, iPhone, iPad, eski ekranlar...

→ MP3 128k (donma sifir)
PC / Laptop

Windows, Mac, Linux

→ HLS (adaptif, sifreli)

Gercek Hayat Senaryolari

Isletmelerde karsilasilan durumlar ve sistem ne yapar:

Eski Tablet
+
Iyi Internet
+
Ses Sistemi
MP3 128k

Kafe senaryosu: Eski tablet kasanin yaninda. HLS tableti yorar. MP3 128k = sifir donma. Ortam gurultusu kalite farkini maskeliyor.

PC / Laptop
+
Iyi Internet
HLS (mid → original)

Ofis/lobi: PC guclu, internet stabil. En iyi deneyim — adaptif kalite, sifreli icerik, donma yok.

Eski Windows Ekran
+
Orta Internet
HLS (adaptif)

Windows = PC olarak algilanir → HLS. Internet yavaslarsa ABR otomatik ultralow'a duser. Donuyorsa admin o kullaniciya MP3 atayabilir.

Telefon / Tablet
+
Kotu Internet
MP3 128k

En kotu senaryo ama en guvenli format. 128kbps = saniyede sadece 16 KB. 2G'de bile donmadan akar.


Admin Paneli

Bir isletme "donuyor" veya "ses kalitesi dusuk" dedi. Admin ne yapacak?

Kullanici Duzenle Sayfasi

Otomatik (Onerilen)
Otomatik — Mobil/Tablet → MP3 128k, PC → HLS. Sunucu karar verir.
HLS Zorla — Her cihazda HLS. Guclu cihazi var ama otomatik MP3'e dusuyorsa.
MP3 — Her cihazda MP3 128k. PC'de HLS donuyorsa bunu sec.
"Donuyor" derlerse

→ MP3 sec, kaydet. O isletme her cihazdan MP3 128k dinler. Donma sifir.

"Ses kotu" derlerse

→ HLS Zorla sec. Guclu cihazlari varsa orijinal kalite alirlar. Yoksa donma riski var, uyar.


HLS Segment Suresi

Tum Kaliteler 4 Saniye

ultralow
4 sn
16 KB/parca
low
4 sn
32 KB/parca
mid
4 sn
64 KB/parca
original
4 sn
~100 KB/parca
Tum kaliteler ayni sure → gecis sirasinda bosluk yok
4 saniye = hizli ABR uyumu, internet dusunce 4sn icinde kalite duser → donma yok
ConvertToHLSJob.php guncellendi: hls_time 6 → 4

Yeni Sarki Yuklenince Ne Olur?

Admin panelden sarki yuklendiginde otomatik olarak uretilir:

1
HLS Original (orijinal kalite)
AES-128 sifreli, 4sn segmentler
OTOMATIK
2
HLS Variant'lar (ultralow / low / mid)
32k, 64k, 128k — yavas internet icin otomatik kalite gecisi
OTOMATIK
3
MP3 128k (Soft Mode)
Mobil/tablet icin hafif format + 128k yoksa orijinal MP3'e fallback
OTOMATIK
4
master.m3u8
4 HLS kalite seviyesini listeleyen ana dosya
OTOMATIK

Admin sadece MP3 yukler, gerisini sistem halleder.


Versiyon Gecmisi

v1 Frontend JS ile cihaz tespiti + MP3 128k

localStorage + JavaScript ile RAM/CPU olcumu. Guvenilmez, manipule edilebilir.

v2 Sunucu User-Agent + MP3 Orijinal (320k)

Isletmelerin ses sistemi kullandigi ogreniince 320k'ya gecildi. Ama donma riski vardi.

v3 (guncel) Sunucu User-Agent + MP3 128k (donma sifir onceligi)

Donma, ses kalitesinden daha onemli. 128k profesyonel hoparlorde hafif fark yaratir ama donma asla kabul edilemez. Isletme ortam gurultusu 128k/320k farkini maskeliyor.


Mevcut Durum

Tamamlanan Isler

resolveAudioFormat() — Admin > Kurumsal > Cihaz > Varsayilan zinciri
audio_preference migration + Model + Admin panel dropdown
User-Agent tespiti (jenssegers/agent) — Mobil/Tablet → MP3 128k
MP3 128k serve (donma sifir onceligi)
ConvertToHLSJob: hls_time 6 → 4 (tum kaliteler ayni)
Yeni sarki: 4 HLS variant + MP3 128k otomatik uretim
5 test sarkisi: tum variant'lar + MP3 128k mevcut
"high" → "original" isimlendirme (HLSService.php)

Kalan Isler

KOD "high" → "original" tum dosyalarda tamamla

SongStreamController, player-core.js, performance-debug.js, AddHlsVariantsCommand

BATCH 5 test sarkisini 4sn + "original" ile yeniden encode

Mevcut high segmentler 6sn → 4sn olarak yeniden olustur + master.m3u8 guncelle

BUG HLS keyLoadError cozumu

HLS.js "after key load, decryptdata unset or changed" hatasi. Arastirma devam ediyor.

TEST Mobil/Tablet MP3 128k calma testi

Mobil User-Agent ile istek atildiginda 128k MP3'in dogru sunuldugunu dogrula