Jak v linuxu přehrát videa z archivu České televize 

EDIT: Nová verze zde.

Česká televize má na svém webu http://www.ceskatelevize.cz/vysilani/ poměrně rozsáhlý archiv pořadů. V linuxu je tento archiv bohužel jen těžko přehratelný, protože závisí na zásuvných modulech do prohlížeče. Rozjet to v případě 64-bitového prohlížeče a 32-bitového binárního realplayera považuji za nadlidský úkol. A zbytečný. Navíc i když se mi to u 32bitového počítače povedlo, výsledek nebyl dobrý. Přehrávač nenabízel režim full screen a tak bylo potřeba dívat se na malé okno.

Když jsem si dal práci a vyzobal ze zdrojového kódu sáhodlouhý odkaz na video, podařilo se mi ho bez problémů přehrát v mplayeru. Tak jsem vyrobil skriptík, co několikeré vyzobnutí adresy streamu provede za mě:
#!/bin/bash
exec 2>/dev/null

URL="$1"
if (echo $URL | grep -qv '?streamtype'); then
URL="${URL}?streamtype=RH"
fi
#echo $URL

SMILURL=$(wget -O - "$URL" |grep '<param name="src"' | sed -r 's/.*value="([^"]+)".*/http:\/\/www.ceskatelevize.cz\1/')
#echo $SMILURL

RAMURL=$(wget -O - "$SMILURL" |grep http://ct1stream | sed -r 's/^.*(http:\/\/[^"]+ram).*$/\1/')
#echo $RAMURL

RAWURL=$(wget -O - "$RAMURL")
echo $RAWURL
Skriptíku stačí předat URL stránky s pořadem ve formátu Real rychlé a jeho výstupem je odkaz na rtsp stream, který již mplayer (s příslušnými kodeky) bez problému přehraje. Dá se to použít tedy třeba takto:
$ mplayer $(ctstream.sh http://www.ceskatelevize.cz/vysilani/04 ... ridic.html)
Pokud chcete záznam achivovat u sebe, je to také snadné, stačí k předchozímu přidat -dumpstream -dumpfile zaznam.rm

Přeji příjemné sledování! :)
[ zobrazit záznam ] ( 1042 zobrazení ) trvalý odkaz související odkaz ( 3 / 27979 )
Jaká jaký je U:fonův Internetový balíček? 

Tak je to tady. U:fon konečně sehnal datové kabely a začal k mobilním telefonům nabízet datové služby, za podmínek, které anoncoval již červnu. Včera jsem ho byl koupit. Podle všeho jde opravdu jen o kabel, neobsahuje žádnou elektroniku. Za cenu 220 Kč se pravděpodobně ani nevyplatí vyrábět alternativní, neboť samotný systémový konektor telefonu bude jistě stát alespoň 100 Kč. (Mimochodem, jedná se pravděpodobně o nějaký běžný korejský konektor, neboť jsem zjistil, že minimálně nabíječka je zaměnitelná s nabíječkami telefonů LG). O tom, že USB je implementováno přímo v mikropočítači telefonu jako firmware svědčí i fakt, že pokud kabel připojím k telefonu, který se právě zapíná, skončí proces USB enumerace někde v půli cesty a Windows například vyhodí bublinku "Zařízení USB nebylo rozpoznáno".

Součástí kabelu bylo malé 8cm CD a velice strohý návod. Samozřejmě se mi po zasunutí CD do počítače nic neobjevilo, pokud bych se tedy držel striktně návodu, nikam bych se nedostal. Místo toho jsem mobil rovnou připojil k PC s linuxem. Jádro zařízení nalezlo, lsusb -v mimo jiné vypsalo:
  bDeviceClass            2 Communications
idVendor 0x1529
idProduct 0x3100
iManufacturer 1 UBIQUAM Co., Ltd.
iProduct 2 UBIQUAM CDMA USB Modem
iSerial 3 Serial Number

Kabel tedy podle všeho funguje a mobil se dokonce představil. Co víc, mobil nemá třídu ff - tedy vendor specific, ale 2 - Communications! Takže stačí v jádru zapnout volbu:
<M>     USB Modem (CDC ACM) support
a mobil se chytne a objeví v systému jako zařízení /dev/ttyACM0. Nutno přiznat, že v prvním počítači, do kterého jsem mobil zapojil jsem daný ovladač neměl a zařízení tak zůstalo bez obsuhy. I tak se mi ho podařilo zprovoznit pomocí generického ovladače usb-serial fíglem, který byl už kdysi popsán na Rootovi, jen s použitím Vendor ID / Product ID 0x1529 / 0x3100. Zařízení vzniklé tak či onak je obyčejný sériový port, takže pro jednoduché vyzkoušení funkčnosti stačí namířit na něj minicom a poslat AT. Mobil poslušně odpoví OK, takže vidíme, že vše funguje jak má. Není to však úplně stejný modem, jako ty v GSM mobilech. Když jsem zkusit vyvolit normální hlasové volání příkazem ATDxxxyyyzzz;, mobil místo prostého vytočení okamžitě snaží navazovat datové spojení (i přesto, že je na konci středník) a za pár sekund vyhlásí NO CARRIER. Pokud se pokusíme vyvolit číslo #777, což je přístupové číslo k Internetu, mobil okamžitě odpoví CONNECT a to i v případě, že služba není na daném přístroji vůbec aktivována.
Číst dále...
[ zobrazit záznam ] ( 4987 zobrazení ) trvalý odkaz související odkaz ( 3 / 33037 )
Skrytá hrozba jménem MTU 

Po dlouhé době opět jedna drobnost, která mě stála spousty přemýšlení. Jednoduchá modelová situace: Počítač s linuxem, sloužící jako firewall-NAT-router zakončuje PPPoE spojení od ADSL modemu (v režimu bridge) a prostřednictvím maškarády, potažmo SNATu (víte vůbec někdo, jaký je v tom rozdíl?) sdílí internetové připojení ostatním zařízením v lokální síti.

Jenže teď to nějak nefungovalo. Ne, že by to nefungovalo vůbec. Spíše šlo o typickou skrytou závadu - při pokusu cíleně odhalit její příčinu se neprojevila. Šlo o to, že určité www stránky se nenačítaly, či se jim pouze načetl titulek a pak bylo spojení ukončeno. Jiné stránky šly v pohodě. Pokud se ale použil http proxy server, běžící přímo na firewallu, šlo vše v pohodě.

Příčina těchto záhad se skrývala, jak již titulek napovídá, v nastavení MTU. Jak známo, ethernet umí přenést nejvýše 1500 B na paket, což vychází na hodnotu MTU 1460 B. Jenže díky 8 B záhlaví PPPoE je nejvyšší hodnota MTU na PPPoE spoji jen 1452 B. Zatímco počítač, na kterém byl PPP spoj přímo zakončen tuto informaci měl, ostatní počítače v síti o žádném PPP spojení nevěděly. Proto v záhlaví TCP segmentů s příznakem SYN nesprávně signalizovaly, že jsou schopni zpracovat větší množství dat, než odpovídalo realitě. Jak jsem zjistil zachycením komunikace na PPP rozhraní Wiresharkem, došlo k tomu, že příliš dlouhý paket byl na vzdálené straně PPP spojení zahozen. Protokol TCP sice zajistil opakování vysílání, ale i opakovaný segment byl zahozen. Za nějakou chvíli vypršel časový limit a spojení bylo zrušeno.

Nabízí se ovšem otázka, proč to tedy občas fungovalo? Zdůvodnění je dvojí - buď (1) nedošlo k naplnění celé velikosti paketu (například u telnetu, čí ssh) a/nebo (2) při zahození segmentu z důvodu překročení délky by měl prvek, který zahození provede, vygenerovat zdroji ICMP zprávu, ve které žádá o rozdělení segmentu na menší části. Takovouto zprávu pak server správně zpracuje a data rozdělí na menší kousky. Bohužel, někteří síťoví administrátoři mají takovou hrůzu ze zpráv protokolu ICMP, že je pro jistotu filtrují firewallem, někdy i včetně požadavku na odezvu (ping).

No a na závěr: Jak to spravit?
Takto:
# iptables -t mangle -I FORWARD 1 -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
[ zobrazit záznam ] ( 1574 zobrazení ) trvalý odkaz ( 3 / 28286 )
Zpřístupnění komentářů 

Hlad po hře World of Warcraft je zřejmě nekonečný. Jak jinak si vysvětlit, že se našel spammer, co si dal práci s tím, aby pomocí OCR rozpoznal CAPCHA obrázek a cíleným útokem na blogy, poháněné Simple PHP blogem, je zahltil odkazy s nabídkou WoW.

To mě konečně vybudilo k tomu, trošku se v kódu blogu povrtat a vyměnit techniku s nedokonalým CAPCHA obrázkem (která navíc znepřístupňuje komentování nevidomým a slabozrakým) za techniku jednoduchého kvízu, doplněného javascriptovou nápovědou, podle návodu zde.. Vymyslel jsem pár triviálních otázek a odpovědí, ale pokud máte zapnutý javascript, ani si jich nevšimnete - vyplní správnou odpověď za vás. Řešení počítá s tím, že spamovací robot neumí spouštět javascript.

Tak jsem zvědav, jaký to bude mít efekt na četnost spamů. Zdrojové kód úprav (patche) záměrně neuvádím, protože (a) je to prasárna, a z toho vyplývá (b) by v tom ještě někdo mohl najít díru :). Případnému zájemci ale kód rád pošlu.
[ zobrazit záznam ] ( 1638 zobrazení ) trvalý odkaz související odkaz ( 3 / 32436 )
Jaký je U:fonův mobil? 

Musím se přiznat, že nejsem velký telefonista, měsíčně provolám kolem 50 Kč. Přesto jsem neodolal, a hned v prvních dnech provozu U:fonovy mobilní sítě jsem zakoupil jeho CDMA mobilní telefon. Jeho tarif za nula vypadá velice lákavě a nabídka volání zdarma uvnitř vlastní sítě je lákavá a podle mě u mobilního operátora dlouhodobě neudržitelná. Značná část nákladů na provoz sítě totiž nezáleží na tom, zda se volá v síti nebo mimo ni.

Zakoupil jsem tedy jediný mobilní telefon, co mají v tuto chvíli v nabídce - UBIQUAM U-400 a začal testovat. Zjistil jsem, že mapa pokrytí uvedená na webu velice přesně odpovídá reálnému pokrytí a také i to, že i při minimální intenzitě signálu je hovor podobně kvalitní, nicméně je třeba se s telefonem nepohybovat. Telefon samotný je prý výběhový typ, který si U:fon zakoupil a nechal předělat pro své pásmo L, tedy 410-415 MHz uplink a 420-425 MHz downlink.

Záhadou mi bylo, jak je možné, že telefon podporuje jen maximální rychlost 153 kbps, když se U:fonova síť vytahuje teoretickou rychlostí až 3,1 Mbps. Odpověď je prostá: U:fon provozuje dvě různé sítě zároveň. Jednu podle standardu CDMA2000 1xRTT jako hlasovou, s maximální datovou rychlostí 153 kbps, na které provozuje všechny své služby kromě "fofr internetu" a druhou datovou podle CDMA2000 1xEV-DO rev.A, která je navržena pouze pro přenos dat a hlas je v ní možno přenášet jen jako VoIP, pro který právě revize A zajišťuje potřebnou kvalitu služby (QoS). Na této síti U:fon nabízí zatím jen "fofr internet", jehož součástí je i volání pomocí sluchátkové soupravy a softwarového telefonu. VoIP? Nikoli. Využívá se zde skutečnosti, že všechny doposud vyráběné EV-DO čipsety jsou hybridní, tedy je možné je přepnout z EV-DO režimu do 1xRTT, ve kterém je možno vést hovor jako v jakékoli jiné síti s přepojováním okruhů. Jeden z nabízených modemů pro službu "fofr internet" dokonce umožňuje přijímat hovory bez připojení k počítači. Softwarový telefon je tedy ve skutečnosti jen dálkové ovládání modemu, který na sobě nemá žádná tlačítka (sluchátková souprava se připojuje přímo do modemu, tedy audio vůbec neprochází přes USB). Skoro by stálo za úvahu obestavět kolem takového modemu krabičku s displejem a tlačítky a vyrobit si tak vlastní mobil :)

Mimochodem, síť standardu CDMA2000 EV-DO (bez revize A) je také síť kterou vybudoval Eurotel (dnes O2) z dříve provozované analogové mobilní sítě NMT v pásmu 450 MHz, a kterou dnes na tomto kmitočtu provozuje pod obchodním označením O2 CDMA. Nabízí však pouze data, takže hlasová volání vůbec neřeší.

No a jaký je pocit, ze samotného volání? Nejsnáze to zjistíte, zavoláte-li mi na číslo 790 366 070. Dá se říci, že kvalita hovoru je běžná, pouze v okamžiku, kdy hovoří obě strany proti sobě se z reproduktoru telefonu linou podivné pazvuky. Ale to je možná vlastnost pouze daného přístroje.

Dále U:fon slibuje, že k mobilnímu tarifu nabídne za 200 Kč měsíčně datový balíček, ovšem nejprve si bude muset zajistit dodávku datových kabelů pro uvedený typ mobilních telefonů. Taková cena za pomalý mobilní Internet není úplně špatná nabídka. V každém případě lepší by bylo, kdyby mobil zvládnul i právě EV-DO a bylo možné nabídnout současně s voláním i mobilní fofr Internet (aniž by člověk musel vytočit telefonní číslo na počítači, ještě k tomu jen na Windows)
[ zobrazit záznam ] ( 2596 zobrazení ) trvalý odkaz související odkaz ( 3 / 28077 )

<<První <Zpět | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | Další> Poslední>>