Bir IPTV oynatıcı kanallarını oynatmadığında, yanlış olabilecek en az dört şey vardır: oynatıcının kendisi, sağlayıcı, ağın veya oynatma listesi dosyası. Dördünün de bilinmeyen olduğu bir kurulumda hata ayıklamak sefil bir durumdur ve internetteki sorun giderme konularının çoğu insanların hangisinin sorun olduğunu yanlış tahmin etmesiyle doludur.
En hızlı çıkış yolu, oynatıcıya ücretsiz genel test yayın akışlarından oluşan çalıştığı bilinen bir oynatma listesi vererek bu dört değişkenden üçünü aynı anda ortadan kaldırmaktır. Bunlar oynarsa, oynatıcı çalışıyordur — hala başarısız olan herhangi bir şey sağlayıcı veya ağdadır. Oynamazlarsa, sorunu oynatıcıya veya ağına daraltmışsındır ve sonraki adımlar çok farklıdır.
Bu sitedeki örnek M3U oluşturucu tam olarak bu oynatma listesini üretir. Mux, Apple, Unified Streaming, NASA, France 24, DW ve diğer birkaç kişi tarafından sürdürülen özenle seçilmiş bir avuç yayın akışıdır — dünya çapında test aracı olarak kullanıldıkları için yıllardır istikrarlı olan kaynaklar. İstediğin kategorileri seçersin, istikrarlı bir URL alırsın ve oynatıcıya yapıştırırsın.
Çalıştığı bilinen bir oynatma listesi dört değişkenden üçünü aynı anda eler — geriye kalan oynatıcıdır.
İyi bir test oynatma listesini ne yapar
Gerçek kanalları test etmek için yararlı olan bir oynatma listesinin çok spesifik özelliklere sahip olması gerekir:
- İstikrarlı kaynak. Sunucu, yayınlanan bir demo olduğu için yayın akışını açık tutmayı taahhüt eder. Mux, Apple, Unified Streaming, genel canlı yayınları olan yayıncılar.
- Küçük. Beş bin değil, beş ila on kanal. Oynatıcının tesisatını test ediyorsun, her kod yolunu kapsamlı bir şekilde çalıştırmıyorsun.
- Karma. VOD tarzı bir demo (Big Buck Bunny), canlı HLS haber yayın akışı (NASA, France 24), yalnızca ses olan bir yayın akışı ve isteğe bağlı olarak kasten bozulmuş bir giriş. Her biri oynatıcı içindeki farklı bir kod yolunu test eder.
- Kimlik bilgisi yok. Senin oturum açmanı gerektiren bir test oynatma listesi, test oynatma listesi değildir; hata ayıklamaya çalıştığın şeyin kendisidir.
Oluşturucu bunlardan birini çıkarır. Bir oynatıcıya yapıştırabileceğin iki URL farklı test yüzeyleri üretir, ancak varsayılan karma (demo videoları + canlı haberler, logolar ve grup başlıkları etkinleştirilmiş olarak) "bu oynatıcı bozuk mu" sorularının büyük çoğunluğunu kapsar.
Test yayın akışları sana ne anlatır
Test oynatma listesi oynatıcıda oynadıktan sonra, daha önce cevaplanamayan belirli sorular cevaplanabilir hale gelir.
VOD demoları medya yığınını test eder
Bunlar, çok küçük video çözünürlüğüne sahip H.264 kodlu HLS yayın akışlarıdır. Pürüzsüz oynuyorlarsa, oynatıcı şunları yapabilir:
- Bir HLS URL'si açabilir.
- HLS manifestosunu işleyebilir.
- TS parçalarını indirebilir.
- H.264 videosunu çözebilir.
- AAC sesini çözebilir.
- Platformun kullandığı herhangi bir yüzeye işleyebilir (render).
Bir oynatıcı bunlarda başarısız olursa, başarısızlık temeldir. Ya oynatıcının medya yığını hiç başlatılmıyordur ya da ağ yayın akışı sunucusuna ulaşamıyordur. Her ikisini de doğrulamak kolaydır: aynı URL'yi masaüstü bir tarayıcıda aç. Apple'ın HLS referans yayın akışları doğrudan Safari'de oynatılır; Big Buck Bunny, HLS.js ile herhangi bir tarayıcıda oynatılır.
Canlı haber yayın akışları uzun ömürlü bağlantıları test eder
Bunlar canlı HLS yayın akışlarıdır. VOD'dan farklı kod yolu kullanırlar. Demo videoları oynuyor ancak canlı haberler oynamıyorsa, oynatıcının şunlardan biri veya birkaçıyla sorunu vardır:
- Manifestonun canlı güncellendiği sürekli (DVR olmayan) HLS yayınları.
- Uzun süren soket bağlantı ömürleri (canlı yayın akışları bağlantıyı açık tutar; VOD biter ve kapanır).
- Ağın bağlantıyı canlı tutması (bazı güvenlik duvarları uzun süreli TCP bağlantılarını keser).
Canlı haber yayın akışları ayrıca demo VOD'lardan biraz farklı kodlayıcılar ve bit hızı ölçekleri kullanma eğilimindedir, bu nedenle "canlı haberler başarısız, demolar çalışıyor" belirtisi aynı zamanda bir kodlayıcı (codec) sorunu da olabilir. Oluşturucudaki Apple HEVC test yayın akışı bunu yakalar — sorun HEVC ise o da başarısız olur.
Wikimedia logoları dış ağ erişimini test eder
Oluşturucu, Wikimedia'yı gösteren tvg-logo URL'lerini içerir. Formda logoları etkinleştirdiysen ve oynatıcı bunları göstermiyorsa, oynatıcıda şunlardan biri vardır:
- M3U ayrıştırıcısında
tvg-logoetiketleri için destek yoktur. - Görüntüleri filtreleyen bir içerik engelleme kuralı (veya cihazda ağ düzeyinde bir engelleyici).
- Kendi ağı dışındaki alan adlarına ulaşmasını engelleyen bir yerel ağ sorunu.
Bu nadiren asıl engelleyicidir ancak ağın yayın akışlarının kendilerinden farklı bir alana ulaşabildiğini doğrular. Ağ katmanı blokajını kovalarken yararlıdır.
Grup başlıkları oynatıcının arayüzünü test eder
Varsayılan olarak açık olan group-title niteliği, her yayın akışını bir kategori klasörüne koyar. Gruplar etkinken oynatıcın her şeyi tek bir düz liste olarak gösteriyorsa, oynatıcı group-title niteliğini onurlandırmıyordur — eski oynatıcılarda yaygın, modern olanlarda daha az yaygındır. Bu genellikle ölümcül bir kusur değildir; yalnızca binlerce kanalı olan gerçek bir sağlayıcıyı içe aktardığında gezinmek için favorilere güvenmek zorunda kalacağın anlamına gelir.
Kasıtlı olarak bozulmuş yayın akışları net bir hata üretir
"Bozuk" kategorisi isteğe bağlıdır. Etkinleştirildiğinde, oynatma listesi bir DNS hatası URL'si ve bir HTTP-404 URL'si içerir. İyi bir oynatıcı net bir hata mesajı çıkarır ("yayın akışı mevcut değil" / "404 bulunamadı") ve çalışan bir kanala geri atlamana izin verir. Kötü bir oynatıcı donar, çöker veya hangi kanalın kötü olduğunu sana söylemeden sessizce geçer.
Bu test kategorisi gerçek bir ergonomik sorunu yakalar: sonunda 5.000 kanallı bir sağlayıcı oynatma listesini içe aktardığında, belki de %5-10'u herhangi bir anda ölü olacaktır. Ölü kanallarda donan bir oynatıcı neredeyse kullanılamaz durumdadır; bir hata gösterip devam etmene izin veren bir oynatıcı iyidir. Bunu şimdi bilmek daha iyi.
Bilinmeye değer genel test yayın akışları
Oluşturucunun kataloğu özenle seçilmiştir, ancak temel URL'leri bilmek istiyorsan, kısa liste şöyledir. Bunlar yıllardır istikrarlıdır (çoğu on yıl veya daha uzun süredir):
- Big Buck Bunny —
https://test-streams.mux.dev/x36xhzz/x36xhzz.m3u8(Mux test kurguları). - Tears of Steel —
https://demo.unified-streaming.com/k8s/features/stable/video/tears-of-steel/tears-of-steel.ism/.m3u8(Unified Streaming demosu). - Apple BipBop — Apple'ın referans HLS yayın akışları. "Gelişmiş" varyant HEVC'yi test eder.
- NASA TV — Genellikle IPTV sağlayıcılarının kendi testleri için kullandıkları NASA'nın genel canlı yayını.
- France 24 / DW — Açık yayınları olan küresel haber yayıncıları. Canlı kod yolunu test etmek için mükemmel.
Bunlardan herhangi birini tek kanallı bir "oynatma listesi" olarak doğrudan bir oynatıcıya da yapıştırabilirsin, ancak birkaç kanalı olan küçük bir oynatma listesi daha kapsamlı bir testtir (tek bir doğrudan URL'nin yapmadığı kanal listesi arayüzünü ve kanal değiştirme kod yolunu test eder).
Test geçtikten sonra
Test oynatma listesi doğru oynatılıyorsa, sorun oynatıcı değildir. Test edilecek bir sonraki şey ağdır — aynı cihazdan sağlayıcının IP adresine ulaşabiliyor mu? Bazı IPTV sağlayıcıları belirli ülkelerde İSS düzeyinde engellenir.
En ucuz ağ testi: masaüstü bir tarayıcıda M3U oynatma listesi test ediciye git, gerçek sağlayıcının URL'sini yapıştır ve yayın akışlarının çözümlenip çözümlenmediğine bak. M3U test edici, yayın akışlarını neredeyse kesinlikle engellenmemiş olan sunucu taraflı bir IP'den araştırır, bu nedenle "test edici evet diyor, oynatıcım hayır diyor" ayrımı, sorunun yerel ağın olduğunu doğrular.
Ağ iyi durumdaysa, sorun sağlayıcının oynatma listesi veya kimlik bilgileridir. Bu durum için tanı koyucu Xtream kimlik bilgisi denetleyicisi'dir (Xtream tarzı kimlik bilgilerin varsa) veya yayın akışlarının canlı olduğunu doğrulamak için URL'yi M3U test ediciye yeniden yapıştırmaktır.
Test başarısız olduktan sonra
Test oynatma listesi oynatılmazsa, sorun herhangi bir sağlayıcının ötesindedir — ve hangi testin başarısız olduğunu belirtmekte fayda var:
- Yayın akışlarının hiçbiri oynatılmıyor, hata mesajı yok. Oynatıcı başlatılmıyordur. İhtiyacı olan kodlayıcılara sahip olup olmadığını kontrol et (bazı akıllı TV uygulamaları beklenenden daha küçük bir kodlayıcı setiyle gelir). Aynı cihazda farklı bir oynatıcı dene — VLC veya genel bir medya oynatıcı, eğer cihaz oynatabiliyorsa bu yayın akışlarını oynatacaktır.
- Yayın akışları aynı cihazdaki başka bir oynatıcıda oynatılıyor, ancak seninkinde oynatılmıyor. Bu bir oynatıcı hatasıdır. Geliştiriciye test oynatma listesi URL'si ile ulaş — bu çalıştığı bilinen bir sabittir ve belirsizliği ortadan kaldırır.
- Yayın akışlarının hiçbiri oynatılmıyor VE diğer oynatıcılar da çalışmıyor. Neredeyse her zaman ağdır. Tutsak (captive) bir portal, DNS düzeyinde bir engelleyici (reklam engelleyen bazı DNS hizmetleri akış CDN'lerini engeller), kurumsal bir güvenlik duvarı. Aynı oynatma listesini farklı bir ağda dene — telefonun internetini paylaşmak (tethering) genellikle en hızlı akıl sağlığı kontrolüdür.
- Yayın akışları oynatılıyor ancak kanal listesi boş veya tuhaf. Oynatıcı M3U'yu doğru ayrıştırmıyordur. Oynatma listesinin içeriğini "Kaynağı Görüntüle" (View Source) veya tarayıcıya özgü önizleme kullanarak kontrol et ve dosyanın iyi biçimlendirilmiş olduğunu (
#EXTM3Ubaşlığı, ardından dönüşümlü#EXTINFve URL satırları) doğrula. Oluşturucunun oynatma listesi yapısı itibariyle geçerlidir; oynatıcın onu reddediyorsa, gerçek sağlayıcıların gönderdiği M3U varyantlarını sevmeyecek katı bir ayrıştırıcıya sahip demektir.
Bu yayın akışlarını neden barındırmıyoruz
Klipa, test oynatma listesindeki yayın akışlarından hiçbirini barındırmaz. Bunlar üçüncü taraf demo ve yayın beslemeleridir. Özel olarak:
- Bant genişliği için ödeme yapmıyoruz. Bu yayın akışlarının her oynatımı, bizden değil, üçüncü taraf CDN'den çeker.
- Ara sunucu (proxy) veya yeniden yazma yapmıyoruz. Oynatma listesindeki URL'ler doğrudan üçüncü tarafı gösterir; oynatıcı onlara doğrudan bağlanır.
- Oynatımları takip etmiyoruz. Üçüncü taraf CDN oynatımı görür, ancak biz görmeyiz.
Bunun olumsuz yanı, herhangi bir bireysel yayın akışının çökebilmesidir. Test oynatma listesini içe aktardığında bir kanal yüklenmezse, oynatıcının bozuk olduğunu varsaymadan önce aynı oynatma listesindeki başka bir kanala geç. Bağımsız kaynaklardan gelen birden fazla yayın akışı bu tasarımın parçasıdır.
Oynatıcının örnek bir oynatma listesinde çalıştığını doğruladıktan sonra, gerçek sağlayıcını içe aktarmak ayrı bir sorundur. Strateji şudur: her ikisi de çalışıyorsa işin bitti. Örnek çalışıyor ve sağlayıcın çalışmıyorsa, Xtream kimlik bilgisi denetleyicisi ve M3U test edici sağlayıcı tarafındaki hangi hatayla (kimlik doğrulama, süre sonu, ölü yayınlar, engellenen IP) karşılaştığını sana söyleyecektir.
Klipa örnek oynatma listesi URL'sini doğrudan kabul eder — onu bir M3U kaynağı olarak yapıştır ve tam olarak oluşturucudaki kanalları alırsın. M3U özellikli diğer herhangi bir oynatıcıda da aynısı geçerlidir.