Muzibu Audio Format Sistemi

Bunny CDN Hybrid + Cihaz Bazlı Akıllı Format Seçimi

Aktif ve Çalışıyor
🖥️

PC

HLS Full

Tüm kaliteler (32k → orijinal)

Şifreli + ABR + Bunny CDN

📱

Mobil Good

HLS Full

Tüm kaliteler (32k → orijinal)

4GB+ RAM, 4+ CPU, 4G

📵

Mobil Weak

HLS Soft

Max 64kbps (32k → 64k)

Eski cihaz veya yavaş internet

Format Karar Zinciri (5 Seviye)

1

MUZIBU_AUDIO_FORCE (Kill Switch)

Acil durumlarda TÜM kullanıcıları zorlar. Şu an: boş

→ atla
2

_mz Query Param (Debug)

Sadece root kullanıcılar test için. URL: ?_mz=ha

→ atla
3

User audio_preference (Kişi Bazlı)

Admin panelden kullanıcıya özel ayar. Şikayet gelirse kullanılır.

→ 'auto' ise atla
4

MUZIBU_DEFAULT_AUDIO_FORMAT (ENV)

Sistem geneli varsayılan. Şu an: auto

→ 'auto' ise atla
5

Cihaz Tespiti (Aktif)

mz_device cookie + User-Agent analizi

PC
→ hls
Mobil Good
→ hls
Mobil Weak
→ hls_soft
✓ AKTİF

Bunny CDN Hybrid Modu

HLS Serving

master.m3u8 LOCAL (inline blob)
playlist.m3u8 LOCAL (cache)
segment-XXX.ts BUNNY CDN
enc.bin (key) LOCAL (signed)

Token Authentication

# Segment URL örneği:
https://audio.muzibu.com/hls/12345/segment-000.ts?token=xxx&expires=123

Token süresi: 30 dakika | İndirme korumalı

HLS Kalite Seviyeleri (ABR)

Variant Bitrate HLS Full HLS Soft Kullanım
ultralow 32 kbps 2G, çok yavaş internet
low 64 kbps 3G, zayıf WiFi
mid 128 kbps 4G, normal WiFi
high Orijinal Fiber, hızlı 5G

Cihaz Tespit Kriterleri (mz_device Cookie)

✓ GOOD (2/3 kriter)

  • RAM ≥ 4GB
  • CPU ≥ 4 çekirdek
  • Bağlantı = 4G/WiFi
Sonuç: HLS Full

✗ WEAK (varsayılan)

  • RAM < 4GB
  • CPU < 4 çekirdek
  • Bağlantı = 3G/2G
Sonuç: HLS Soft (max 64k)

Cookie yoksa varsayılan olarak "weak" kabul edilir (güvenli taraf).

Admin Kontrol Noktaları

1

Kill Switch (Acil)

MUZIBU_AUDIO_FORCE=mp3_128 → Herkes MP3

.env → php artisan config:cache
2

Kullanıcı Bazlı (Şikayet)

Admin Panel → Kullanıcı → audio_preference

Değerler: auto, mp3_64, mp3_128, hls_soft, hls_auto
3

Sistem Varsayılanı

MUZIBU_DEFAULT_AUDIO_FORMAT=auto

'auto' = cihaz tespiti aktif

Tam Akış Şeması


┌─────────────────────────────────────────────────────────────────┐
│                     KULLANICI PLAY BUTONUNA BASIYOR             │
└────────────────────────────┬────────────────────────────────────┘
                             │
                             ▼
              ┌──────────────────────────────┐
              │  GET /api/songs/{id}/stream  │
              │      (SongStreamController)  │
              └──────────────┬───────────────┘
                             │
                             ▼
              ┌──────────────────────────────┐
              │    resolveAudioFormat()      │
              │    (5 seviyeli karar)        │
              └──────────────┬───────────────┘
                             │
         ┌───────────────────┼───────────────────┐
         │                   │                   │
         ▼                   ▼                   ▼
    ┌─────────┐        ┌─────────┐        ┌──────────┐
    │   PC    │        │ Mobil   │        │  Mobil   │
    │         │        │  Good   │        │  Weak    │
    └────┬────┘        └────┬────┘        └────┬─────┘
         │                  │                  │
         ▼                  ▼                  ▼
    ┌─────────┐        ┌─────────┐        ┌──────────┐
    │HLS Full │        │HLS Full │        │HLS Soft  │
    │(32→orig)│        │(32→orig)│        │(32→64k)  │
    └────┬────┘        └────┬────┘        └────┬─────┘
         │                  │                  │
         └──────────────────┼──────────────────┘
                            │
                            ▼
              ┌──────────────────────────────┐
              │     Bunny CDN Hybrid         │
              │  ┌─────────────────────────┐ │
              │  │ Playlist → LOCAL        │ │
              │  │ Segments → BUNNY CDN    │ │
              │  │ Key      → LOCAL        │ │
              │  └─────────────────────────┘ │
              └──────────────┬───────────────┘
                             │
                             ▼
              ┌──────────────────────────────┐
              │      🎵 MÜZİK ÇALIYOR        │
              │   (Şifreli + CDN Cached)     │
              └──────────────────────────────┘