overkill s restartem jsem ještě přežil, ale „dvě naprosto identické karty, které udev jednoznačně a spolehlivě nerozliší“, to jako že mají i stejné sériové číslo?? Každopádně to je zajímavý návod pro případ identických Čínských klonů, ale asi bych pro úplnost zmínil možnost uvést seriové číslo, protože to je stejně jednoduché jako název zařízení a často to pro rozlišení stačí.
Osobně dávám vendor + product, a u stejných karet pak i serial.
Super :)
Svoje teoreticke poznatky (nasbirane od minuleho tydne) jsem popsal tady na tvpc:
http://wiki.tvpc.cz/mythtv/satelit
Predpokladam, ze je tam spousta hlouposti a nepresnosti, muzete to tedy pouzit jako navod na to ‚jak mysli zacatecnik‘ a taky ‚jake zavadejici informace se valeji na internetu‘ :)
Rozhodne prinosny clanek, pred rokem jsem mel podobne problemy s winfast dtv2000h, spatna autodetekce, ruzny event pri startech, no lahudka. Navic k tomu dve zvukove karty v pc a udev se porad nemohl rozhodnout, kterou uprednostni. Trvalo mi docela dlouho, nez jsem vsechno vyresil. Tenhle clanek by se tenkrat urcite hodil.
Nemate nekdo zkusenosti ze strihem ve verzi .22. Kdyz totiz nastavim v recording Profiles → Transcoders v profilu „Autodetect From MPEG2“ neprekodovavat /zaskrtnu Lossless Transcoding checkbox/ tak po nastaveni bodu strihu a spusteni prokodovani / v tomto pripade by melo dojit jen k sestrihani/ dojde sice k setrihani ale mista strihu jsou posunuta asi o cca 20 – 30 sekund dopredu oproti nastavenym bodum strihu.
Pro psaní pravidel pro udev jsem napsal a používám malý pomocný nástroj. (Výsledek totální flustrace nad nefungujícím udev pravidlem.) Napsáno v TCL/TK . Licence BSD. Možná se někomu bude hodit.
Když jsem kdysi nějak takto podobně vyráběl pravidlo pro persistentní pojmenování USB MP3 přehráače, narazil jsem na to, že proměnné, na základě kterých jsem se snažil přehrávač rozpoznat, se vyplnily až v souboru 50-udev-default.rules pravidlem:
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ENV{ID_USB_INTERFACES}=="", IMPORT{program}="usb_id --export %p"
Takže řešením bylo posunout lokální pravidla až do 99-local.rules. Ještě poznamenám, že v aktuálním udevu (u mě 146-r1) se tato pevná distribuční pravidla přesunula z /etc/udev/rules.d do /lib/udev/rules.d
Zaujala me moznost detekce reklam v MythTV dle loga. Zena se ovsem na programy rada diva v realnem case, takze divat se na vsechno se zpozdenim neni moc prakticke.
Fantasticke by bylo umet snizit hlasitost ci vypnout zvuk pri zacatku reklamy v realnem case. Za takovou funkci bych dal klidne 2000.
Nemate nekdo poneti o tom, zda by bylo realne neco takoveho do MythTV doprogramovat, ci zda nejaka jina TV aplikace s touto funkci jiz neexistuje?
Jinak v Ubuntu 9.10 se mi zatim nepodarilo rozchodit DO na AverMedia 805 a 827 (kdyz uz je lircem pri mackani neco detekovano, jsou to nesmyslne kody jako ^C apod.), navod z dnesniho clanku by mi mohl pomoct dostat se zase o kus dal, diky.
Jsem rád, že někdo smýšlí úplně stejně jako já :-)
Tedy přimlouvám se za to, kdyby se nám tu společně podařilo nějakým způsobem vykoumat jak na automatické „mutování“ reklam (tedy bez ptaní při reklamě vypnout zvuk a po reklamě zase zapnout). Pro mě jedna z nejpraktičtějších funkcí :-)
Nejsme prvni, koho to napadlo, viz napr. http://svn.mythtv.org/trac/ticket/7096 (tedy typicka ukazka toho, jak se ten request nema delat :)
Dale jsem vcera jeste nasel jeste http://www.mythtv.org/wiki/Feature_Wishlist_(Frontend_Addons) , ale tam o tuto funkci nikdo nezada.
Mym soucasnym cilem je naistalovat MythTV a pokusit se dostat se do stavu, kdy na me pri sledovani zive TV bude vyskakovat ta autorem zminovana „preskakovaci/detekcni“ hlaska. Az/pokud se dostanu tak daleko, bude snadne najit relevantni misto v kodu, kam by se snad dalo neco pichnout.
Mne osobne by teda stacilo automaticke vypnuti, zapnu si to pak sam :)
Pokud si aplikace pamatuje podle zařízení podle cesty k souboru s zařízením, je to její chyba a je blbost to řešit „hackováním“ udevu. Taková chyba by měla být nahlášena vývojáři aplikace, aby zvolil lepší způsob detekce zařízení (zapamatováním si sběrnice, identifikačního čísla HW, názvu a pod.).
To jako že bych musel pokaždé dávat DVDR do stejného usb portu a webcam rovněž tak, když chci něco vypalovat nebo snímat, a externí disk také nemohu střídat vlevo vpravo, ale musím ho mít vždy vpravo, když ho chci montovat jako archiv, no já vám nevím, a není udev náhodou přesně to, co takovémuto hloupému přístupu brání a umožňuje uživateli strkat kam chce co chce s tím, že modrej usb disk se bude vždycky jmenovat „modrej_usb_disk“, bez ohledu na to v kolik hodin večer a za jakých světelných podmínek jsem ho strkal do usb? :)
Ahoj, prestehoval jsem se a zjistil, ze mi nefunguje MythTV. Pokud pripojim TV kartu ke spolecnym antenam, tak nenajde zadny kanal. Musim rucne dodefinovat transporty, zastrtnout „Ignore timeout“. Pak mi sice najde vsechny kanaly, ale nefunguje mi pro ne EPG. Vlastne nefunguji vsechny dobre. Dost casto se totiz stane, ze kanal nelze prehravat. Pritom pres Mplayer kanal praje bez problemu – sice cas od casu nejaky ten obraz, ale jinak v poradku. Divne je, ze pomoci utility dvbscan stanice najdu…
Nevite nekdo, cim by to mohlo byt? Diky za rady.
Obsah channels.conf:
NOVA CINEMA:634000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_2_3:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:401:411:514 NOVA:634000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_2_3:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:101:111:513 BARRANDOV TV:634000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_2_3:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:301:311:2049 Prima COOL:634000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_2_3:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:501:511:770 PRIMA:634000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_2_3:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:201:211:769 CT 1:730000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_2_3:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:257:273:257 CT 2:730000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_2_3:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:513:529:258 CT 24:730000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_2_3:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:769:785:259 CT 4:730000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_2_3:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:1025:1041:260 CRo1-Radiozurnal :730000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_2_3:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:0:4113:16641 CRo2-Praha :730000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_2_3:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:0:4369:16642 CRo3-Vltava :730000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_2_3:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:0:4625:16643 CRo Radio Wave :730000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_2_3:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:0:4881:16644 CRo D-dur :730000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_2_3:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:0:5137:16645 CRo Leonardo :730000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_2_3:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:0:5393:16646 CRo Radio Cesko :730000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_2_3:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:0:5649:16647
Nevim, jestli je to zrovna tim. V puvodnim byte (a take spolecnych antenach) jsem mel signal tak 50–54% a MythTV fungoval, resp. nasel jen CT. Ted jsem to meril pomoci utilitek (test kvality DVB-T) a nameril jsem:
Summary statistics: Frequency Signal Ber Unc ========= ======== ======== ======== 674000000 74.6 % 8357.0 0.0
jiri@zeryk ~/bin $ tzap "PRIMA" using '/dev/dvb/adapter0/frontend0' and '/dev/dvb/adapter0/demux0' reading channels from file '/home/jiri/.tzap/channels.conf' tuning to 634000000 Hz video pid 0x00c9, audio pid 0x00d3 status 00 | signal c1c1 | snr b7b7 | ber 0001fffe | unc 00000000 | status 1f | signal c1c1 | snr fcfc | ber 0000004e | unc ffffffff | FE_HAS_LOCK status 1f | signal c1c1 | snr fefe | ber 0000003c | unc 00000000 | FE_HAS_LOCK status 1f | signal c1c1 | snr fefe | ber 00000042 | unc 00000000 | FE_HAS_LOCK status 1f | signal c1c1 | snr ffff | ber 0000004e | unc 00000000 | FE_HAS_LOCK status 1f | signal c2c2 | snr fefe | ber 00000054 | unc 00000000 | FE_HAS_LOCK status 1f | signal c1c1 | snr fefe | ber 0000005a | unc 00000000 | FE_HAS_LOCK status 1f | signal c1c1 | snr ffff | ber 0000005a | unc 00000000 | FE_HAS_LOCK status 1f | signal c1c1 | snr ffff | ber 00000060 | unc 00000000 | FE_HAS_LOCK status 1f | signal c1c1 | snr ffff | ber 0000004c | unc 00000000 | FE_HAS_LOCK status 1f | signal c1c1 | snr ffff | ber 0000004e | unc 00000000 | FE_HAS_LOCK status 1f | signal c1c1 | snr ffff | ber 0000006a | unc 00000000 | FE_HAS_LOCK status 1f | signal c1c1 | snr ffff | ber 00000050 | unc 00000000 | FE_HAS_LOCK
Ahoj,
tohle vypadá jako problém popsaný na české MythTV Wiki: http://wiki.tvpc.cz/mythtv/zname_chyby_a_workaroundy
Zkuste, snad to pomůže.
Tak jsem smazal kompletne celou databazi MythTV, vytvoril novou konfiguraci. Pokud nezadam rucne transporty, tak nenajdu zadny kanal. Import z channels.conf nefunguje.
Po nalezeni TV programu (celkem 14) a jejich ulozeni, MythTV v bash vypise:
auto:634000000: NOVA::12545:8395:513:518=518:dvb 0:cnt(pnum:1,channum:14) auto:634000000:NOVA CINEMA::12545:8395:514:518=518:dvb 0:cnt(pnum:1,channum:14) auto:634000000:PRIMA::12545:8395:769:518=518:dvb 0:cnt(pnum:1,channum:14) auto:634000000:Prima COOL::12545:8395:770:518=518:dvb 0:cnt(pnum:1,channum:14) auto:634000000:BARRANDOV TV::12545:8395:2049:518=518:dvb 0:cnt(pnum:1,channum:14) auto:730000000:CT 1::12560:8395:257:273=273:dvb 0:cnt(pnum:1,channum:14) auto:730000000:CT 2::12560:8395:258:273=273:dvb 0:cnt(pnum:1,channum:14) auto:730000000:CT 24::12560:8395:259:273=273:dvb 0:cnt(pnum:1,channum:14) auto:730000000:CT 4::12560:8395:260:273=273:dvb 0:cnt(pnum:1,channum:14) auto:674000000:Prima (MPEG-4 HD)::12550:8395:771:769=769:dvb 0:cnt(pnum:1,channum:14) auto:674000000:Noe TV::12550:8395:1281:769=769:dvb 0:cnt(pnum:1,channum:14) auto:674000000:TV Public::12550:8395:1537:769=769:dvb 0:cnt(pnum:1,channum:14) auto:674000000:Z1::12550:8395:1793:769=769:dvb 0:cnt(pnum:1,channum:14) auto:674000000:Test EPG::12550:8395:33026:769=769:dvb 0:cnt(pnum:1,channum:14)
Ukoncim mythtv-setup
spustim mythfilldatabase
a nic se nedeje, resp. zadne EPG nenajde… Vypise jen toto:
jirka@zeryk /mnt/data/movie/band_of_brothers-[bluray] $ mythfilldatabase 2010-02-11 13:42:36.307 Using runtime prefix = /usr 2010-02-11 13:42:36.307 Using configuration directory = /home/jirka/.mythtv 2010-02-11 13:42:36.307 Empty LocalHostName. 2010-02-11 13:42:36.307 Using localhost value of zeryk 2010-02-11 13:42:36.312 New DB connection, total: 1 2010-02-11 13:42:36.314 Connected to database 'mythconverg' at host: 127.0.0.1 2010-02-11 13:42:36.314 Closing DB connection named 'DBManager0' 2010-02-11 13:42:36.314 Connected to database 'mythconverg' at host: 127.0.0.1 2010-02-11 13:42:36.316 Current MythTV Schema Version (DBSchemaVer): 1244 2010-02-11 13:42:36.317 New DB connection, total: 2 2010-02-11 13:42:36.317 Connected to database 'mythconverg' at host: 127.0.0.1 2010-02-11 13:42:36.318 Source 1 configured to use only the broadcasted guide data. Skipping. 2010-02-11 13:42:36.319 Data fetching complete. 2010-02-11 13:42:36.319 Adjusting program database end times. 2010-02-11 13:42:36.319 0 replacements made 2010-02-11 13:42:36.319 Marking generic episodes. 2010-02-11 13:42:36.319 Found 0 2010-02-11 13:42:36.319 Fudging non-unique programids with multiple parts. 2010-02-11 13:42:36.319 Found -1 2010-02-11 13:42:36.319 Marking repeats. 2010-02-11 13:42:36.320 Found 0 2010-02-11 13:42:36.320 Unmarking new episode rebroadcast repeats. 2010-02-11 13:42:36.320 Found 0 2010-02-11 13:42:36.321 Marking episode first showings. 2010-02-11 13:42:36.321 Found 0 2010-02-11 13:42:36.321 Marking episode last showings. 2010-02-11 13:42:36.321 Found 0 2010-02-11 13:42:36.322 =============================================================== | Attempting to contact the master backend for rescheduling. | | If the master is not running, rescheduling will happen when | | the master backend is restarted. | =============================================================== 2010-02-11 13:42:36.324 MythContext: Connecting to backend server: 127.0.0.1:6543 (try 1 of 1) QWidget: Cannot create a QWidget when no GUI is being used Aborted
Doporučuji se spojit s ostatními uživateli přes web www.tvpc.cz. Do mailing listu jsem teď posílal patch pro DVB-T, se kterým snad musí fungovat full scan všem i bez zadávání transportů.
A vůbec nevím, co si myslet o tom pádu mythfilldatabase, nicméně EPG by mělo fungovat i bez něj. Ovšem proč je u všech kanálů channum=14?
Tak jsem si precetl clanek, zajasal a …
Prvni zpusob, udevadm mi ukaze neco jineho nez moje USB tunery ..
Druhy zpusob, oba DVBT-usb tunery pouzivaji stejny modul
dvb_core 87364 1 dvb_usb
Tunery USB MSI Digivox a Digivox DUO, Mythbuntu posledni verze
Proc musim mit zrovna ja tak nesikovne ruce, hlavu a stesti
Oja
nehadam se ale neni to totez.
uz jen : symlink je k nicemu pokud jde o ukazatele na hw.
to ze se karta bude jmenovat „muj_supr_hw0“ je moc fajn ale vysvetlete to treba getstreamu, mplayeru, xine apod… vsichni cekaji adapter0/frontend0 apod.
udev tohle vsechno umi, a presto mito toho abych jej chvalil, tak musim rici ze za poslednich par let me nepotrapilo nic tolik jako on. (sitovky, usb disky na zalohovani, tv karty, DO … mno mam toho ve stroji proste hodne :-)
Tak jsem se nakonec dohrabal k tomu, ze dokazu oba tunery rozeznat alespon podle jmena vyrobce. Pomoci udev i vytvorim symlinky.
Uz mam jen mensi problem, ze jeden z tuneru ma v sobe tunery dva a to uz nejsem schopen rozeznat. Existuje moznost v konfiguracnim skriptu udevu pouzit promennou, ktera se s kazdym namapovanim zvysi o 1? Abych rozlisil symlinky pro prvni a druhy tuner se stejnou identifikaci?
problematika:
mnejme 2ks Airstar2(pci) a 1ks Aver VolarX (usb)
airstarky jsou na slovo skoupe, chatame je na polohu v PCI, aver dle ser. cisla (napriklad)
hint:
%k nelze pouzit neb vytvori sadu s prefixem dvbX.neco0 coz nelze pouzit.
v manualu k udevu je skriptik dvb.sh (napr pro lenny jadro .26 je zde http://lxr.linux.no/#linux+v2.6.26/Documentation/dvb/udev.txt)
po uprave:
cat /etc/udev/rules.d/z99-local.rules
SUBSYSTEM==„dvb“, ACTION==„add“, KERNELS==„0000:04:05.0“, PROGRAM=„/etc/udev/scripts/dvb.sh %k“, NAME=„/dvb/adapter0/%c“
SUBSYSTEM==„dvb“, ACTION==„add“, KERNELS==„0000:04:03.0“, PROGRAM=„/etc/udev/scripts/dvb.sh %k“, NAME=„/dvb/adapter1/%c“
SUBSYSTEM==„dvb“, ACTION==„add“, ATTRS{serial}==„302145000717000“, PROGRAM=„/etc/udev/scripts/dvb.sh %k“, NAME=„/dvb/adapter2/%c“
cat /etc/udev/scripts/dvb.sh
#!/bin/sh
#/bin/echo $1 | /bin/sed -e ‚s,dvb\([0–9])\.\([^0–9]*)\([0–9]),\2\3,‘
Mám něco podobného: dvě hybridní PCI karty (analog + DVB-T), jedna Hauppauge 1110 a druhá Pinnacle 310i. Obě používají chipset SAA713× + TDA1004×, tedy i stejné ovladače.
Předpokládám, že není jiné cesty než to rozlišit podle PCI slotu. Mohl bych poprosit o nakopnutí správným směrem?