Icecast: Bir üniversite radyosu için yazılan açık kaynak sunucunun çeyrek asrı aşan hikâyesi
Icecast, 1998-1999'da bir üniversite radyosu için yazıldı; bugün Xiph.Org çatısı altında GPL lisanslı bir yayın sunucusu. Tarihçesi, Ogg Vorbis ve Opus bağı, SHOUTcast'ten farkları.
Icecast'in 2.4.4 sürümü 31 Ekim 2018'de çıktı. Bir sonraki kararlı sürüm, 2.5.0, projenin resmî haber sayfasına göre 31 Aralık 2025'te geldi. Yedi yıl boyunca yeni kararlı sürüm çıkmadı; yazılım ise bu arada eski sürümüyle kullanılmaya devam etti. Bu sessiz dayanıklılık, Icecast'in hikâyesinin özü: gösterişli değil, ücretsiz, açık ve işini yapan bir altyapı parçası.
Bir internet radyosu dinlediğinizde sesin size ulaşması için arka planda iki şey gerekir: sesi üretip gönderen bir program ve bu sesi aynı anda çok sayıda dinleyiciye dağıtan bir sunucu. Icecast ikinci işi yapar. Neden önemli olduğunu anlamak için hem doğduğu dönemin koşullarına hem de açık kaynak lisansının ne sağladığına bakmak gerekiyor.
-
Yemek tarifleri
Malzeme listesi, adım adım yapılış, süre ve porsiyon bilgisiyle. Çorbadan tatlıya kategoriye göre gez ya da aradığını doğrudan ara.
Tariflere bak → -
Nasıl yapılır rehberleri
Telefon ayarlarından resmî işlemlere, hesap güvenliğinden günlük hayattaki küçük sorunlara: numaralı adımlar ve tahmini süreyle anlatılmış rehberler.
Rehberleri gör → -
Program arşivi
Tarayıcılar, güvenlik araçları, ofis ve medya yazılımları. Her kayıtta ne işe yaradığı, sürümü ve indirme bağlantısı.
Programlara göz at → -
Sesli ve görüntülü sohbet
Odalarda grup görüntülü sohbet, birebir sesli arama ve canlı yayın. Tarayıcıdan çalışır — eklenti, uygulama ya da kurulum gerekmez.
Odalara gir →
Pahalı yazılıma karşı bir öğrenci projesi
Vikipedi'deki Icecast maddesine göre proje, Aralık 1998 ile Ocak 1999 arasında Jack Moffitt ve Barath Raghavan tarafından başlatıldı. Moffitt yazılımı ilk olarak Southern Methodist University'nin (SMU) radyo istasyonu için geliştirdi; madde, o dönemde RealAudio gibi mevcut akış yazılımlarının istasyon için fazla pahalı olduğunu aktarıyor. Aynı kaynağa göre ilk sürüm 1999'da MP3 desteğiyle çıktı ve kısa süre sonra Vorbis desteği eklendi.
Aynı yıllarda Nullsoft'un SHOUTcast'i ücretsiz dağıtılıyordu, ama kaynak kodu kapalıydı. Icecast'in farkı, isteyen herkesin kodu okuyup değiştirebilmesiydi. Proje bugün GNU Genel Kamu Lisansı'nın (GPL) 2. sürümüyle dağıtılıyor; Icecast'in hem resmî sitesi hem de kaynak kodundaki README dosyası bunu açıkça yazıyor. GPL, kısaca, yazılımı kullanma, inceleme, değiştirme ve dağıtma özgürlüğü tanıyan, değiştirilmiş sürümlerin de aynı özgürlüklerle dağıtılmasını şart koşan bir lisans.
Xiph.Org: "İnternet standartları kamuya ait olmalı"
Icecast bugün Xiph.Org'un projeleri arasında yer alıyor. Xiph.Org'un sitesi kendisini "açık kaynaklı, multimedya ile ilgili projelerden oluşan bir topluluk" olarak tanımlıyor ve çatısı altında Opus, FLAC, Vorbis, Theora, Speex gibi ses ve görüntü biçimlerini sayıyor. Kuruluşun Christopher "Monty" Montgomery imzasıyla 14 Mayıs 1999 tarihli misyon metni, amacı "internet ses ve görüntüsünün temel standartlarını, tüm internet standartlarının ait olduğu yere, kamu malına taşımak" diye özetliyor.
Bu felsefenin somut ürünü Ogg Vorbis oldu. Xiph.Org'un Temmuz 2002'de yayımladığı mektup, Vorbis 1.0'ı duyururken okura şöyle sesleniyordu: "Sizi tüketici olarak görmüyoruz. Siz harika teknoloji isteyen ve o teknolojiyi lisans ücretleri için endişelenmeden kullanmak isteyen insanlarsınız." Vorbis, MP3 gibi kayıplı sıkıştırma yapan ama lisans ücreti gerektirmeyen bir ses biçimi olarak tasarlanmıştı. Icecast da bu biçimin doğal yayın aracı haline geldi.
Daha sonra gelen Opus ise tek bir kuruluşun değil, internet standartlarını belirleyen IETF'in belgesi oldu. Eylül 2012'de yayımlanan RFC 6716, Opus'u konuşma ve müzik için etkileşimli bir ses kodlayıcısı olarak tanımlıyor; belgeye göre Opus, 6 kbit/sn'lik dar bantlı konuşmadan 510 kbit/sn'lik yüksek kaliteli stereo müziğe kadar ölçeklenebiliyor. Belgenin yazarları Mozilla'dan Jean-Marc Valin ve Timothy B. Terriberry ile Skype'tan Koen Vos. Icecast'in resmî SSS sayfası bugün resmen desteklenen biçimleri Ogg (Vorbis, Theora), Opus, FLAC ve WebM olarak sıralıyor.

Sunucu nasıl çalışıyor: kaynak istemci ve bağlama noktası
Icecast belgeleri sistemi iki parçaya ayırıyor. Kaynak istemci (source client), sesi kodlayıp sunucuya gönderen programdır; Icecast ise dinleyicilerin bağlandığı yerdir ve gelen akışı onlara dağıtır. Belgeler kaynak istemcinin genellikle sunucudan ayrı bir makinede çalıştığını ama bunun zorunlu olmadığını belirtiyor. Projenin kendi kaynak istemcisi IceS için SSS şu tarifi veriyor: IceS, diskteki dosyaları okuyabilir ya da ses kartından canlı sesi alıp anında kodlayarak sunucuya iletebilir.
İkinci temel kavram bağlama noktası (mountpoint). Belgelere göre her Icecast sunucusu, her biri ayrı bir akış taşıyan birden çok yayını barındırabilir; bağlama noktası da bir akışı tanımlayan ve dosya adına benzeyen benzersiz bir addır. Bu sayede tek sunucuda farklı içerikte yayınlar ya da aynı yayının farklı kalitede sürümleri yan yana durabilir. Bir benzetmeyle, sunucu bir apartmansa bağlama noktaları daire numaralarıdır; dinleyici aynı anda yalnızca bir kapıyı çalabilir.
SSS sayfası bir sınırı da açıkça yazıyor: bir bağlama noktasının bütün dinleyicileri aynı akışı alır, bu yüzden tek bir dinleyici yayını duraklatamaz ya da diğerlerini etkilemeden farklı parça ekleyemez. Yani Icecast bir müzik uygulaması değil, gerçek anlamda bir radyo altyapısıdır.
SHOUTcast ile farkları
İki sunucu aynı işi yapıyor, ama çıkış noktaları farklı. Aşağıdaki tablo, iki projenin kendi sitelerindeki ve belgelerindeki bilgilerden derlendi; özellikler sürüme göre değişebildiği için ayrıntılar resmî belgelerden kontrol edilmeli.
| Konu | Icecast / Shoutcast |
|---|---|
| Lisans | Icecast: GNU GPL 2. sürüm, açık kaynak / Shoutcast: sunucu yazılımı ücretsiz sunuluyor, kaynak kodu açık değil |
| Yürüten | Icecast: Xiph.Org topluluğu / Shoutcast: Azerion bünyesindeki Targetspot çatısı |
| Resmî biçim desteği | Icecast: Ogg (Vorbis, Theora), Opus, FLAC, WebM / Shoutcast: ağırlıklı olarak MP3 ve HE-AAC (Vikipedi) |
| Barındırma | Icecast: kendi sunucunuzda / Shoutcast: kendi sunucunuzda ya da şirketin barındırdığı ücretli planlarda |
MP3 konusunda küçük bir ayrıntı var. Icecast 2.4 belgelerinin giriş sayfası sunucunun Ogg Vorbis ve MP3 akışlarını desteklediğini yazarken, güncel SSS sayfası MP3, AAC gibi özgür olmayan kodlayıcılar için "çalışabilir ama resmen desteklemiyoruz" diyor. Yani MP3 yayını mümkün, ama projenin önceliği açık biçimler.
Bugün kim kullanıyor? AzuraCast örneği
Icecast'i kullanan istasyonların tam listesi yok; ama yaygınlığını gösteren somut bir örnek, açık kaynak radyo yönetim paneli AzuraCast. AzuraCast'in resmî belgeleri, kendisini "kendi sunucunuzda barındırılan, hepsi bir arada web radyosu yönetim paketi" olarak tanımlıyor ve yayın ön ucu olarak Icecast-KH kullandığını yazıyor. Icecast-KH, GitHub'da "Icecast'in KH dalı" olarak tanımlanan, ana projeden ayrılmış bir sürüm. Belgelere göre panelin sürekli çalan otomatik DJ'i Liquidsoap ile işliyor; Shoutcast 2 DNAS da x86/x64 kurulumlarda kullanılabiliyor, ancak özgür yazılım olmadığı için pakete dahil edilmiyor ve kurulumdan sonra yönetim panelinden ayrıca yükleniyor. AzuraCast'in kendisi GNU Affero GPL 3. sürümle lisanslı.
Yudum'un kendi internet radyosu YudumFM de yayın altyapısında AzuraCast kullanıyor; yani bu satırları okurken dinlediğiniz bir YudumFM yayını, yirmi beş yılı aşkın süre önce bir üniversite radyosu için başlatılan projenin mirasından yararlanıyor olabilir.
Geriye açık bir soru kalıyor. Icecast'in 2.5.0 sürümü, resmî duyuruya göre web arayüzü iyileştirmeleri ve deneysel bir karanlık mod gibi yenilikler getirdi, ama yedi yıllık aranın ardından geldi. Gönüllü emeğiyle ayakta duran altyapı projeleri, onlara dayanan binlerce istasyonun beklentisine ne kadar hızlı yanıt verebilir? Icecast'in öyküsü, açık kaynağın hem gücünü hem de bu kırılganlığını aynı anda gösteriyor.
İnternet radyosu serisinin diğer yazıları
- AzuraCast nedir? Açık kaynak internet radyosu paketi nasıl çalışır
- Liquidsoap nedir? İnternet radyosunda otomatik yayını yöneten betik dili
- 128 kbps ne demek? İnternet radyosunda bit hızı, bant genişliği ve codec farkı
- Radyoda "şu an çalıyor" bilgisi nereden gelir? ICY, ID3 etiketi ve bozuk başlıklar
- SAM Broadcaster, RadioDJ, mAirList, BUTT ve Mixxx: Hangi Yayın Yazılımı Ne İşe Yarar?
- İnternet Radyosunda Canlı Yayına Nasıl Girilir? Sunucu, Port, Mount ve Codec Rehberi
- İnternet Radyosu İçin Ekipman Rehberi: Mikrofon, Ses Kartı, Kulaklık ve Ses Seviyesi
- İnternet Radyosunda Telif ve Lisans: Hangi Haklar Var, Hangi Birlik Neyi Temsil Ediyor?
- İnternet radyosunun doğuşu: 1993'teki haftalık sohbetten RealAudio'nun canlı yayınına
- SHOUTcast'in hikâyesi: Winamp'ın yanında doğan yayın sunucusu Nullsoft'tan Azerion'a
- FM'den internete radyo: RDS, DAB+ ve akışlı yayın arasındaki farklar, Türkiye'deki durum
Fotoğraf: Carl Lender from Sunrise, USA, CC BY 2.0, Wikimedia Commons