Radyonuz yayında, ama dinleyiciler sizi nasıl bulacak? Kendi web sitenizdeki oynatıcı ilk adımdır; asıl keşif ise TuneIn, Radio Garden, Radio Browser ve SHOUTcast ile Icecast dizinleri gibi platformlardan gelir. Bu dizinlerin her birinin kendi başvuru yolu, yayın adresi biçimi, logo ölçüsü ve teknik şartları vardır. Başvuruların çoğu da aynı birkaç nedenle reddedilir: yanlış adres türü, HTTPS olmayan yayın, eksik metadata.

Bu yazıda her dizinin resmî yardım sayfalarında yazanları derledik: TuneIn Broadcaster Portal alanları ve red nedenleri, Icecast ve SHOUTcast'in sunucu tarafında yaptığı otomatik listeleme, Radio Browser'ın açık API'si ve Radio Garden'ın başvuru sayfası. Google Home ve Alexa tarafında yalnızca TuneIn'in kendi destek sayfalarında belgelenen bilgileri aktarıyoruz.

Başvurudan önce: hazırlık listesi

Başvurudan önce: hazırlık listesi: Ham yayın adresi (raw stream URL), HTTPS, Yayın biçimi ve bitrate, Logo

Hangi dizine başvurursanız başvurun, aşağıdaki maddeleri önceden hazırlamak işinizi hızlandırır:

  • Ham yayın adresi (raw stream URL): Web oynatıcı sayfası değil, doğrudan ses akışının adresi. Örnek biçimler: https://yayin.ornekradyo.com:8000/canli (Icecast mount point) veya https://yayin.ornekradyo.com/stream (SHOUTcast). Adresin VLC gibi bir oynatıcıda doğrudan açılması gerekir.
  • HTTPS: Güvenli (https) yayın adresi. Nedenini aşağıda TuneIn bölümünde açıklıyoruz. Sertifika kurulumu için SSL sertifikası nasıl alınır yazısına bakabilirsiniz.
  • Yayın biçimi ve bitrate: MP3 veya AAC, kaç kbps olduğu. Codec seçimi için radyo yayını bitrate ve codec rehberi.
  • Logo: Kare, yüksek çözünürlüklü PNG veya JPG.
  • Metadata: Yayın adı, açıklama, tür (genre), web sitesi, şehir ve ülke; encoder'dan gönderilen şarkı ve sanatçı bilgisi.
  • 7/24 erişilebilirlik: Dizinler kesintili yayınları genellikle kabul etmez. 7/24 yayın için AutoDJ kullanabilirsiniz.

TuneIn'e radyo ekleme

TuneIn'de istasyon başvurusu Broadcaster Portal üzerinden yapılır. Portaldaki "Add a Station" formu istasyon adı (title), slogan, web sitesi, konum ve yayın bölümü ister; yayın bölümünde Stream URL, Media Type ve kbps cinsinden Bandwidth alanları vardır.

Yayın adresi şartları

TuneIn'in "Why is my streaming URL not accepted?" makalesine göre başlıca red nedenleri şunlardır:

Red nedeniAçıklama (TuneIn yardım sayfası)
Invalid URLHam yayın adresi yerine web oynatıcı veya web sitesi bağlantısı gönderilmiş
Inactive URLYayın günde 24 saat aktif olmalı
Restricted URLGiriş gerektiren veya süresi dolan token içeren adresler kabul edilmez
Stream not compatibleBiçim desteklenmiyor; barındırma sağlayıcınızdan daha uyumlu bir alternatif isteyin
Geo-restricted URLCoğrafi kısıtlama varsa bitrate, biçim ve erişilebilen ülkeler bildirilmeli

Aynı makale biçim konusunda net bir öneri yapar: MP3, TuneIn platformlarında en uyumlu biçimdir ve başka biçim kullanıyorsanız en az bir MP3 alternatifi sunmanız önerilir. AAC mobil uygulamalarda iyi çalışır; HLS ise yalnızca mobilde uyumlu biçimler arasında listelenir. Çalma listesi dosyalarında .m3u ve .pls en yaygın ve uyumlu uzantılardır; .m3u8 adresleri varsayılan olarak HLS kabul edilir. TuneIn, göndermeden önce adresi VLC gibi bir oynatıcıda test etmenizi önerir.

HTTPS neden şart gibi?

TuneIn'in Chrome ile ilgili yardım makalesi, Şubat 2020'deki bir Chromium güncellemesiyle güvenli (HTTPS) sitelerde güvensiz (HTTP) yayınların çalınamaz hâle geldiğini belirtir ve TuneIn'in güvenli sitesinde çalınabilmek için yeni bir HTTPS yayın adresi sağlamanızı önerir. Aynı makale SHOUTcast v1 sunucularındaki yayınların HTML5 web oynatıcılarla artık uyumlu olmadığını ve SHOUTcast v2'ye geçilmesini önerir.

Logo ve kapak görseli

TuneIn'in logo yönergeleri, logonun 1200 x 1200 piksel ve en az 100 dpi olarak tasarlanmasını, 120 piksellik güvenli alan bırakılmasını, JPEG veya PNG olarak kaydedilmesini ister. Logoda URL, sosyal medya kullanıcı adı veya simgesi ve telifli görsel kullanılmaması istenir. Kapak görseli ölçüsü TuneIn'in farklı yardım sayfalarında farklı verildiği için (red nedenleri makalesinde 1024 x 300 piksel geçiyor) yüklemeden önce portalda gösterilen güncel ölçüye bakın. Yanlış boyuttaki görseller kabul edilmez.

Şarkı ve sanatçı bilgisi (Now Playing)

TuneIn'in metadata makalesine göre şarkı bilgisinin görünmemesinin nedenleri şunlardır: istasyonda en az bir müzik türü (genre) tanımlı olmaması (metadata yalnızca tür tanımlıysa TuneIn'in üçüncü taraf veritabanında aranır), tutarsız yayın metadatası veya aranamayan başlıklar. AIR API kullanmayan istasyonlarda metadatanın görünmesi birkaç dakikalık sürekli dinleme gerektirebilir ve daha az güvenilirdir. Encoder'ınızda şarkı bilgisini "Sanatçı - Şarkı" biçiminde tutarlı göndermek işinizi kolaylaştırır.

Diğer red nedenleri

TuneIn'in başvuru reddi makalesi ayrıca karasal (AM/FM/DAB) istasyonlar için ulusal düzenleyici kurumdan lisans kanıtı istendiğini belirtir. Makale bu kanıtı karasal istasyonlar için anar; her durumda eksik veya geçersiz istasyon bilgisi başvurunun reddedilmesine yol açar. Destek için TuneIn'in yayıncı destek adresi broadcaster-support@tunein.com'dur.

Icecast dizini (dir.xiph.org)

Icecast dizini, Icecast sunucusu kullanan internet radyolarını listeleyen bir dizindir. Burada bir başvuru formu yoktur; listeleme sunucu tarafında otomatik yapılır. Icecast belgesindeki "Listing in a YellowPage Directory" sayfasına göre gerekenler şunlardır:

  • Icecast'in YP desteğiyle derlenmiş olması (derleme sırasında libcurl varsa dahildir).
  • Yayın yazılımınızın bağlanırken Ice-Public: 1 başlığını göndermesi; sunucudaki mount ayarları bunu geçersiz kılabilir.
  • hostname değerinin sunucuyu gösteren gerçek bir alan adı olması (localhost değil).
  • admin alanında geçerli bir teknik iletişim e-postası olması; belge geçersiz adresin yasaklanmaya yol açabileceğini belirtir.
  • Yayın adreslerinin internetten erişilebilir olması; /admin/ sayfasındaki listenurl değerlerini kontrol edin.
  • Alan adınızın hem AAAA hem A kaydı varsa Icecast'in hem IPv6 hem IPv4 üzerinde dinlemesi.

Yapılandırma örneği (Icecast belgesindeki örnekten uyarlanmıştır):

xml
<directory>
    <yp-url-timeout>15</yp-url-timeout>
    <yp-url>http://dir.xiph.org/cgi-bin/yp-cgi</yp-url>
</directory>

<mount>
    <mount-name>/canli</mount-name>
    <public>1</public>
    <stream-name>Örnek Radyo</stream-name>
    <stream-description>7/24 Türkçe pop</stream-description>
    <stream-url>https://www.ornekradyo.com</stream-url>
    <genre>Pop</genre>
    <bitrate>128</bitrate>
</mount>

Icecast belgesine göre <public> için varsayılan değer -1'dir, yani karar yayın yazılımına bırakılır; 0 listelemeyi engeller, 1 zorlar. stream-name, stream-description, stream-url, genre ve bitrate değerleri istatistiklere ve dolayısıyla YP dizinine eklenir. HTTPS için listen-socket içinde <ssl>1</ssl> ve <paths> içinde ssl-certificate tanımlanır; Icecast'in OpenSSL ile derlenmiş olması gerekir. Port ayarları için bilinen port numaraları rehberine bakabilirsiniz.

SHOUTcast dizini

SHOUTcast dizininde de listeleme sunucu yazılımı üzerinden yapılır. SHOUTcast yardım merkezindeki makaleye göre 1.x sürümleri artık desteklenmemekte ve web sitesinden, YellowPages'ten ve API'den kaldırılmaktadır; DNAS 2.5 veya daha yeni bir sürüm önerilir. Makalede listelenmeyen istasyonlar için iki temel kontrol önerilir: authhash'in admin.cgi sayfasından kaydedilmesi ve sunucunun public (herkese açık) modda çalışması.

Authhash, yayınınızı SHOUTcast dizinine tanıtan anahtardır. SHOUTcast hesabınızdaki Radio Manager ile ilişkilidir. Yapılandırma dosyasında streamauthhash parametresiyle tanımlanır. Ayrıntılar sürüme göre değiştiği için kullandığınız DNAS sürümünün belgesine bakın.

Radio Browser (radio-browser.info)

Radio Browser (radio-browser.info): name, Yayın adresi, zorunlu, homepage, favicon

Radio Browser, açık kaynaklı ve ücretsiz bir radyo istasyonu veritabanıdır; API belgesi kendini "completely free and open source" olarak tanımlar. İstasyon ekleme API üzerinden yapılır: /json/add veya /xml/add uç noktası kullanılır. Zorunlu alanlar yalnızca name (en fazla 400 karakter) ve url (yayın adresi)'dir.

ParametreAçıklama (API belgesi)
nameİstasyon adı, zorunlu
urlYayın adresi, zorunlu
homepageİstasyonun web sitesi
faviconJPG veya PNG görsel adresi
countrycodeISO 3166-1 alpha-2 ülke kodu (Türkiye için TR)
iso_3166_2Bölge kodu (state parametresinin yerine)
languagecodesISO 639-2/B dil kodları (Türkçe için tur)
tagsVirgülle ayrılmış etiketler, örneğin pop,rock
geo_lat, geo_longKonum koordinatları (isteğe bağlı)

API belgesine göre tüm parametreler GET yerine x-www-form-urlencoded veya application/json kodlamalı bir HTTP POST isteğiyle de gönderilebilir. Örnek:

bash
curl -X POST "https://de1.api.radio-browser.info/json/add" \
  --data-urlencode "name=Örnek Radyo" \
  --data-urlencode "url=https://yayin.ornekradyo.com/canli" \
  --data-urlencode "homepage=https://www.ornekradyo.com" \
  --data-urlencode "favicon=https://www.ornekradyo.com/logo.png" \
  --data-urlencode "countrycode=TR" \
  --data-urlencode "languagecodes=tur" \
  --data-urlencode "tags=pop,türkçe"

Başarılı olduğunda yanıt ok, "station was added" mesajı ve yeni istasyonun uuid değerini döndürür. Radio Browser istasyonları düzenli olarak kontrol eder: lastcheckok alanı, farklı ülkelerdeki test sunucularının çoğunluk oyuyla yayının açık (1) veya kapalı (0) olduğunu gösterir. ssl_error alanı HTTPS bağlantısında hata olup olmadığını, url_resolved ise M3U, PLS, ASX çalma listelerinin ve 301/302 yönlendirmelerinin çözülmüş hâlini gösterir. Sertifikanızın geçerli olması bu yüzden önemlidir.

Radio Garden

Radio Garden, istasyonları dünya haritası üzerinde gösteren bir platformdur ve istasyon eklemek veya güncellemek için resmî bir başvuru sayfası (submit.radio.garden) bulunur. Başvuru formunun hangi alanları istediğini ve hangi kriterlere göre değerlendirme yapıldığını Radio Garden'ın resmî sayfasından doğrulayamadık; üçüncü taraf rehberlerdeki bilgiler de birbiriyle çelişiyor. Bu nedenle başvurmadan önce güncel talimatları doğrudan sayfadan okuyun.

Genel ilke olarak, diğer dizinler için hazırladığınız ham HTTPS yayın adresi, kare logo ve doğru şehir bilgisi Radio Garden başvurusunda da işinize yarar.

Google Home ve Alexa

Akıllı hoparlörler için ayrı bir "radyo ekleme" sürecine dair resmî bir yayıncı belgesi bulamadık. Ancak TuneIn'in kullanıcı destek sayfaları iki önemli bilgi verir: TuneIn tüm Alexa destekli cihazlarda önceden yüklü gelir ve Google Home cihazları şu anda yalnızca MP3 ve AAC biçimindeki yayınları çalabilir. Dolayısıyla TuneIn'de listelenen ve MP3 veya AAC yayını olan bir istasyon, dinleyicinin "OK Google, TuneIn'de [istasyon adı] çal" gibi sesli komutlarıyla açılabilir. Ses komutunda istasyon adının doğru tanınması için kısa ve okunuşu net bir istasyon adı tercih edin.

Dizinler karşılaştırması

Dizinler karşılaştırması: TuneIn, Icecast dizini, SHOUTcast dizini, Radio Browser
DizinBaşvuru yoluÖnerilen biçimÖne çıkan şart
TuneInBroadcaster Portal formuMP3 (en az bir MP3 alternatifi)Ham URL, 7/24 yayın, HTTPS, 1200 x 1200 logo
Icecast diziniSunucudan otomatik (YP)Icecast'in taşıdığı biçimlerIce-Public: 1, geçerli hostname ve admin e-postası
SHOUTcast diziniSunucudan otomatik (authhash)MP3 / AACDNAS 2.5+, authhash, public mod
Radio BrowserAçık API (/json/add)Belirtilmemişname ve url zorunlu, düzenli erişim kontrolü
Radio Gardensubmit.radio.gardenDoğrulanamadıGüncel talimatlar için resmî sayfa

Sorun giderme

  • Başvuru "Invalid URL" ile reddedildi: Gönderdiğiniz adres bir web sayfası. Tarayıcıda açtığınızda HTML sayfası yerine ses akışı veya indirme başlamalı.
  • Yayın TuneIn web oynatıcısında çalmıyor: HTTP adres kullanıyorsanız HTTPS adres verin; SHOUTcast v1 kullanıyorsanız v2'ye geçin.
  • Icecast dizininde görünmüyorum: Encoder'da "public" seçeneğinin açık olduğunu, hostname değerinin doğru olduğunu ve portun dışarıdan erişilebilir olduğunu kontrol edin. Güvenlik duvarı için UFW rehberine bakın.
  • SHOUTcast dizininde görünmüyorum: Authhash'in kaydedildiğini ve sunucunun public modda olduğunu kontrol edin.
  • Şarkı bilgisi görünmüyor: TuneIn'de müzik türü tanımlayın ve encoder'ın metadata gönderdiğini doğrulayın.

Sık Sorulan Sorular

TuneIn'e radyo eklemek ücretli mi?

TuneIn'in incelediğimiz yardım sayfalarında istasyon başvurusu için bir ücretten söz edilmiyor. Güncel koşullar için Broadcaster Portal'a bakın.

Hangi yayın adresini vermeliyim, m3u mu doğrudan adres mi?

TuneIn ham yayın adresi ister; çalma listesi dosyalarında .m3u ve .pls en uyumlu uzantılardır. Radio Browser da M3U ve PLS listelerini çözümler. En güvenli yol, doğrudan mount point adresini vermektir.

Ham yayın adresimi nereden bulurum?

Icecast'te adres https://alanadi:port/mountpoint biçimindedir; Icecast yönetim panelindeki listenurl değerlerinde görünür. SHOUTcast'te sunucu ve port ile birlikte stream yolunu kullanırsınız. Barındırma panelinizde bu adres genellikle "yayın adresi" olarak verilir. Kurulum adımları için internet radyosu kurma rehberine bakın.

Dizinlere kayıt için RTÜK lisansı gerekir mi?

TuneIn lisans kanıtını karasal (AM/FM/DAB) istasyonlar için ister. Türkiye'deki yasal yükümlülükler ise ayrı bir konudur; internetten canlı yayın için RTÜK lisansı ve radyo yayınında müzik telifi yazılarına bakın.

Yazılım ve platform adları sahiplerine aittir. Bu yazı bağımsız bir teknik rehberdir; adı geçen şirketlerle ortaklık ilişkisi bulunduğu anlamına gelmez.

İlgili içerikler: İnternet radyosu nasıl kurulur · Bitrate ve codec seçimi · SHOUTcast ve Icecast farkı · AutoDJ nedir · Web sitesine canlı yayın ekleme · SSL sertifikası nasıl alınır