Lidi dělají divné věci. Například spouští Linux v Excelu. Využít je emulátor RISC-V mini-rv32ima sestavený jako knihovna DLL, která je volaná z makra VBA (Visual Basic for Applications).
Revolut nabídne neomezený mobilní tarif za 12,50 eur (312 Kč). Aktuálně startuje ve Velké Británii a Německu.
Společnost Amazon miliardáře Jeffa Bezose vypustila na oběžnou dráhu první várku družic svého projektu Kuiper, který má z vesmíru poskytovat vysokorychlostní internetové připojení po celém světě a snažit se konkurovat nyní dominantnímu Starlinku nejbohatšího muže planety Elona Muska.
Poslední aktualizací začal model GPT-4o uživatelům příliš podlézat. OpenAI jej tak vrátila k předchozí verzi.
Google Chrome 136 byl prohlášen za stabilní. Nejnovější stabilní verze 136.0.7103.59 přináší řadu novinek z hlediska uživatelů i vývojářů. Podrobný přehled v poznámkách k vydání. Opraveno bylo 8 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře.
Homebrew (Wikipedie), správce balíčků pro macOS a od verze 2.0.0 také pro Linux, byl vydán ve verzi 4.5.0. Na stránce Homebrew Formulae lze procházet seznamem balíčků. K dispozici jsou také různé statistiky.
Byl vydán Mozilla Firefox 138.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 138 je již k dispozici také na Flathubu a Snapcraftu.
Šestnáctý ročník ne-konference jOpenSpace se koná 3. – 5. října 2025 v Hotelu Antoň v Telči. Pro účast je potřeba vyplnit registrační formulář. Ne-konference neznamená, že se organizátorům nechce připravovat program, ale naopak dává prostor všem pozvaným, aby si program sami složili z toho nejzajímavějšího, čím se v poslední době zabývají nebo co je oslovilo. Obsah, který vytvářejí všichni účastníci, se skládá z desetiminutových
… více »Richard Stallman přednáší ve středu 7. května od 16:30 na Technické univerzitě v Liberci o vlivu technologií na svobodu. Přednáška je určená jak odborné tak laické veřejnosti.
Různé drobnosti a užitečnosti na které narazím nebo sám vytvořím. Primárně se zaměřuji na věci, které mohou být zajímavé a užitečné pro ostatní uživatele GNU/Linuxu či typografického systému TeX, občas se tu ale určitě vyskytne i něco z úplně jiného soudku, např. z oblasti bezpečnosti apod.
Nějaký DVB-{T | S | C} přijímač má dnes v počítači kde kdo. A čtenáři tohoto serveru ho pravděpodobně budou chtít provozovat i pod GNU/Linuxem. V tomto zápisku shrnu své zkušenosti s provozováním USB DVB-T přijímače Yakumo QuickStick pod openSUSE 10.1 v Brně.
Konkrétně se bude jednat o ladění, přehrávání, nahrávání a streamování po síti. Dotknu se i úpravy nahraného materiálu do H.264 s AAC v MP4 kontejneru.
V první řadě budeme potřebovat nějaký DVB přijímač. Výběr GNU/Linux kompatibilního zařízení vám může usnadnit Wiki projektu starajícího se o podporu DVB v GNU/Linuxu. Tam najdete nejen informace o (ne)podporovaných zařízeních, ale také návod na zprovoznění kompatibilního železa.
Dále budeme potřebovat softwarovou podporu. Informace o software najdete opět na Wiki LinuxTV.org. Kromě firmware, který je potřeba pro můj DVB-T tuner (a ke stažení je na LinuxTV.org), jsem na svém openSUSE nainstaloval ještě balíky dvb
, dvbd
a dvbstream
. Pro úpravu nahraných pořadů také dvbcut
. Názvy balíků se mohou v jiných distribucích lišit, dále popisované nástroje v jejich repozitářích ale asi naleznete.
Pokud máme nainstalován DVB přijímač (to se pochopitelně může lišit zařízení od zařízení, takže tady to nebudu rozebírat) a nainstalován podpůrný software, můžeme začít ladit.
K tomuto účelu použijeme program dvbscan
z balíčku dvb
. Když mu zadáme parametry vysílání (já v Brně v současné době chytám jen Multiplex A), vygeneruje konfigurační soubor, který potom můžou využívat další programy.
$ cat /usr/local/share/dvb/cz-Brno # DVB-T Brno (Brno, Czech Republic) # T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy # CRa - Ceske radiokomunikace, TX Barvicova/Hady T 626000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE $ dvbscan /usr/local/share/dvb/cz-Brno > channels.conf scanning /usr/local/share/dvb/cz-Brno using '/dev/dvb/adapter0/frontend0' and '/dev/dvb/adapter0/demux0' initial transponder 626000000 0 2 9 3 1 2 0 >>> tune to: 626000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_AUTO:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_8:HIERARCHY_NONE 0x0000 0x0004: pmt_pid 0x0400 CRa -- CT SPORT (running) 0x0000 0x000a: pmt_pid 0x1000 CRa -- CRo1-Radiozurnal (running) 0x0000 0x000b: pmt_pid 0x1100 CRa -- CRo2-Praha (running) 0x0000 0x000c: pmt_pid 0x1200 CRa -- CRo3-Vltava (running) 0x0000 0x000d: pmt_pid 0x1300 CRa -- CRo4-Radio Wave (running) 0x0000 0x000e: pmt_pid 0x1400 CRa -- CRo D-dur (running) 0x0000 0x000f: pmt_pid 0x1500 CRa -- CRo Leonardo (running) 0x0000 0x0010: pmt_pid 0x1600 CRa -- CRo Radio Cesko (running) 0x0000 0x03e8: pmt_pid 0x0050 (null) -- Aplikace MHP (running, scrambled) 0x0000 0x0001: pmt_pid 0x0100 CRa -- CT 1 (running) 0x0000 0x0002: pmt_pid 0x0200 CRa -- CT 2 (running) 0x0000 0x0003: pmt_pid 0x0300 CRa -- CT 24 (running) 0x0000 0x0005: pmt_pid 0x0500 CRa -- NOVA (running) Network Name '-' dumping lists (13 services) Done. $ cat channels.conf # Po ručním přejmenování a seřazení stanic. CT1:626000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_2_3:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_8:HIERARCHY_NONE:257:273:1 CT2:626000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_2_3:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_8:HIERARCHY_NONE:513:529:2 CT24:626000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_2_3:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_8:HIERARCHY_NONE:769:785:3 CT4:626000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_2_3:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_8:HIERARCHY_NONE:1025:1041:4 Nova:626000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_2_3:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_8:HIERARCHY_NONE:1281:1297:5 CRo1:626000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_2_3:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_8:HIERARCHY_NONE:0:4113:10 CRo2:626000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_2_3:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_8:HIERARCHY_NONE:0:4369:11 CRo3:626000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_2_3:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_8:HIERARCHY_NONE:0:4625:12 CRo4:626000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_2_3:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_8:HIERARCHY_NONE:0:4881:13 D-Dur:626000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_2_3:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_8:HIERARCHY_NONE:0:5137:14 Leonardo:626000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_2_3:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_8:HIERARCHY_NONE:0:5393:15 Radio-Cesko:626000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_2_3:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_8:HIERARCHY_NONE:0:5649:16 MHP:626000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_2_3:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_8:HIERARCHY_NONE:0:0:1000
Máme naladěno. Teď už můžeme vyzkoušet, jestli to funguje. Soubor channels.conf
zkopírujeme do adresáře ~/.mplayer/
a spustíme např. mplayer dvb://CT1
. (Jak asi tušíte, řetězec CT1
odkazuje na návěští v souboru channels.conf
.) Pokud vše funguje jak má, měli byste sledovat vysílání ČT1.
Můžete pochopitelně využít i jiného přehrávače, např. Kaffeine. Pro ten si ani nebudete muset ručně generovat channels.conf
, protože to udělá za vás, pěkně v grafice. (Použije k tomu ale asi obdobný postup, který byl popsán výše. Ostatně soubor s parametry vysílání pro dvbscan
jsem si vypůjčil právě z balíčku Kaffeine.)
Nicméně nadpis zápisku mluví o klasickém unixovém řešení, tzn. především o příkazovém řádku. Klasickým unixovým řešením tak úplně není ani výše uvedený příklad s MPlayerem. Ke sledování vysílání totiž potřebujeme konkrétní přehrávač. Šikovnější by jistě byl nějaký démon, který by se staral o příjem vysílání a standardním unixovým způsobem (komunikace rourou/socketem) jej zpřístupňoval každému, kdo o něj má zájem. Ano, přesně to si ukážeme dál.
Mezi software, který jsem nainstaloval, byl také balíček dvbd
. Ten obsahuje právě takového démona (program dvbd
). Ten ve své konfiguraci (na mém systému v souboru /etc/dvbd/config
) mimo jiné chce znát také cestu k channels.conf
souboru. (Nejlépe je tedy asi řešit to symbolickými nebo hard linky.)
Pokud je dvbd
správně nakonfigurován a nastartován, můžeme použít program dvbcat
(který je také součástí balíku dvbd
). Jak název napovídá, dvbcat
umožňuje posílat DVB vysílání na svůj standardní výstup. Můžeme se tedy na vysílání podívat svým oblíbeným přehrávačem (např. dvbcat dvb-t "CT1" | mplayer -
), ale pomocí přesměrování výstupu/vestavěného argumentu -o
takto jednoduše také nahrávat DVB vysílání (např. dvbcat -o zaznam.mpg dvb-t "CT1"
). dvbcat
má i parametr -d
, který umožňuje předem zadat dobu, po kterou bude vysílání přijímat, což se obzvláště hodí právě při ukládání pořadu na disk.
Použití dvbd
démona má (minimálně s mým tunerem) výhodu i v tom, že dvbcatů
přijímajících různé nebo i stejné programy (ovšem jen v rámci jednoho multiplexu) může být více. (Nezkoušel jsem víc než čtyři, takže strop vám nepovím.) Můžete tak sledovat více kanálů najednou, nebo nahrávat dva programy a jeden z nich současně sledovat. Pokud jsem použil přímo MPlayer s argumentem dvb://
, MPlayer si pro sebe zabral celý tuner a žádný jiný program s ním ve stejném čase pracovat nemohl.
Nahrávání je možné provádět výše uvedeným způsobem za pomoci dvbcatu
a např. cronu
. Součástí balíčku dvbd
je ale také program dvbsched
, který přímo umožňuje naplánovat (a případně také rušit) časové nahrávaní.
Přehled o naplánovaných nahráváních, stejně jako informace o připojeních k dvbd
démonu, nám pak zajistí program dvblist
z balíku dvbd
.
Pokud máme jeden počítač s DVB tunerem, proč vysílání nezpřístupnit i zájemcům po síti? K tomu můžeme použít program dvbstream
ze stejnojmenného balíčku. Za tímto účelem jsem si vytvořil dva skripty (dvbstream
má totiž limit na maximální počet kanálů, které je schopen současně streamovat), jeden pro televize, druhý pro rádia.
$ cat stream-tv.sh #!/bin/bash # #Spusti streamovani vsech televiznich programu z DVB-T prijimace do site. #Program je potom mozne prijimat na adrese rtp://$IP:port_programu/ # FREQUENCY=626000000 IP=192.168.0.1 dvbstream -f $FREQUENCY -net $IP:10001 257 273 -net $IP:10002 513 529 -net $IP:10003 769 785 -net $IP:10004 1025 1041 -net $IP:10005 1281 1297 $ cat stream-radio.sh #!/bin/bash # #Spusti streamovani vsech radiovych programu z DVB-T prijimace do site. #Program je potom mozne prijimat na adrese rtp://$IP:port_programu/ # FREQUENCY=626000000 IP=192.168.0.1 dvbstream -f $FREQUENCY -net $IP:10006 4113 -net $IP:10007 4369 -net $IP:10008 4625 -net $IP:10009 4881 -net $IP:10010 5137 -net $IP:10011 5393 -net $IP:10012 5649
Každý argument -net
uvozuje jeden stream. Ten je určen IP adresou a portem, kam bude streamováno. Následuje seznam „pidů“, které program reprezentují v tuneru. Toto číslo snadno zjistíte v channels.conf
souboru. Jedná se o předposlední dvě čísla (u videa)/číslo (u audia) na řádku programu.
Pokud toto máte, můžete se na vysílání podívat např. příkazem mplayer rtp://192.168.0.1:10001
.
Na závěr ještě čestně přiznávám, že se mi zatím nepodařilo stream přijmout přes síť, ale jen na streamujícím počítači. Jistě se však bude jednat jen o problém na firewallu nebo něco podobného. Zatím jsem to příliš neřešil.
Pokud si občas nějaký program nahrajete, budete ho asi chtít i nějakým způsobem zpracovat. Okrajově bych se proto chtěl v tomto zápisku dotknout i tohoto tématu.
Budoucnost patří H.264 (aka MPEG-4 AVC, aka MPEG-4 Part 10) a AAC (aka MPEG-4 Part 3) v MP4 kontejneru (aka MPEG-4 Part 14). Alespoň tak to vidím já.
Jak tedy dostat DVB-T vysílané v MPEG-2 do výše uvedeného? (Mimochodem, taky vám vrtá hlavou, proč se u nás, kde se s DVB teprve začíná, najíždí na vykopávku MPEG-2, když je už teď jasné, že do budoucna se stejně bude muset přejít na MPEG-4? A pokud všichni nakoupí zařízení na MPEG-2, tak to bude hodně bolet?)
První věcí, kterou udělám, je ořez nahraného programu. Většinou se vám asi nepodaří začít a skončit nahrávání přesně se začátkem/koncem pořadu. K tomuto účelu se dá využít jednoduchý program dvbcut
, který umí právě oříznout začátek/konec videa a provést export výsledku s minimálním překódováním videa.
Druhá věc je oprava nahraného MPEG-2 streamu. Přece jen signál nemusí být úplně dokonalý a může obsahovat nějaké chyby. K tomuto účelu se mi osvědčil program ProjectX (napsaný v Javě), který z nahraného MPEG souboru extrahuje, opraví a zvlášť uloží video a audio stream.
Takto vytvořený video a audio stream zkonvertuji do H.264/AAC a zabalím do MP4 pomocí programu Avidemux. Jako AAC kodér používá FAAC, což není příliš povedená implementace AAC. Pokud tedy netrváte na AAC, můžete použít i MP3 vytvořené LAME, případně audio vůbec nepřevádět a do výsledného souboru vložit kopii streamu přímo z DVB.
Poslední úprava spočívá v konverzi MP4 souboru vytvořeného Avidemuxem do MP4. Proč? Hloupý důvod je, že Avidemux do souboru přidává metadata, která tam nechci. Rozumnější důvod spočívá v tom, že mám podezření, že MP4 vytvořený Avidemuxem není úplně správný a podle ISO standardu. Oproti tomu program MP4Box
z balíčku gpac
by měl produkovat validní MP4 přesně podle standardu.
Soubor out.mp4
vytvořený Avidemuxem tedy zpracuji příkazy:
MP4Box -raw 1 out.mp4 MP4Box -raw 2 out.mp4 MP4Box -add out_track1.h264 -fps 25 -add out_track2.aac -tmp . -new result.mp4První dva příkazy extrahují z Avidemuxem připraveného souboru
out.mp4
čistou H.264 video a AAC audio stopu. Poslední příkaz pak tyto video a audio proudy uloží do nového MP4 kontejneru. Nedochází k žádné rekompresi, audio a video stopy jsou pouze znovu zabaleny do MP4 kontejneru. Výsledkem snažení je korektní MP4 soubor result.mp4
.
H.264/AAC dovede ušetřit opravdu spoustu místa. Při použití variabilního bitrate s průměrným datovým tokem 850 Kib/s pro video a konstantním datovým tokem 112 Kib/s pro audio se mi daří konvertovat půlhodinové epizody Červeného trpaslíka z původních asi 800 MiB zaznamenaných z DVB-T do zhruba 210 MiB souborů při zachování velmi slušné kvality blížící se originálnímu DVB-T vysílání při zachování plného PAL rozlišení. Na to, že již DVB-T vysílání je u nás díky velkému počtu programů v multiplexu a použití MPEG-2 velmi silně zkomprimováno a tím poškozeno, jedná se pěkný výsledek. Při kvalitním, bezztrátově komprimovaném vstupním videu by se asi dalo s datovým tokem videa jít ještě níž.
Tiskni
Sdílej:
Ups. Díky za upozornění. Opraveno.
Ne, MP4box není žádné Mono řešení. Je to psáno tuším v C nebo C++ a nativně se to kompiluje pro každou platformu. Tohle se tam dostalo nedopatřením copy & paste z webové stránky.
DVB-S by mělo mít pokrytí tak zhruba všude, kde je vidět alespoň trošku rozumný kus oblohy, ne? Pokud vím, celoplošné pokrytí republiky DVB-T signálem stejně nikdy nebude a v odlehlejších oblastech se to bude muset řešit DVB-C (kabelem)/DVB-S (satelitem).
Na závěr ještě čestně přiznávám, že se mi zatím nepodařilo stream přijmout přes síť, ale jen na streamujícím počítači. Jistě se však bude jednat jen o problém na firewallu nebo něco podobného.To se samozřejmě dá zjistit vypnutím firewallu. Jinak příslušné porty je třeba povolit pro protokol UDP.
v urcitou dobu probudilwakeonlan + ideálně nějaký server, který běží a umí zaslat magický paket v definovaný čas
neco nahralv /etc/init.d/boot.local (či něco na ten způsob) spustit nahrávací skript
pak uspalzde pomůže crontab
a v dalsi cas opet probudil, nahral atd...?opakování předchozích kroků
Nevýhoda wake-on-lan pro tenhle účel je, že potřebuješ jiný stroj, který ti ten počítač probudí.
V BIOSu mého desktopu je možnost nastavit probuzení počítače v určitý čas. V kombinaci s nahráváním a následným vypnutím v nějakém startovacím skriptu by to mohlo být lepší řešení. Musí to ale umět BIOS, což asi každý neumí. (Např. v BIOSu sestřina notebooku nic takového není.)
Jednoduše:
$ dvbcat -o zaznam.mpg dvb-t "CT1" & $ dvbcat dvb-t "CT1" | mplayer -Můj tuner to umí. Kdyby se s vícenásobným přístupem náhodou nějaký tuner nevyrovnal, tak opět využijeme standardních unixových prostředků. Např.
dvbcat dvb-t "CT1" | tee zaznam.mpg | mplayer -
. Tady už je ale problém v tom, že nemůžeme nahrávat jeden program a sledovat zároveň jiný program.
Tak jsem to tam trošku upřesnil.
$ scan .kde/share/apps/kaffeine/dvb-t/cz-Ostrava > channels.conf scanning .kde/share/apps/kaffeine/dvb-t/cz-Ostrava using '/dev/dvb/adapter0/frontend0' and '/dev/dvb/adapter0/demux0' initial transponder 618000000 0 2 9 3 1 2 0 >>> tune to: 618000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_AUTO:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_8:HIERARCHY_NONE WARNING: >>> tuning failed!!! >>> tune to: 618000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_AUTO:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_8:HIERARCHY_NONE (tuning failed) WARNING: >>> tuning failed!!! ERROR: initial tuning failed dumping lists (0 services) Done.Podotýkám pro jistotu, že jsem u rodičů (signál z Brna) v pohodě nahrával Hvězdné války a zjišťoval, co to všechno umí, takže soft- nebo hardwarový problém u mě to není.
$ dvbscan /usr/share/dvb/scan/dvb-t/cz-Ostrava > channels.confMám SUSE 10,2 a opravdu je to bez problémů.
Using DVB device 0:0 "DiBcom 7000MA/MB/PA/PB/MC" tuning DVB-T to 618000000 Hz inv:2 bw:0 fecH:2 fecL:9 mod:3 tm:1 gi:2 hier:0 .................................................. Not able to lock to the signal on the given frequency Frontend closed dvbsi: Cant tune DVB Transponders: 1 dvbsi: The end :) Channels found: 0Možná hraje roli anténa, jinak už nevím.
Using DVB device 0:0 "Philips TDA10046H DVB-T" tuning DVB-T to 618000000 Hz inv:2 bw:0 fecH:2 fecL:9 mod:3 tm:1 gi:2 hier:0 ...... LOCKED. Transponders: 1/1 Reading SDT: pid=17 CT SPORT: sid=4 CRo1-Radiozurnal: sid=10 CRo2-Praha: sid=11 CRo3-Vltava: sid=12 CRo4-Radio Wave: sid=13 CRo D-dur: sid=14 CRo Leonardo: sid=15 CRo Radio Cesko: sid=16 Aplikace MHP: sid=1000 CT 1: sid=1 CT 2: sid=2 CT 24: sid=3 NOVA: sid=5 Reading PAT: pid=0 Reading PMT: pid=1024 Reading PMT: pid=4096 Reading PMT: pid=4352 Reading PMT: pid=4608 Reading PMT: pid=4864 Reading PMT: pid=5120 Reading PMT: pid=5376 Reading PMT: pid=5632 Reading PMT: pid=80 Reading PMT: pid=256 Reading PMT: pid=512 Reading PMT: pid=768 Reading PMT: pid=1280 Reading NIT: pid=16 Frontend closed Transponders: 1 dvbsi: The end :) Channels found: 0 Tuning to: CT 1 / autocount: 0 Using DVB device 0:0 "Philips TDA10046H DVB-T" tuning DVB-T to 618000000 Hz inv:2 bw:0 fecH:2 fecL:9 mod:3 tm:1 gi:2 hier:0 ...... LOCKED. NOUT: 1 dvbEvents 0:0 started Tuning delay: 4090 ms kaffeine: WARNING: KXineWidget: No config file found, will create one... bad_frame pipe opened xine pipe opened /root/.kaxtv.ts AFD changed from -2 to -1