Portál AbcLinuxu, 1. května 2025 14:10
Pokus přehrát WMV video přiložené k reportáži o nepokojích v Gruzii MPlayerem skončil neúspěchem.
Na příkaz mplayer -cache 256 http://stream4.visual.cz/ct/ukazky/ct24/zahranici/gruzie_prezident.wmv
se přehrávač zacyklyl s touto hláškou:
Přehrávám http://stream4.visual.cz/ct/ukazky/ct24/zahranici/gruzie_prezident.wmv Resolvuji stream4.visual.cz pro AF_INET6... Nelze resolvovat jméno pro AF_INET6: stream4.visual.cz Resolvuji stream4.visual.cz pro AF_INET... Připojuji se k serveru stream4.visual.cz[212.67.79.24]: 80... Vyrovnávací paměť nastavena na 256 KBajtů
Server totiž vracel seznam proudů, které odkazovaly samy na sebe.
Po prozkoumaní HTTP relace jsem pojal podeření na identifikaci klienta:
GET /ct/ukazky/ct24/zahranici/gruzie_prezident.wmv?MSWMExt=.asf HTTP/1.0 Host: stream4.visual.cz User-Agent: MPlayer/dev-SVN-rUNKNOWN-4.1.2 Icy-MetaData: 1 Connection: close
Pomocí webového vyhedávače jsem našel záznam komunikace jediného správného přehrávače:
GET /high.asf HTTP/1.1 Accept: */* User-Agent: NSPlayer/9.0.0.2980 Host: castrato.ics.forth.gr X-Accept-Authentication: Negotiate, NTLM, Digest, Basic Pragma: version11-enabled=1 Pragma: no-cache,rate=1.000,stream-time=0,stream-offset=0:0,packet-num=4294967295,ma x-duration=0 Pragma: packet-pair-experiment=1 Pragma: pipeline-experiment=1 Supported: com.microsoft.wm.srvppair, com.microsoft.wm.sswitch, com.microsoft.wm.predstrm Pragma: xClientGUID={3300AD50-2C39-46c0-AE0A-DF64AAB1DF62} Accept-Language: en-US, *;q=0.1
A bylo jasno.
Volání mplayeru jsem doplnil o parametr -user-agent: mplayer -cache 256 -user-agent 'NSPlayer/0 (MPlayer; Linux; fuck MS discrimination)' http://stream4.visual.cz/ct/ukazky/ct24/zahranici/gruzie_prezident.wmv
a server byl hned sdílnější.
Celá historka mi připomněla jistou část vývoje webu, kdy se prohlížeče maskovali před servery jeden za druhého, aby server nadržující domácí stáji byl povolnější.
A já se ptám: Má tahle komedie ještě dnes smysl?
Tiskni
Sdílej:
ln -s vim emacs
-user-agent 'NSPlayer/0 (MPlayer; Linux; fuck MS discrimination)'To je ideální patička
$ vlc http://stream4.visual.cz/ct/ukazky/ct24/zahranici/gruzie_prezident.wmv VLC media player 0.8.6 Janus [00000342] access_mms access: selecting stream[0x1] audio (50 kb/s) [00000342] access_mms access: ignoring stream[0x2] audio (34 kb/s) [00000342] access_mms access: ignoring stream[0x3] audio (22 kb/s) [00000342] access_mms access: selecting stream[0x4] video (359 kb/s) [00000342] access_mms access: ignoring stream[0x5] video (196 kb/s) [00000342] access_mms access: ignoring stream[0x6] video (100 kb/s) [00000342] access_mms access: connection successfulA funguje. Balík vlc_0.8.6.release-0ubuntu4_i386.deb
http://...
, na ktery se to cyklilo, zmenil ji na mms://...
a pak to slo. Dokonce jsem nekde v kodu mplayeru objevil funkci, ktera se to snazi delat automaticky, ale z nakyho duvodu se na to nechytla (a nijak do hloubky se mi v tom hrabat nechtelo). Taky sem se setkal s tim, ze v url byly zdvojeny lomitka ve stylu http://host//dir//...//file.wmv
, ktery stacilo odstranit.ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.