Eğer IPTV satın almak için biraz olsun araştırma yaptıysanız, iki terimi tekrar tekrar görmüşsünüzdür: "M3U URL" ve "Xtream Codes". Kaputun altında neredeyse aynı şeydirler ve neredeyse tüm modern oynatıcılar her ikisini de destekler, ancak hangisini seçeceğiniz önemlidir — farklı şekillerde hata verirler ve bir şey bozulduğunda birinden diğerine geçmek genellikle en ucuz ve en kolay çözümdür.
Bu, protokollerin teknik bir dökümü değil, aktif bir IPTV kullanıcısının pratik karşılaştırmasıdır.
M3U tek bir dosyanın tek seferlik indirilmesidir; Xtream ise oynatıcının sürekli iletişim kurduğu küçük bir API'dir.
Aslında ne oldukları
M3U düz bir metin dosyasıdır. Bir metin düzenleyicisinde açtığınızda bir başlık (#EXTM3U), ardından her bir kanalı bir yayın (stream) URL'siyle eşleştiren bir dizi #EXTINF:… satırı görürsünüz. Var olan en basit formattır. Oynatıcınız dosyayı bir kez indirir, ayrıştırır ve artık bir kanal listesine sahip olursunuz.
#EXTM3U
#EXTINF:-1 tvg-id="bbc1" group-title="UK",BBC One HD
http://provider.example/live/bbc1/index.m3u8
Veri modelinin tamamı budur: her birinin bir adı ve URL'si olan bir kanallar listesi. Dinamik hiçbir şey yoktur. Yenilenmiş bir liste istiyorsanız dosyayı yeniden indirmeniz gerekir.
Xtream Codes bir HTTP API'sidir. Oynatıcıya bir sunucu adresi, bir kullanıcı adı ve bir şifre verirsiniz; oynatıcı da kanal listesini, VOD (İsteğe Bağlı Video) kütüphanesini, dizi kataloğunu ve TV rehberini (EPG) ayrı belgeler olarak getirmek için bir avuç uç noktayı (get.php?type=m3u_plus, player_api.php, xmltv.php) çağırır. Asıl yayın URL'leri, oynatıcı tarafından kimlik bilgileri ve kanal ID'si kullanılarak oluşturulur.
Mekanik olarak, bir Xtream oturum açma işlemi uç noktalarından biri olarak neredeyse her zaman bir M3U döndürür — bir Xtream sağlayıcısından "M3U içe aktardığınızda", API'nin içindeki belirli bir çağrıyı kullanmış olursunuz. Ancak bunun tersi doğru değildir: düz bir M3U başka hiçbir şeyi dışarıya sunmaz.
Hangisi ne zaman seçilmeli
Şu durumlarda M3U kullanın:
- Sadece canlı kanalları önemsiyorsanız. M3U'nun VOD veya dizi kataloğu gibi bir konsepti yoktur; sağlayıcınız bunları sunsa bile M3U bunları göstermez.
- Yerel bir anlık kopya saklamak istiyorsanız. M3U dosyası taşınabilirdir — yedekleyin, bir metin düzenleyicide düzenleyin veya özenle seçilmiş bir alt kümesini bir başkasıyla paylaşın.
- Sağlayıcının uzun süre var olacağına güvenmiyorsanız. Dışa aktarılan bir M3U, içindeki yayın URL'leri çalıştığı sürece çalışmaya devam eder, sağlayıcının API uç noktası yarın ortadan kaybolsa bile.
- Sağlayıcı hatalıysa (buggy). M3U'nun hareketli parçası daha azdır. Eğer Xtream API'leri istikrarsız ancak M3U dışa aktarımları çalışıyorsa, sadece M3U kullanın.
Şu durumlarda Xtream Codes kullanın:
- VOD ve dizileri istiyorsanız. Bunlar düz bir M3U üzerinden kesinlikle görünmezler.
- Oynatıcının yerel olarak kullanabileceği kategoriler istiyorsanız. Xtream "canlı", "VOD" ve "dizi" seçeneklerini ayrı ağaçlar olarak gönderir; M3U sadece geleneksel olan ancak yapılandırılmamış
group-titledizelerine sahiptir. - Cihazları sık sık değiştiriyorsanız ve yeniden içe aktarma yapmak istemiyorsanız. Xtream kimlik bilgileri her yerde çalışır ve uyumlu herhangi bir oynatıcı, onlardan tamamen aynı kütüphaneyi çeker.
- Oynatıcının kanal listesini dinamik olarak yenilemesini istiyorsanız. Xtream her oturumda veriyi yeniden çeker; M3U ise indirildiği andaki durumu gösterir.
Sizinkinin hangisi olduğunu nasıl anlarsınız
Bir sağlayıcıya kaydolduysanız ve size şöyle tek bir satır gönderdilerse:
http://server.example:8080/get.php?username=ABC&password=XYZ&type=m3u_plus&output=mpegts
Bu bir M3U URL'sidir. Çalışıp çalışmadığını kontrol etmek için doğrudan M3U test aracına yapıştırabilirsiniz.
Eğer size üç şey gönderdilerse — bir sunucu URL'si, bir kullanıcı adı, bir şifre — bu bir Xtream girişidir. Çoğu modern oynatıcının ayrı bir "Xtream kaynağı ekle" formu vardır. Çoğu sağlayıcı her ikisini de memnuniyetle sunar: aynı kimlik bilgileri her iki arayüz üzerinden de çalışır ve hiçbir şey kurmadan çalma listesi uç noktasını doğrulamak için M3U test aracını, rehber (EPG) uç noktasını doğrulamak için de EPG doğrulayıcıyı kullanabilirsiniz.
Sık karşılaşılan hatalar (ve hangi formata geçileceği)
Aynı sağlayıcı bir arayüzde tamamen sağlıklı çalışırken diğerinde bozuk olabilir. Bilinmeye değer altı hata türü vardır.
M3U, HTML döndürüyor
URL'yi test aracına yapıştırıyorsunuz ve "sunucu bir HTML sayfası döndürdü" uyarısı alıyorsunuz. Bu genellikle M3U uç noktasının bir oturum çerezi gerektirdiği veya sağlayıcınızın buna bağlanan IP'yi hız sınırına (rate-limit) soktuğu anlamına gelir. Xtream'i deneyin — API uç noktaları genellikle toplu M3U dışa aktarımından daha az agresif şekilde kısıtlanır.
Xtream "kimlik doğrulama başarısız" diyor ama M3U çalışıyor
Bazı sağlayıcılar Xtream kimlik bilgisi veritabanlarını gecikmeli olarak günceller. M3U URL'si oluşturulduğu an imzalanır ve çalışmaya devam eder; API ise yeni şifreyi henüz almadığı için sizi reddeder. Bir saat bekleyin ya da sadece M3U'yu kullanın.
Bir oynatıcı okuyabiliyor, diğeri okuyamıyor
Xtream Codes gerçek bir spesifikasyon değil, fiili (de facto) bir standarttır. Xtream desteği sunduğunu iddia eden ancak standart uç noktalardan sadece ikisini uygulayan sağlayıcılar vardır; ve standart dışı bir uç noktayı çağıran ve bu eksik olduğunda başarısız olan oynatıcılar vardır. Eğer bir oynatıcı Xtream sağlayıcınızı okuyamıyor ancak M3U'yu sorunsuz okuyorsa, M3U'ya geçin. Tersi daha nadir görülür ancak mümkündür.
M3U'da kanal logoları eksik, Xtream'de var
M3U'da logo URL'leri satır içindedir (tvg-logo="…"). Xtream'de ise bir logo uç noktası tarafından sunulurlar. Eğer M3U'nuzda hatalı veya eski logo URL'leri varsa, Xtream'e geçmek onları yeniden dolduracaktır. Ters durum (M3U'da logolar var, Xtream'de eksik) neredeyse hiç yaşanmaz.
EPG bir formatta kanallara bağlanıyor, diğerinde bağlanmıyor
XMLTV'deki <channel id="…"> değerinin, M3U'daki tvg-id="…" veya Xtream'deki channel-id alanı ile eşleşmesi gerekir. Bu ID'ler her iki formatta her zaman aynı değildir — sağlayıcılar bazen bunları planlı olarak yeniden oluştururlar. Eğer M3U'da rehberiniz boş ama Xtream'de doluysa, M3U'da ID'ler eşleşmemiştir; sadece Xtream kullanın.
Bir format daha hızlı
Yavaş bir ağ üzerinde Xtream, M3U'dan çok daha fazla veri gidiş-dönüşü (round trip) yapar. Kesintili bir bağlantıda bu fark başlangıçta 5-10 saniye olabilir. M3U ise bir kez indirilir ve yerel verilerle çalışmaya devam eder. Eğer ilk açılış hızı sizin için önemliyse, genellikle M3U kazanır.
Klipa ne yapar
Klipa her ikisini de destekler, bunlara birbirinin yerine geçebilen kaynaklar olarak davranır (aynı kütüphanede yan yana bir M3U ve bir Xtream girişine sahip olabilirsiniz) ve arka planda her ikisini de yeniden çeker. Eğer M3U HTML döndürmeye başlarsa, Xtream oturumu bir sonraki yenilemeye kadar kanal listenizi canlı tutar. Xtream kimlik doğrulaması bozulursa, önbelleğe alınan M3U çalışmaya devam eder.
Güçlü tavsiyemiz şudur: Sağlayıcınız hangisini daha güvenilir sunuyorsa onu seçin, ancak tek bir formata sadık kalmayın. Ürün, format değildir. Ürün kanallardır.