22 Şubat 2014 Cumartesi

Wowza (v 3.5.2) + HLS + wowzasessionid ile alakalı bir bug...

Siz ilginç bir bug dan bahsetmek isterim. Belki duymuşsunuzdur WozaMediaServer adında bir media server ı. Wowza son zamanların popüler sunucusu. Java tabanlı ve clear bir api dokümantasyonu ile istenilen modülleri yazabilmeniz kolay. Aktif bir forumu olduğundan oradan destek veya istediğiniz modül veya ayarları bulmanız bile mümkün.

Evet bug ımız wowza server 3.5.2 sürümü ile alakalı. Wowza’ya “uçanı kaçanı yakala” modülü yazıyorsunuz. Bu modül her isteği reject ediyor olsun. Siz de müşterilerinize bu uçanı kaçanı yakala modülünü överek işi almış olun.

Bir gün müşteriniz diyor ki; “uçanı kaçanı yakalayacaktınız ancak HLS’te http://xxxxx/playlist.m3u8?wowzasessionid=xxxxxxx ile gelince yayın izleniyor”. Allah allah diyorsunuz bu olmamalı diyorsunuz ve modülünüzü tekrardan gözden geçiriyorsunuz. Bir türlü sorunu çözmiyorsunuz… :)

Size Bug ile ilgili detayları vereyim; Application.xml’de, StreamType “liverepeater-edge”, HLS üzerinden yapılan isteklerde “http://xxxxxx/playlist.m3u8?wowzasessionid=xxxx” şeklinde olunca uçanı kaçanı yakalayan modül yakalamıyor ve yayın izleniyor…

Neyse detaylı bir analiz sonucunda şu durum ortaya çıkıyor: HLS isteğinde, daha önce uçanı kaçanı yakala modülünden geçip accept olmuş , yayını izleyen clientın id si ile , uçanı kaçanı yakala modülünün yakalaması gereken yerde http://xxxx/playlist.m3u8?wowzasessionid=yayınıizleyenwowzaclientid   ile giderseniz yayınız izleyebiliyorsunuz. :)

Bunun sebebi aslında wowza da bulunun listenerlar. Session create olunca wowza onHttpSessionCreate gibi bir listenerın fonksiyonunu çağırır. Ve o listener sizin için aslında modül çalışması demektir. Bir kere create olmuş client id ile giderseniz ne yazık ki bu fonksiyon bir daha tetiklenmiyor. Yani sadece uçanı kaçanı yakala modülü değil, hiçbir sizin yazdığınız modül çalışmıyor diyebiliriz. :)

Güzel haber 3.6.4 de bu giderilmiş…

Kaynaklar:
————————
1- http://wowza.com
2- http://www.wowza.com/forums/showthread.php?22807-onHTTPSessionCreate-does-not-trigger 

Hiç yorum yok: