12e - Radyo Yönetimi | Sayfa 12e / 161
Sonraki
Muzibu Modülü

Radyo Yönetimi

Canlı radyo istasyonları ve stream yönetimi.

Bu Ne İşe Yarar?

Şarkıların yanı sıra canlı radyo yayınlarını da platformunuza ekleyebilirsiniz. Dış kaynaklı radyo akışlarını (TRT FM, Radyo D gibi) veya kendi radyo yayınınızı kullanıcılara sunabilirsiniz.

Canlı Yayın Avantajı

Kullanıcılar şarkı seçmek yerine bir radyo kanalı açıp bırakabilir. 7/24 müzik akışı, DJ yorumları ve haberler.

Radyo Özellikleri

Stream URL

Radyo yayınının canlı akış adresi. MP3, AAC veya HLS formatında olabilir.

Logo

Radyo istasyonunun logosu. Player'da ve listelerde gösterilir.

Tür İlişkisi

Her radyo bir müzik türüne bağlanır. "Jazz Radyoları" gibi gruplama yapılır.

Canlı Durum

Radyo şu an yayında mı? Sistem bunu otomatik kontrol eder.

Arkada Ne Oluyor?

Stream Proxy

Dış radyo yayınları doğrudan kullanıcıya gönderilmez. Sistem araya girer, böylece dinleme istatistikleri toplanır ve yayın kesintileri yönetilir.

Otomatik Yeniden Bağlanma

Radyo yayını kesilirse player otomatik olarak yeniden bağlanmaya çalışır. Kullanıcı fark etmez bile.

Now Playing

Bazı radyolar şu an çalan şarkı bilgisini paylaşır. Bu bilgi player'da gösterilir.

Biz Ne Yaptık?

Eski Yöntem
  • Sadece şarkı listesi, canlı yayın yok
  • Dış radyo entegrasyonu imkansız
  • 7/24 içerik için manuel playlist gerekir
Modern Mimari
  • Canlı radyo desteği
  • Herhangi bir stream URL eklenebilir
  • Otomatik durum kontrolü

Arkaplanda Neler Çalışıyor?

Kullanıcı bir radyo istasyonuna tıkladığında sistem şu adımları izler:

1. Stream URL Çözümleme

Radyo kaydındaki stream URL'i alınır. URL formatı kontrol edilir: doğrudan MP3/AAC stream mi, yoksa playlist (.m3u, .pls) mi? Playlist ise içindeki gerçek stream URL'i parse edilir.

2. Proxy URL Oluşturma

Dış radyo stream'i doğrudan kullanıcıya verilmez. Sistem araya girer: /api/radio/stream/{id} şeklinde proxy endpoint oluşturulur. Bu URL player'a gönderilir. Böylece gerçek stream URL'i gizli kalır.

3. Stream Proxy İşlemi

Proxy endpoint çağrıldığında, sunucu dış radyo kaynağına bağlanır ve gelen veriyi aynen kullanıcıya iletir. cURL ile stream açılır, chunk chunk (parça parça) data okunur ve flush edilir. Bu sürekli akan bir bağlantıdır.

4. Canlı Durum Kontrolü (Health Check)

Arka planda cron job her 5 dakikada tüm radyoların durumunu kontrol eder. Stream URL'ine HEAD request atılır. 200 OK dönerse "online", hata dönerse "offline" olarak işaretlenir. Offline radyolar listede farklı gösterilir.

5. Now Playing (Şu An Çalan) Bilgisi

Bazı radyolar ICY metadata gönderir. Stream header'larındaki "icy-metaint" değeri okunur. Bu değer kadar byte sonra metadata gelir. "StreamTitle='Sanatçı - Şarkı'" formatında parse edilir ve player'da gösterilir.

6. Otomatik Yeniden Bağlanma

Player JavaScript'i bağlantı koptuğunda (error event) otomatik yeniden bağlanmayı dener. Exponential backoff uygulanır: 1sn, 2sn, 4sn, 8sn... Maksimum 5 deneme sonrası kullanıcıya hata mesajı gösterilir.

7. Dinleme İstatistikleri

Proxy üzerinden geçen her bağlantı kayıt altına alınır. Hangi radyo kaç kez dinlendi, ortalama dinleme süresi, en popüler saatler gibi istatistikler toplanır. Bu veriler raporlama için kullanılır.

Bu Sayfanın Anahtar Terimleri

Stream (Akış)
Sürekli akan veri. Radyoda müzik sürekli akar, dosya indirilmez. Akan su gibi düşünün.
Proxy (Aracı)
İki sistem arasında köprü görevi gören ara katman. Tercüman gibi çalışır.
RADYO
Canlı Yayın
Jazz FM
Canlı Yayın
Rock FM
Canlı Yayın