Meccsnézés haladó szinten

Nem szeretem a focit. Ennek részint az az oka, hogy nem szeretem az élsportot és jobb szeretem azokat az egyéni sportokat amikben az ember önmaga is részt vehet. Viszont, az asszony szereti a focit, és nézni is akarja. Ebben csak az hibádzik, hogy nincs egy épkézláb TV-nk úyhogy marad a számítógép és a stream.
A szomszéd ma szólt,hogy élőben meg lehet nézni a meccset mediaklikk.hu-n. Hurrá! Asszony rá is készül, aztán felháborodva közli, hogy hol a stream? És valóban, linux alatt, a Firefox 47.0-el nézve az oldal betöltődik és a sok reklám közepén van egy nagy szürke négyszög. Feladat tehát adott, csináljak meccset. Most!
Némi klikkelgetések árán rájövök, hogy nem a flash plugin szórakozik, ennél bizony mélyebbre kell menni. Ismerve az átlag, magyar webfejlesztők lelkivilágát - értsd, agy nélkül, telebaszunk mindent javascripttel csak forogjon, billegjen és tutuljon - mély levegőt vége megnyitottam az oldal forrását. Inspector segítségével elkezdtem kibányászni, miből is lesz a szürke terület.
Ezen szösszenetet találtam:


<div class="lb-live">>script id="live-player" type="text/javascript"  data-zone="2692723" data-pre_time="1" 
data-time="1" data-autostart="1" data-debug="0" data-streamid="mtv4live" data-userid="mtva" 
src="http://player.mediaklikk.hu/player/player-inside-2.js"></script></div>

Fasza. HTML5 vajon mi? Hagyjuk...Inkább nézzük mit is mond a player-inside-2.js.
Első blikkre, a Player_Loader_Live.prototype.load_video nagyon csábítónak tűnt. Különösen ez a sor benne:


var url = this.baseUrl + "player-inside-full3.php?userid=" + this.userid + 
"&streamid=" + this.streamid + debugParam + noFlashParam + hlsParam + this.widthParam 
+ this.heightParam + videoPrerollParam;

Egy kis molyolás a változóértékekkel és megszületett az első URL amiből elhagytam a méret, flash és miegymás értékeket. Az URL élt és hiányolta a Silverlight-ot. Ok, telepítsünk moonlight-ot. Mono repo hozzáad az APT-hez, plugin telepítés, asszony szemrehányón sóhajtozik a háttérben. Újabb próbálkozás, továbbra is hiányolja a Silverlight-ot. Itt egy picit elszídtam az összes plugin gyártó nőági felmenőjét és visszatértem a javascript túrásához. A noFlashParam-hoz tartozó kódrészlet azt mondta, hoyg egy major és minnor verziószámot kell az URL-ben átadni. Hát adjuk át! Aham, csak épp nem jó. Viszont a kódban ez volt a következő kódsor:


// var noFlashParam = '&flashmajor=22&flashminor=0';

Nocsak, nocsak...Valaki trehány volt a kód release előtt. Próbáljuk csak ki ezeket az értékeket!
Tá-dám! Aranylábú fiaink már kergetik is a labdát a dobozban.
Alig 30 perc kódpiszkálás, telepítés árán ment, aminek alapból kellett volna mennie.

TL;DR
Ha élő MTV4 streamet akarna valaki nézni és nem megy, vagy épp csak nem akarja a villódzó reklámot nézni, erre a linkre kattintva megteheti.

Update:
Úgy tűnik, ahelyett, hogy kijavították és tesztelték volna az iparihulladék javascriptjüket, elkezdték filterezni az url hívásokat és mostantól szigorú lett az URL-ben a változók sorrendje. Ez dicséretes, lévén növeli az oldal biztonságát, hisz kellő számú változó kombinálásával, egyedi oldal ujjlenyomatot lehet generálni. Egy láncolt listával az így generált kódokból, cookie-k nélkül is követhetővé tehető az oldallátogatottsági szokása a látogatóknak.
De túl sok a rinya, tehát, működő link, most ez lett.

Hogy ne mondhassák, hogy csak szidom, a nagytudású programozó urakat, íme egy implementáció a fenn említett hiba javítására a player-inside-2.js-ben:


--var noFlashParam = this.FlashDetect.installed ? ('&flashmajor=' + parseInt(this.FlashDetect.major) + '&flashminor=' + parseInt(this.FlashDetect.minor)) : '&noflash=yes';
++var noFlashParam = '&noflash=yes';
++	if (this.FlashDetect.installed == true){
++	    if  (11 < parseInt(this.FlashDetect.major)){
++		noFlashParam = '&flashmajor=' + parseInt(this.FlashDetect.major) + '&flashminor=' + parseInt(this.FlashDetect.minor);
++	    } else {
++		if (navigator.appVersion.indexOf("Linux")!=-1 || navigator.appVersion.indexOf("X11")!=-1) noFlashParam = '&flashmajor=22&flashminor=0';
++	    }  
++	}

Figyelmeztetés: Nem vagyok programozó! Nem értek a javascripthez! A fenti kódrészlet "Tápláld a Hiénát" liszensz alapján lett elérhetővé téve azaz, azt csinálsz vele amit akarsz, de ha úgy érzed eme iromány segítette a munkádat vagy hasznos volt, és valaha is személyesen találkozunk, és kifejeznéd háládat, hívj meg valami kajára vagy üdítőre.

Hozzászólások

nem tudom, a portugal-osztrakot mar csak itthonrol, a mediaklikk-en neztem.
en a mediaklikk-en rakattintottam, es egybol ment. nincs 30 perc kodpiszkalas se telepites, hanem csak siman ment, aminek alapbol mennie kellene.
os x 10.11, safari bongezo.
szerintem szaralinugz, az ott a baj...

Nem a linux a baj, hanem az, hogy Flash és Silverlight kell hozzá. Normális böngészőben már egyik sincs, mert lukas és elavult mindkettő (már vagy fél éve kidobta mindenki).
Amúgy meg Chromeban flash plugin engedélyezését követően simán elindul.
Ergo az OSX-edben default engedélyezve van a lukas flash, amit már Jobs is kirúgott párszor, de ezek szerint valaki visszatette neked (vagy te magad). Nem jó ómen. :P

Ismerős gépén Firefox + Flash kombóval én sem bírtam összehozni, de kipróbáltam Chrome-ban is, és ott rögtön ment, miután aktiváltam a jobbklikkes menüből a flasht. Én is tartottam a SilverLight-tól, de azt lehet hamarabb kalapáltam volna össze Firefox alá, mint működésre bírni ezt az oldalt.

A linket köszönöm.

mindigtv mobil app rulez...

--
"nem tárgyszerűen nézem a dolgot, hanem a vádló szerepéből. Sok bosszúságot okoztak, örülnék ha megbüntetnék őket - tudom gyarló dolog, de hát nem vagyok tökéletes." (BehringerZoltan)

Az van, hogy sajnos nemcsak a magyar sportstream oldalak hányadékok, hanem az összes többi is.

Ezert erdemes tobb bongeszot tartani a gepen, egyikbe nem megy nezd meg a masikba.
En chrome-ot hasznalok es sose volt semmi gondom az mtv-s streamel :) Jo dolog az Onszivatas, de azert lehet nem tesz jot az arcbornek!

Hanzo

--
http://szolarenergia.hu - A hálózat építést csak elkezdeni lehet, befejezni nem....

Sajnos tényleg nagyon sok fos weboldal van a neten. Tényleg néha az az érzésem, hogy az épület előtt elsétáló vagy a buszon összeszedet embereket visznek be az irodába a megrendelő weboldalát összerakni. Már bocsánat.

Egyébként ennek kapcsán felfedeztem egy új funkciót a Chrome-ban.
Úgyhogy már ezért megérte benézni.

---------------------------------------------------------------
Ritkán szólok hozzá dolgokhoz. Így ne várj tőlem interakciót.

Az idoeltolodas miatt melozni voltam, igy nem neztem. Az M1, M2, Duna szepen megy, azokba beleneztem a kiegeszito telepitese utan (max minosegen, igaz 1 gigas netem van). Az M4-hez a VPN-t is fel kell raknom majd a kodira ma vagy holnap (mivel ugyebar a szolgaltatas csak MO teruleten erheto el - megall az esz.) es szombaton letesztelem.

A mai meccset akartam így nézni, debuggerrel felülvágtam a noFlashParam értékét ezzel a 22.0-val, de nem működött. Eggyel tovább ment, mert pörgött a homokórakerék, de nem indult el a stream. Inkább nem fejtem meg mi a megoldás most.

Virtuális Windows elindít, Chrome alatt megy a meccs. Persze az update service-t leállítottam, hogy ne süljön meg a noti :-).