<--- NIET OP KLIKKEN!
Keywords: MythTV, Belgie, Linux, Gentoo/Mythbuntu, HTPC, 1080p
Hieronder enkele foto's op verzoek (onduidelijk owv fototoestel + foto's maken van een TV is altijd wazig):
Alle hardware werd online besteld bij Codima op 20-12-2007. Op 26-12-2007 kreeg ik per mail en SMS bericht dat mijn bestelling binnen was en afgehaald kon worden. Erg snel als je weet dat dat op tweede kerstdag was en toch vrij exotische hardware is. Snelle en correcte service, mails werden ook binnen het uur beantwoord! Dit was het eerste wat ik daar bestelde en er volgen zeker nog bestellingen. Btw, neen ik word niet betaald om dit te zeggen!
Een digicorder is veel te beperkt in mogelijkheden. Kijk hierboven naar mijn wishlist en je ziet dat dat al zeker geen optie is. Windows MCE heeft ook enkele (grote) nadelen:
| Windows MCE | MythTV / Linux |
|---|---|
| enkel en alleen Microsoft-certified hardware wordt ondersteund. | Linux: veel betere en bredere hardwareondersteuning |
| kan niet geskinned worden | MythTV: volledig skinnable |
| enkel MPEG2 stream met een proprietary DVR-MS wrapper | Linux: ondersteunt alle mogelijke codecs (MPG, Xvid, Divx, x264,...) |
| enkel high of low quality recording in MPEG2 | MythTV: volledig aanpasbare recordingquality in verschillende codecs |
| playback alleen op software dat DVR-MS support heeft. Copyrighted media kan enkel en alleen op de originele MCEpc afgespeeld worden | MythTV: Afhankelijk van de geinstalleerde codec can de recording op eender welke pc gespeeld worden, en meerdere keren (duh!) |
| 3 features; on-demand programming, callerID feature, integrated radio | MythTV: features worden toegevoegd adh van plugins (weather, newsfeeds, dvd transcoding, radio, callerID,...) |
| geen (auto-)transcoding van recordings, geen (auto-)commercialskipper in recordings | MythTV: heeft dit wel |
Hoewel Gentoo de distributie der distributies is, is de keuze toch gegaan naar Mythbuntu. Gewoon uit gemakzucht. Portage is nog steeds superieur aan apt! Toch heeft Mythbuntu enkele voordelen. Zo is het even eenvouding te installeren als Ubuntu en is het gericht op het gebruik van MythTV. Ook werd alle hardware automatisch herkend. Ideaal.
Mythbuntu komt default met XFCE, MythTV en ondersteuning voor meer hardware dan jij je kan voorstellen. De installatie was heel gemakkelijk en nog geen kwartier later had ik mijn systeem up and running. Dan kwam het ergste: de MythTV configuratie.
MythTV werkt met een frontend en backend die van elkaar gescheiden kunnen worden. Ik heb ervoor gekozen (weer uit gemakzucht!) om front- en backend op dezelfde pc te zetten.
1) backend setup- Host Address Backend Setup: ip en poorten voor de backend. Bij mij werkte 127.0.0.1 niet voor localhost maar moest ik 'localhost' intypen. En ja in mijn /etc/hosts wordt 127.0.0.1 gelinked aan localhost.
- Host Specific Backend Setup: dir instellen waar je opnames in bewaard worden. Aangezien ik 900GB van mijn 1TB als aparte partie had gemount werd de dit gewijzigd naar het mountpoint van die partitie.
- Global Backend Setup: TV Format = PAL, VBI Format = PAL Teletext, Channel Frequency table = Europe-West, Time offset for XMLTV listings = Auto
- Selecteer New Capture Card. Een Hauppauge PVR X50/500 wordt automatisch herkend. Selecteer hier ook 'MPEG2 encoder'
- Video source name: tvbe (om toch maar iets in te vullen, dit mag je zelf kiezen natuurlijk)
- Listings Grabber: no grabber
- Channel Frequency Table: Europe-West
Hier leg je de link tussen de video source en de capture card.
Selecteer zeker 'tvbe' bij je capture card zodat MythTV snapt dat die tvkaart gebruikt zal worden voor tv
Je kan automatisch scannen naar zenders maar je gaat ongelooflijk veel resultaten krijgen waarvan meer dan de helft meer ruis is dan mooi beeld. Daarom het volgende: run eerst 'tvgids.sh' (vind je hieronder) en edit daarna pas de frequencies van de nu automatisch toegevoegde zenders. De frequencies vind je hier , gewoon nog even je posptcode invoeren en dan worden ze mooi getoond.
Denk eraan dat hoewel de frequentie van EEN 203,25Mhz is, je in MythTV wel 203250 moet invoeren! MythTV werkt in kHz, niet in Mhz!
- hostname: localhost (zowel frontend als backend draaien op 1 pc)
- Audio: master mixer volume = 90%, PCM mixer volume = 90%
- Ik heb alleen de settings van LiveTV gewijzigd: width = 768, heigth = 480 en bitrate = 8000
Hieronder vind je de code voor dit simpele scriptje om je tvgids te updaten. Controleer eerst of wget en gunzip geinstalleerd zijn, zo niet moet je ze eerst installeren. Mythportal voorziet ons dagelijks van de nieuwe tvgids in xml-formaat. Dank u, jongens!
/usr/bin/wget http://www.mythportal.be/sites/mythportal.be/files/guide.xml.gz
/bin/gunzip -f guide.xml.gz
/usr/bin/mythfilldatabase --file 1 -1 guide.xml
Sla dit bestand op als ~/tvgids.sh. Doe chmod +x ~/tvgids.sh om het uitvoerbaar te maken. Vervolgens type je crontab -e en voeg volgende regel toe: 0 3 * * * ~/tvgids.sh.
Op die manier wordt elke nacht om 3:00u de nieuwe tvgids gedownload en
in MythTV gestoken. Handig! De allereerste keer je het scriptje runt
(dit kan gerust manueel) zullen ook een hele hoop .jpg bestanden
gedownload worden. Deze dienen als icoontjes in je program guide.
Update van 29/11/2008: Nu de Mythportal-TVgids al weken down is en er (nog) geen oplossing op hun site staat ben ik zelf op zoek gegaan naar een mogelijk alternatief en ziehier de oplossing. Wget dit bestand. Sla het op in je homedirectory. Doe nu chmod 700 mc2xml . Om het nu de eerste keer uit te voeren type je ./mc2xml -c BE -g 2460 -f . Vervang de 2460 door jouw postcode. Vervolgens krijg je een keuzemenu, ik moest daar optie 8 kiezen maar dat kan voor iedereen verschillend zijn. Er worden nu 2 bestanden aangemaakt: mc2xml.dat en mxltv.xml, het is die laatste die we nodig hebben. Voor de nieuwelingen onder jullie die het Mythportal script nooit gebruikt hebben: zorg dat MythTV niet zelf automatisch mythfilldatabase runt. Dit vink je uit in je Mythfrontend onder Setup -> General. Om nu de nieuwe xmltv.xml te importeren type je sudo mythfilldatabase --refresh-all --file 1 -l xmltv.xml . Als je nu zou surfen naar je Mythweb of je kijkt in Mythfrontend, dan zie je dat alle bestaande (Lees: Mythportal) zenders nog "NO DATA" bevatten, terwijl daaronder allemaal nieuwe zenders zijn toegevoegd. Deze moet je nog wel renamen want ze hebben vage namen als 283TM. De frequentje van VTM (kots kots) begint met 283 blijkbaar. Hoe dan ook, deze methode werkt wel. En mc2xml kan verder vooruit kijken in de toekomst dan Mythportal dat kon. Zo zie ik bij mijn upcoming recordings een Top Gear opname die gepland staat over 11 dagen!
Nu willen jullie dit natuurlijk nog in een cronjobje gegoten zien zodat jullie dit niet manueel moeten doen elke keer?
Maak een bestand /home/mythtv/crontvgids.sh met de volgende inhoud:
echo " `date` tvgids.sh: start" >> /home/htpc/log/mythtv_userlog
echo " `date` tvgids.sh: sleep 30sec" >> /home/htpc/log/mythtv_userlog
nice -19 /home/htpc/exec/mc2xml -c be -g 2460 >> /home/htpc/log/mythtv_userlog
nice -19 mythfilldatabase --refresh-all --file 1 -l /home/htpc/xmltv.xml >> /home/htpc/log/mythtv_userlog
echo " `date` tvgids.sh: end" >> /home/htpc/log/mythtv_userlog
Dit veronderstelt dat /home/htpc de homedirectory is van je MythTV-user en dat de directories log en exec bestaan. Verder moet je ook het mc2xml script downloaden vanaf hun website, opslaan in ~/exec en zorgen dat het executable is: chmod 700 mc2xml. Indien dit scriptje niet werkt probeer dan eens de "-l" parameter achter mythfilldatabase te verwijderen in de voorlaatste regel. Blijkbaar verschilt dit van versie tot versie. Nog een welgemeeende merci aan Jeroen voor het scriptje!
Nog een leuk detail: als je mc2xml manueel nogmaals runt dan zegt die het volgende
dark@Mjolnir:~/Desktop$ ./mc2xml
Loading ..... : mc2xml
Reading ..... : mc2xml.dat
Downloading . : microsoft.com
Status ...... : No new data available
Informatie van Microsoft.com halen om vervolgens te importeren in MythTV. Zoek de ironie :)
Hieronder vind je de code voor het scriptje om van alle recordings (vergeet je recordings niet in 8000kbps te laten gebeuren, stel dit in bij je recording profiles!) van MPEG2 om te zetten naar x264. Dank u, Dit is voor een single core 1 CPU PC. Bedankt Spawn voor alle mencoder parameters en uitleg!
for i in `ls /var/lib/mythtv/videos/data/record/*.mpg`; do
mencoder $i -ovc x264 -x264encopts pass=1:ssim -oac copy -ss 0 -o /dev/null
mencoder $i -ovc x264 -x264encopts pass=2:bitrate=900:ssim -oac faac -faacopts object=1:tns:quality=100 -ss 0 -o $i.avi
rm -rf $i
done
Zorg dat mencoder zeker geinstalleerd is en wijzig eventueel de dir
van de recordings! Mijn 900GB partitie werd gemount onder
/var/lib/mythtv/videos/data. Sla het bestand op als ~/mpgtox264.sh. Doe
chmod +x mpgtox264.sh om het uitvoerbaar te maken. Vervolgens weer crontab -e en voeg de volgende regel toe: 5 3 * * * ~/mpgtox264.sh.
Op die manier worden elke nacht om 3:05 al je eventuele recordings
omgezet van .mpg naar .avi (x264). Ik gebruik 3:05u omdat je dan
waarschijnlijk niks aan het opnemen zult zijn (tenzij je echt van de
belspelletjes houdt...).
Maar onze X2 BE-2350 is een dual core ding. Waarom zouden we genoegen nemen met het gebruik van slechts 1 core? Abuse the power! Hieronder het script om de dual cores van je CPU in te zetten om MPGs te transcoden naar X264.
for i in `ls /var/lib/mythtv/videos/data/record/*.mpg`; do
mencoder $i -ovc x264 -x264encopts pass=1:ssim:threads=auto -oac copy -ss 0 -o /dev/null
mencoder $i -ovc x264 -x264encopts pass=2:bitrate=900:ssim:threads=auto -oac faac -faacopts object=1:tns:quality=100 -ss 0 -o $i.avi
rm -rf $i
done
//Edit: bij nieuwere versies van x264 (lees: Vanaf Mythbuntu 8.10) geeft het script de volgende foutmelding: x264 [error]: no ratecontrol method specified. De reden is dat de nieuwe versie van x264 expliciet een bitrate of crf verwacht. Mocht je deze melding krijgen verander dan de eerste regel van het mpgtox264.sh scriptje naar: mencoder $i -ovc x264 -x264encopts pass=1:ssim:threads=auto:bitrate=1250 -oac copy -ss 0 -o /dev/null . Je recordings kunnen weer netjes naar X264 getranscode worden.
Op verzoek hieronder ook het script om MPEG2 te transcoden mbv mencoder naar XViD. Weet dat XViD slechte(re) kwaliteit oplevert dan x264. Het voordeel is dan weer dat XViD op vele standalone apparaten ondersteund wordt. Wederom dank aan Spawn.
Vervang de twee lijnen die beginnen met 'mencoder' uit het script hierboven door de volgende regels:
mencoder $i -ovc xvid -xvidencopts pass=1 -oac copy -ss 0 -o /dev/null
mencoder $i -ovc -ovc xvid -xvidencopts
pass=2:bitrate=900 -oac faac -faacopts object=1:tns:quality=100 -ss 0
-o $i.avi
LIRC zorgt ervoor dat de stoere remote die bij de Hauppauge tvkaart
kwam gebruikt kan worden. Sluit de IR-ontvanger aan op de tvkaart,
reboot de PC en met geluk heb je iets als dit in de output van dmesg | grep PVR
[ 38.105722] ivtv0: Autodetected Hauppauge WinTV PVR-150
[ 44.962046] ivtv0: Initialized Hauppauge WinTV PVR-150, card #0
[ 45.375730] lirc_i2c: chip 0x10020 found @ 0x71 (Hauppauge PVR150)<--- Dit is belangrijk
LIRC herkent de IR-ontvanger aangesloten op de tvkaart. Mooi! Zoals
je al raadde komt Mythbuntu default al LIRC geinstalleerd. Mijn case
heeft echter ook een IR-ontvanger vooraan zitten. LIRC herkende zelfs
die IR-ontvanger! /dev/lirc0 was de IR-ontvanger op mijn case,
/dev/lirc1 was die van mijn tvkaart (die ik wou gebruiken). Nadat ik /usr/sbin/lircd --device=/dev/lirc1 typte werd de LIRC-daemon juist gestart. Na het typen van irw
en het drukken op enkele knoppen van de remote kreeg ik wat tekst op
mijn scherm! Trek je niks aan van de vage codes die verschijnen. Zolang
er wat verschijnt dit je goed.
MythTV doen werken met je remote doe je zo: download dit bestand. Save het als ~/.mythtv/lircrc. Sluit de frontend en herstart de frontend om je remote te doen werken. Geniaal, niet waar?
MythTV gebruikt voor .mpg-bestanden zijn interne videospeler. Voor
.avi (Divx/Xvid) of .mkv (x264) wordt gebruik gemaakt van mplayer. Je
raadt het al: mplayer heeft een andere config dan MythTV en indien je
ook je remote wil gebruiken in mplayer is het verstandig dit aan te
passen in de mplayerconfig. Mplayer gebruikt ~/.lircrc als configfile.
Onder Mythbuntu 8.10 (en 9.04?) moet je op de volgende manier te werk gaan. Let op: dit is voor de Hauppauge WinTV PVR-150 (PCI) met bijhorende Hauppauge remote. Vroeger had je aparte ivtv-drivers (>0.4.2)nodig als prerequiste voor lirc maar sinds 2.6.XX dit bij in de kernel. Download dit bestand (= prepatched lirc sources).
wget http://dark.ellende.eu/htpc/lirc-0.8.5-CVS-pvr150.tar.bz2 . Kijk eerst ff of dialog geinstalleerd is. sudo apt-get install dialog . Extract de tar.bz2: tar xfj lirc-0.8.3-CVS-pvr150-2.tar.bz2 . Ga in de nieuwe map: cd lirc-0.8.3-CVS-pvr150-2 . Voer setup.sh uit: ./setup.sh . Kies daar TV card, vervolgens Hauppauge PVR-150 TV card en tot slot Save configuration & run configure. Nu gaan we lirc compileren: sudo make && sudo make install . Nog even de module laden: modprobe lirc_dev && modprobe lirc_pvr150 debug=1 en vervolgens lirc starten: lircd --device=/dev/lirc0. Als je nu je remote richting je IR-ontvanger richt nadat je irw ingetypt hebt, dan zie je wat commando's verschijnen als je op de toetsen van de remote drukt. Dwz dat je remote geconfigureerd is!
Stel: je MythTV setup lukt niet maar je htpc zit toch al grotendeels in elkaar. Om uit te vissen waar het mis gaat heb je hier enkele tips.
dmesg | grep HauppaugeAls het goed gaat zou je volgende output moeten krijgen:
[ 37.155917] ivtv0: Autodetected Hauppauge card (cx23416 based)
[ 38.105703] tveeprom 1-0050: Hauppauge model 26034, rev C197, serial# 8357163
[ 38.105722] ivtv0: Autodetected Hauppauge WinTV PVR-150
[ 44.962046] ivtv0: Initialized Hauppauge WinTV PVR-150, card #0
[ 45.375730] lirc_i2c: chip 0x10020 found @ 0x71 (Hauppauge PVR150)
Installeer/compile pciutils en type daarna lspci -v. Ergens tussen de output moet er iets staan als:
02:06.0 Multimedia video controller: Internext Compression Inc iTVC16 (CX23416) MPEG-2 Encoder (rev 01)
Subsystem: Hauppauge computer works Inc. WinTV PVR 150
Flags: bus master, medium devsel, latency 64, IRQ 20
Memory at f4000000 (32-bit, prefetchable) [size=64M]
Installeer/compileer ivtv-utils. Om te scannen naar alle mogelijke frequenties waarop een zender zit type je ivtv-tune -d /dev/video0 --list-channels --freqtable=europe-west.
Jammer genoeg zit op de overgrote meerderheid van al die zenders niks
dan ruis. Als je toch een output krijgt, zit je al goed. Stel je
ivtv-tune eens in op een bepaalde frequentie. Dit doe je door ivtv-tune -d /dev/video0 --frequency=203.250. Dat is de frequentie van EEN. Met wat geluk zegt die dan Signal detected. Nu is het tijd voor de eigenlijke opname: cat /dev/video0 > test.mpg. Laat dit enkele seconden runnen en druk vervolgens op CTRL+C. Om je opname te bekijken, type je mplayer test.mpg.
Ik ben zo lief geweest enkele van mijn config-files te delen. Je hebt ze maar op te slaan op je eigen HTPC.
Omdat uw systeem niet eeuwig gaat blijven draaien, hieronder een trukje om je database te backuppen: mysqldump -u mythtv -p mythtv mythconverg -c > mythtv_backup.sql
Na een crash je database restoren doe je zo:
user@hostname:~$ mysql -u root
mysql>create database mythconverg;
mysql>exit
user@hostname:~$ mysql -u mythtv -pmythtv mythconverg < mythtv_backup.sql
Om ervoor te zorgen dat backuppen automatisch gebeurt, gieten we het geheel in een cronjob. Maak een bestand ~/dbbu.sh en zet volgende regels erin:
#!/bin/bash
DAY=`/bin/date +%u`
FILE="mythdbbu_$DAY.sql.gz"
/usr/bin/mysqldump -u mythtv -pmythtv mythconverg > /mnt/point/sqldump/$FILE
exit 0
Als je hd fubar
is ben je sowieso gescheten. Daarom raad ik je aan je backup op een
andere PC in het netwerk te saven. Of dat nu een Linuxbak is die een
share heeft via Samba, of een Windowspc met een "gedeelde map", doet er
niet toe. De algemene syntax om een share lokaal te mounten is: sudo mount -t smbfs -o username=user,password=pass //server/share /mnt/point.
De user en pass zijn de gegevens waaronder de gebruiker zich via Samba
kenbaar maakt aan de host. Dit is niet noodzakelijk hetzelfde
wachtwoord om erop in te loggen! Een user aanmaken doe je door: sudo smbpasswd -a user.
Als het een Windowsbak is met een "gedeelde map" dan gebruik je die
gegevens voor user en pass. Een correct commando zou kunnen zijn: sudo mount -t smbfs -o username=dark,password=guessagain //192.168.123.7/data /mnt/fileserver/sqldump
De map /mnt/point moet natuurlijk bestaan voor je het mountpoint kunt gebruiken. Ook de map 'sqldump' moet manueel aangemaakt worden. Als blijkt dat je mythbox lastig doet over 'smbfs' als fs, dan moet je smbfs (= deel van Samba) eerst installeren/compileren.
Vergeet niet chmod +x ~/dbbu.sh te doen. Type crontab -e en voeg de volgende regel toe: 1 3 * * * ~/dbbu.sh.
Dit zal het script dbbu.sh elke nacht om 03:01h runnen. Om 03:00h wordt
de nieuwe tvgids gedownload, en slechts een minuut later een backup van
de volledige database. Geniaal.
Ongelooflijk maar waar, MythTV logt. En veel. Wat er ook gebeurt, alles wordt mooi weggeschreven naar logs. Je hebt dus maar te lezen wat er staat als er iets mis gaat. De logs vind je in /var/log/mythtv. Vooral mythbackend.log en mythfrontend.log zijn van belang.
Je bent de trotse bezitter van een Antec Fusion Black (of Silver) maar je display doet nog niks? Daarom dit stukje tekst. Thanks to Venky Raju (http://venky.ws) and Garth Dahlstrom (http://stacktrace.org/) for their information.
Het vraagt wat werk maar het is zeker niet onmogelijk. Zorg dat lcdproc niet geinstalleerd is voor je hieraan begint! Je moet de source code ook patchen en vervolgens compileren.
wget http://internap.dl.sourceforge.net/sourceforge/lcdproc/lcdproc-0.5.2.tar.gztar -zxvf lcdproc-0.5.2.tar.gzcd lcdproc-0.5.2wget http://codeka.com/blogs/imon/lcdproc-0.5.2-imonlcd-0.3.patchpatch -p1 < lcdproc-0.5.2-imonlcd-0.3.patchaclocal && autoconf && automake./configure --enable-drivers=imonlcdmake && sudo make installsudo cp scripts/init-LCDd.debian /etc/init.d/LCDdsudo chmod +x /etc/init.d/LCDdsudo update-rc.d LCDd defaultswget http://dark.ellende.eu/htpc/LCDd.conf
sudo cp LCDd.conf /usr/local/etc
sudo rmmod lirc_imon
sudo nano -w /etc/modprobe.d/options en voeg volgende 2 regels toe:
# Set lirc_imon option to use LCD device
options lirc_imon is_lcd=1
(Ter info: bij mij stonden deze regels er al!)
sudo modprobe lirc_imon is_lcd=1
sudo /etc/init.d/LCDd start
Je ziet nu "LCDproc Server" op je VFD :)
Reboot and pray. Met wat geluk werkt je VFD nu na reboot. Tip: een
vrije donatie op mijn bankrekening zou hierbij kunnen helpen...
LCD activeren in MythTV
Start mythfrontend en ga naar Setup -> Appearance.
Vink enable LCD device aan. De mythlcdserver wordt nu gestart en afhankelijk van wat je doet in MythTV zie je wat tekst op je LCD verschijnen.
De volgende keer je mythfrontend start werkt je LCD met MythTV!
Nog een tip: LCDd error messages vind je terug in /var/log/syslog.
//edit 22-05-2009: Je VFD doen werken met MythTV onder 8.10 en nieuwer doe je zo:
Om te beginnen moet je kijken welke versie van VFD je hebt. Type lsusb om dit te zien. Bij mij stond er dan iets als Bus 003 Device 003: ID 15c2:ffdc SoundGraph Inc. iMON PAD Remote Controller. Die 15c2:ffdc is belangrijk, deze howto is voor die versie van VFD en ik weet niet of het ook bij andere zal werken. Vervolgens moet je een hoop tools installeren die je gaandeweg nodig hebt. sudo apt-get install build-essential automake autoconf autotools-dev libtool cvs . Eens alles geinstalleerd is kun je beginnen.
Start met LCDprod van je HTPC te gooien: sudo apt-get --purge remove lcdproc
wget http://internap.dl.sourceforge.net/sourceforge/lcdproc/lcdproc-0.5.2.tar.gz
tar -zxvf lcdproc-0.5.2.tar.gz
cd lcdproc-0.5.2
wget wget http://codeka.com/blogs/imon/lcdproc-0.5.2-imonlcd-0.3.patch
patch -p1 < lcdproc-0.5.2-imonlcd-0.3.patch
./configure --enable-drivers=imonlcd
aclocal && autoconf && automake
make
sudo make install
sudo cp scripts/init-LCDd.debian /etc/init.d/LCDd
sudo chmod +x /etc/init.d/LCDd
sudo update-rc.d LCDd defaults
Negeer de foutboodschap van IOWarrior.c . Er zijn ergere dingen in't leven. Een Opel hebben bevoorbeeld.
wget http://dark.ellende.eu/htpc/LCDd.conf
sudo cp LCDd.conf.1 /usr/sbin/etc/LCDd.conf Ik denk dat hij je pas opgeslagen LCDd.conf gaat saven als LCDd.conf.1 omdat er al een LCDd.conf bestaat in die dir. Bij mij was dat in ieder geval toch zo. Het is dus de bedoeling dat die van dark.ellende.eu in /usr/sbin/etc komt te staan, niet die default in de lcdproc-0.5.2 directory zit.
sudo rmmod lirc_imon
sudo nano -w /etc/modprobe.d/options en voeg volgende lijn toe
options lirc_imon is_lcd=1
sudo modprobe lirc_imon is_lcd=1
sudo /etc/init.d/LCDd start
Je VFD geeft nu normaal de volgende tekst: Cli: 0 Scr: 0
Ga in MythTV naar Setup -> Appearance en vink Enable LCD device aan. Mythfrontend wordt daarna automatisch herstart en vanaf dan werkt je VFD met MythTV. Prachtig.
De volumeknop van de Antec Fusion Black doen werken
top
Edit lird.conf: sudo vim /etc/lird.conf
Voeg volgende regels toe
begin remote
name ClickWheel
bits 24
eps 30
aeps 100
one 0 0
zero 0 0
post_data_bits 8
post_data 0xFF
gap 131993
toggle_bit 0
begin codes
WheelCC 0x010000
WheelCW 0x000100
WheelClick 0x000008
end codes
end remotee
Omdat we 2 lirc devices hebben (remote + volumeknop) gaan we ook 2
keer lirc moeten runnen. In mijn geval is /dev/lirc1 mijn remote en
mijn volumeknop is /dev/lirc0. Om te zien welke lirc devices je
allemaal hebt kun je ls /dev/lirc* typen. De output zal iets zijn als lirc, lirc0, lirc1 lircd. Om te zien welke lirc overeenkomt met welk device type je ps aux | grep lirc. Een van de lijnen die je gaat zien dan is deze: 4820 ? Ss 0:00 /usr/sbin/lircd --device=/dev/lirc1. Dit wil zeggen dat lirc1 al een gekend lirc device is (waarschijnlijk je remote).
Stop lircd: sudo killall lircd
Nu starten we beide instances van lircd op:
lircd --driver=default --device=/dev/lirc0 --output=/dev/lircd --pidfile=/var/run/lircd.pid --listen
Dit start lircd op voor de volumeknop van je case.
lircd --driver=default --device=/dev/lirc1 --output=/dev/lircd1 --pidfile=/var/run/lircd1.pid --connect=localhost:8765
Dit start lircd op voor je remote.
Als je braaf bent geweest zou je volumeknop nu moeten werken. Type irw om het te testen.
Draai aan je volumeknop en druk wat knopjes op je remote in. Je moet dan output krijgen vergelijkbaar met die hieronder.
Van je volumeknop:
00000000000100ff 00 WheelCW ClickWheel
00000000000100ff 01 WheelCW ClickWheel
00000000000100ff 02 WheelCW ClickWheel
00000000010000ff 00 WheelCC ClickWheel
00000000010000ff 01 WheelCC ClickWheel
Van je remote:
0000000000001790 00 Vol+ Hauppauge_150
0000000000001790 00 Vol+ Hauppauge_150
00000000000017a0 00 Ch+ Hauppauge_150
00000000000017a0 01 Ch+ Hauppauge_150
00000000000017a1 00 Ch- Hauppauge_150
Om de volumeknop nu te laten werken moet je entries maken in ~/.lircrc. VERDER UITWERKEN
Cool 'n' Quiet
top
Cool 'n' Quiet is een techniek gemaakt door AMD om hun CPU's minder energie te laten verbruiken. Het principe is heel simpel: ze verlagen het voltage van je CPU, hierdoor krijgt die een lagere kloksnelheid en moet die minder hard gekoeld worden. In praktijk zul je dus een minder duur energiefactuur krijgen en bovendien hoor je je CPUfan minder. Waarom zou mijn X2 BE-2350 constant aan zijn 2x2100Mhz moeten runnen als hij alleen maar om 3u 's nachts de recordings gaat transcoden? Voor dat uurtje of die twee uurtjes dat hij bezig is kan hij gerust aan 100% runnen, daarna zal hij toch weer idle zijn tot de volgende avond.
Om Cool 'n' Quiet te doen werken op je systeem heb je een recente kernel nodig. Gelukkig voor u hebben de sympatieke mensen van Mythbuntu de kernel compiled met de juiste opties. Hetzelfde geldt bij Gentoo trouwens. Je moet alleen nog iets installeren en je bent weer "groen" bezig.
Installeer/compileer powernowd: sudo apt-get install powernowd of emerge powernowd
Start de service indien dit niet automatisch gebeurt (normaal wel). sudo /etc/init.d/powernowd start
That's it!
Om te zien of het allemaal werkt doe je het volgende: cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq. Na installatie viel mijn CPU-speed terug op 1000000 wat overeenkomt met 1Ghz. Als je nu iets CPU-intensief zoals mpg2x264.sh runt zul je zien dat wanneer je weer cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq typt dat je CPU terug op 2100000 runt oftewel 2.1Ghz. Als mpg2x264.sh zijn werk gedaan heeft gaat je CPU weer idle tot aan de volgende recording of een cronjob, om dan weer op full speed te presteren. Heerlijk.
Het commando cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq is vrij lang maar het kan ook simpeler: cat /proc/cpuinfo | grep MHz. Dit laatste commando geeft trouwens 2 regels output omdat je CPU dual-core is.
cpu MHz : 2100.000
cpu MHz : 2100.000
De output van dmesg | grep powernow is het volgende:
[765769.395606] powernow-k8: Found 2 AMD Athlon(tm) X2 Dual Core Processor BE-2350 processors (version 2.00.00)
[765770.186692] powernow-k8: 0 : fid 0xd (2100 MHz), vid 0xe
[765770.186698] powernow-k8: 1 : fid 0xc (2000 MHz), vid 0xf
[765770.186701] powernow-k8: 2 : fid 0xa (1800 MHz), vid 0x11
[765770.186705] powernow-k8: 3 : fid 0x2 (1000 MHz), vid 0x12
Hier zie je duidelijk de CPU fullspeed runnen op 2100 MHz terwijl hij wat later idle gaat draaien op 1000 MHz. Een XViD spelen is geen probleem en gebeurt dan ook aan 1000MHz terwijl een 1080p x264 veel meer cpu vraagt, dan wordt de snelheid terug opgedreven naar 2,1GHz.
Mythfrontend prioriteit verhogen
Vanaf kernel-versie 2.6.X is het mogelijk om mythfrontend met verhoogde privilleges te draaien zodat de performantie toeneemt. Het enige wat je moet controleren is of 'pam' op je systeem draait. De ingestalleerde versie moet nieuwer zijn dan 0.79. Pam staat voor Pluggable Authentication Modules. Veronderstel dat mythfrontend als user 'mythtv' draait. Voeg de volgende regels toe aan /etc/sercurity/limits.conf:
mythtv - rtprio 50
mythtv - nice 0
Om dit te activeren moet je uitloggen en terug aanloggen. Herstart mythfrontend en ga naar Configuratie -> TV -> Afspelen. Vink het vakje voor "Realtime priority threads" aan. Doorloop de schermen en druk op OK om de instellingen te bewaren.
Speel nu een opname of kijk even LiveTV, sluit mythfrontend. Als het goed gegaan is zie je iets als volgt: 2008-03-27 17:49:14.264 Using realtime priority
Mythweb
Ok de update is misschien wat misleidend: ik heb namelijk helemaal Mythweb niet geconfigd. Mythbuntu is zo sympatiek alles voor u al te doen en apache draait zelfs al default. Al wat je moet doen is op een andere PC je browser sturen richting je HTPC. Voorbeeld: http://192.168.123.7/mythweb/
Laat tvgids.sh je TVgids automatisch vullen via cronjob zoals hierboven beschreven, forward op je router port 80 en je kan je opnames beheren vanop eender welke PC met een browser. Opnames regelen vanop je werk, vanop school, vanuit de trein met je GSM,... Geef je vrouw/vriendin een username en een wachtwoord en laat haar vanaf nu zelf haar opnames regelen via MythWeb! WAF++. MythWeb screenshotje op verzoek. Door met je muis een bepaalde film of serie te selecteren krijg je er meer info over te zien.
Auto-mount USB devices
Lees eerst de het laatste puntje van deze paragraaf!
Tot nu toe hebben we allemaal films, series, mp3s,... gespeeld die op je interne harde schijf stonden. Wat als je een externe USB hd hebt? In deze paragraaf wordt besproken hoe we autofs opzetten zodat je enkel je USB hd in een vrije USB poort moet steken.
Als je je USB hd aansluit op je PC en je doet dmesg | tail dan krijg je hopelijk iets als dit:
[921372.468681] usb 4-2: new full speed USB device using ohci_hcd and address 2
[921373.039435] Initializing USB Mass Storage driver...
[921373.040459] scsi4 : SCSI emulation for USB Mass Storage devices
[921373.040789] USB Mass Storage support registered.
[921377.230405] sd 4:0:0:0: [sdb] Assuming drive cache: write through
[921377.238960] sd 4:0:0:0: [sdb] 250880 2048-byte hardware sectors (514 MB)
[921377.241813] sd 4:0:0:0: [sdb] Write Protect is off
[921377.241817] sd 4:0:0:0: [sdb] Mode Sense: 3e 00 00 00
[921377.241820] sd 4:0:0:0: [sdb] Assuming drive cache: write through
[921377.241823] sdb: sdb1
Hoera, je USB disk wordt gevonden als /dev/sdb1. Om dit te illustreren gebruik ik een USB stick van 512MB want mijn USB hd zit in de auto en voedt mijn autoradio met 60GB aan mp3s. Het principe voor een USB hd is exact hetzelfde.
De volgende stap bestaat uit de installatie van autofs: sudo apt-get install autofs.
We moeten nog snel een mountpoint aanmaken: sudo mkdir /var/lib/mythtv/videos/data/usbdev en sudo chmod -R 777 /var/lib/mythtv/videos/data/usbdev/.
Edit nu de autofs master configuration file: sudo vim /etc/auto.master.
Standaard staat een #-teken voor alle lijnen dus alles is commentaar. Je mag het bestand dus leegmaken als je wil of gewoon alles zo laten staan. Voeg de volgende regel toe: //var/lib/mythtv/videos/data/usbdev -fstype=vfat :/dev/sdb1. Het spreekt voor zich dat je je eigen filesystem opgeeft. De USB stick is vfat maar dit kon evengoed reiserfs, ext3, ntfs,... zijn.
Telkens je een USB device aan je PC koppelt zal die automatisch worden gemount onder het aangemaakte mountpoint. Het mooie van die directory is dat die onder MythTV's videodirectory valt en bij gevolg zijn alle films en mp3s op je USB hd/stick afspeelbaar in MythTV.
Edit: toen ik dit testte op mijn eigen PC bleek dat de USB stick al automatisch gemount werd onder /media/disk. Alleen de symlink ontbrak nog. Voor de Mythbuntu-users kan het dus veel simpeler: ln -sf /media/disk/ /var/lib/mythtv/videos/data/usbdev.
Edit 2: Aangezien recente GSM's tegenwoordig ook al flink wat storage kunnen hebben dankzij de MicroSD-kaartjes kunnen deze ook gebruikt worden als USB stick. Het principe is heel simpel. Sluit de USB kabel van je GSM aan op je GSM, plug die kabel in een USB poort. Bij mijn E50 moest ik dan "data transfer" selecteren waarna de GSM in offline-mode gaat. Je krijgt dan iets als: dmesg | tail -n 15.
[950031.069287] usb-storage: device found at 4
[950031.069291] usb-storage: waiting for device to settle before scanning
[950031.650645] usb-storage: device scan complete
[950033.452346] scsi 5:0:0:0: Direct-Access Nokia E50 1.0 PQ: 0 ANSI: 0
[950033.461843] sd 5:0:0:0: [sdb] 1983495 512-byte hardware sectors (1016 MB)
[950033.464695] sd 5:0:0:0: [sdb] Write Protect is off
[950033.464699] sd 5:0:0:0: [sdb] Mode Sense: 03 00 00 00
[950033.464703] sd 5:0:0:0: [sdb] Assuming drive cache: write through
[950033.473646] sd 5:0:0:0: [sdb] 1983495 512-byte hardware sectors (1016 MB)
[950033.476111] sd 5:0:0:0: [sdb] Write Protect is off
[950033.476115] sd 5:0:0:0: [sdb] Mode Sense: 03 00 00 00
[950033.476118] sd 5:0:0:0: [sdb] Assuming drive cache: write through
[950033.476121] sdb:
[950033.483746] sd 5:0:0:0: [sdb] Attached SCSI removable disk
[950033.483785] sd 5:0:0:0: Attached scsi generic sg1 type 0
Ik heb een 1GB MicroSD-kaartje in mijn E50 zitten. Deze wordt ook gevonden als /dev/sdb en je vindt alle data van je GSM terug onder /media/disk maar ook onder /var/lib/mythtv/videos/data/usbdev. Herinner je nog dat we die symlink gelegd hebben. Zorg dus dat je vanaf nu altijd en overal je USBkabel bij hebt, je weet nooit wie er ineens die film heeft die jij al zo lang wil...
Auto-mount netwerk Samba share
Indien je ergens in huis een fileserver hebt die via Samba zijn data sharet met de rest van het netwerk, dan kan het gemakkelijk zijn om die shares te mounten. Kort en krachtig: we doen dat mbv /etc/fstab.
Kijk eerst en vooral of smbfs geinstalleerd is: sudo apt-get install samba smbfs.
Op de fileserver moet je een Samba account hebben. Dit is niet noodzakelijk hetzelfde als op je client. Voeg een user toe (als root): sudo smbpasswd -a dark waarbij dark de username is.
Edit fstab: sudo vim /etc/fstab.
Voeg volgende regel toe: //192.168.123.110/Share /var/lib/mythtv/videos/data/fileshare smbfs username=dark,password=guessagain 0 0.
Om de share te mounten moet het mountpoint bestaan, aanmaken dus: sudo mkdir /var/lib/mythtv/videos/data/fileshare.
Om nu de share ook effectief te mounten een heel kort commando: mount -a
Nieuwe MythTV themes toegevoegd
Heel simpel: sudo apt-get install mythtv-theme*. Dit installeert 11 mooie themes.
Rarred films afspelen in MythTV
Een van de leukste features die ik al jaren gewoon ben uit XBMC is dat films of series die nog in rar's zitten afgespeeld kunnen worden. Aangezien ik een tamme mens ben, heb ik geen zin om alles te gaan extracten. Ja, ik weet dat er glftpd scripts zijn die dat automatisch voor mij kunnen doen na een sfv-check maar ik wil zelf bepalen wat ik extract en wat niet. Daarom gaan we MythTV aanleren hoe het moet omgaan met .rar-files.
Download dit bestand. Save het als /usr/bin/mplayerrar.pl Bron: http://www.mythtv.org/wiki/index.php/Myplayer-rar.pl
Doe sudo chmod 755 /usr/bin/mplayerrar.pl.
Ik heb de waarden van de variabelen al gecheckt. Het pad van unrar, mplayer en rm is correct voor zowel Mythbuntu als Gentoo.
Ga nu in MythTV naar Utilities/Setup -> Setup -> Media Settings -> Video Settings -> Filetypes -> New -> Create new extension. Type daar "rar". Bij command vul je in /usr/bin/mplayerrar.pl %s. Vink "use default player" uit. Selecteer Done.
Ga nu in je Media Library naar een film of serie die je nog niet extract hebt en selecteer de .rar. Je film zal nu extract worden naar /tmp en na het afspelen gewoon weer verwijderd worden. Aangezien mijn hd snel is, duurt dat extracten van bv een 700MB XViD maar 6sec.
Om eventuele vragen voor te zijn: ja, MythTV speelt standaard .iso af. Onder de motorkap gebeurt het volgende automatisch: mount -o loop -t iso9660 file.iso /pad/waar/mythtv/kijkt. Dat hoef je dus zelfs niet te doen.
Filebased view ipv databaseview van files in MythVideo
Wanneer je MythTV met zijn default instellingen gebruikt dan moet je na het toevoegen van een film op je HD telkens naar Utilities/Setup -> Video Manager om de nieuwe content te scannen. Handig dat die functie erin zit? Ja. Leuk om na elke wijziging te doen? Neen. MythVideo gebruikt de Video Manager om zijn database te updaten met nieuwe bestanden.
MythTV zou MythTV niet zijn als je ook hier niet de keuze had. Ga naar Utilities -> Setup -> Media Settings -> Video Settings -> General Settings -> Ga via Next naar de tweede pagina en vink volgende opties daar aan: Video Browser browses files en Video List browses files. Vanaf nu wordt je hd rechtstreeks aangesproken ipv de MySQLdatabase. Simpel! Vooral wanneer je films via NFS of Samba sharet is dit handig omdat je anders de ganse directory over het netwerk opnieuw helemaal moet scannen.
Aanpassing winteruur naar zomeruur
Enkele dagen geleden werd 2u 's nachts ineens 3u, van winteruur naar zomeruur. Vanaf toen tot vandaag (1/4/08) stonden alle recordings fout. Zo weet ik vanbuiten dat Friends ongeveer rond 20u op VT4 komt tijdens de week. MythTV zei dat het om 21u was. Dit leidde tot foute recordings. Wanneer ik date typte kreeg ik wel het correcte (zomer)uur. Blijkbaar zat er toch iets fout in de tvgids van Mythportal. Ik heb hen dan ook vriendelijk gemaild daarover gisteren en vandaag was het reeds in orde. Thanks!
Mooiste theme ooit toegevoegd
Ik heb doorheen de jaren (dit is mijn 2e Mythbox) al meerdere MythTV-themes gezien en gebruikt. De ene zag er wat beter uit dan de andere maar nooit was er een theme dat me met verstomming deed staan...Tot ik daarstraks MythXFace ontdekte. De link naar de homepage vind je hier maar is in het Spaans. Ik ga jullie wat ellende besparen en ik heb de file van megaupload.com gedownload en lokaal gemirrord. Spiegeltje hier. Geen dank. Voor screenshots verwijs ik jullie naar hier. Niet twijfelen, gewoon downloaden en opslaan op je HTPC. Vervolgens doe je tar xzvvf MythXFace-wide.tar.gz -C /usr/share/mythtv/themes. Ga in MythTV naar Configuration > Setup > Appearance en selecteer daar MythXFace-Wide. De images worden nu automatisch gescaled. Enjoy...
mplayer config voor hdtv geoptimaliseerd
Omdat mplayer eindeloos veel opties kent in zijn config kan het even duren om alles ingesteld te krijgen naar je wensen. Zo ging 1080p-HD materiaal maar _net_ goed genoeg. Het kon gewoon nog net dat ietsje vlotter. Daarom heb ik mplayer's config helemaal aangepast naar MIJN wensen. Dwz hoe het afgespeeld moet worden op MIJN tv volgens MIJN pc. De config is een samenraapsel van vele websites, fora en met hulp van de mensen van #mplayer (freenode). Nu speelt het in elk geval beter dan voordien en er is geen (zichtbaar) kwaliteitsverlies! Je kan mijn config hier vinden. Downloaden en in /home/mythtv/.mplayer opslaan. Tip: maak eerst een backup van je huidige config.
DVD's rippen met MythDVD via Mythfrontend
Je kan in MythTV DVD's rippen naar je harde schijf. Simpel gezegd draait er achterliggend een programma mtd (MythTV Transcoder Deamon) dat taken binnen pakt indien nodig. Toch net dat ietsje mooier dan een simpele vobcopy -m. Ga in MythTV naar Setup -> Media Settings -> DVD settings -> General settings. Mtd werkt met je raw dvd device. Bij mij is dat /dev/hda maar dat kan bij u anders zijn. Nog een belangrijk iets om te weten is dat mtd moet gestart zijn als root met de -n parameter: sudo mtd -n & . Die & duwt het programma in de background. Je zal zien dat dit nogal wat output genereert. Wanneer je nu een DVD in je dvdspeler steekt, naar Optical Disks -> Import disk gaat, dan moet je op 0 drukken (op je afstandsbediening of op je toetsenbord) om het rippen te starten of je wijzigt de settings naar eigen voorkeur. Je kan rippen naar Xvid ("good quality setting"), maar evenzeer naar een ISO. Besef dat ISO de dvd-menu structuur behoudt en Xvid helemaal niet. Een 5GB DVD wordt omgetoverd tot een prachtige Xvid van 1.4GB op good-setting. Als je dat nog te veel vindt dan kun je de kwaliteit nog aanpassen.
Helaas helaas helaas... Je kan bij Rip Settings wel instellen naar welke dir je je film wil rippen, het komt altijd in de default videos-dir. Bij mij is dit /var/lib/mythtv/videos/ want hieronder heb ik mijn 3 terrabyte disken gemount. Maar mijn / waar /var/lib/mythtv/videos/ onder valt is amper 10GB (system-partitie). Films werden dus geript op een partitie met amper 5GB vrij. Probleem!
Dit is opgelost door te werken met symlinks. Dit idee leefde al langer om eens deftig op te zetten en nu heb ik dat gelijk maar gedaan. Vanaf nu is mijn default videos-dir /var/lib/mythtv/videos/data2/frontend en in die map frontend zitten symlinks naar de xvid, dvdr, series, x264-folders verspreid over mijn disken. Dat wil ook zeggen dat de films die geript worden met MythDVD nu in /var/lib/mythtv/videos/data2/frontend/tmp komen maar aangezien dat een partitie is van 1TB is daar plaats genoeg. Voor de mensen die ook symlinks willen leggen, dat is heel simpel: ln -sf ../../data2/dvdr dvdr. Dit doe je voor elke dir die je wenst te linken. Vanaf nu geen overbodige dirs meer in MythVideo en DVDs die geript worden waar JIJ wil. Heerlijk!
//Edit 14/02/09: Intussen heb ik die verschillende settings even geprobeerd. Ik heb hier de originele uncensored DVD van Road Trip (6,5GB). Op 'good' werd een xvid van 1,4GB gemaakt met de door mij geselecteerde Engelse audiotrack en Nederlandse ondertitels hardcoded in de .avi. De kwaliteit hiervan was zeker goed te noemen en het transcoden duurde amper 1,5u. Op 'perfect' werd de .vob van de film zelf (dus geen extra's en trailers) gemaakt. Hiermee heb je natuurlijk wel 100% kwaliteit maar geen menu-structuur meer. Ook blijft dan enkel de door jou geselecteerde audiotrack over. Op 'iso' werd de volledige film incl alles naar de hd geript. Ik was aangenaam verrast van het resultaat van die xvid!
//Edit van 08/04/09: command line DVD's rippen doe je zo: sudo apt-get install vobcopy . Stop de DVD in je PC, vobcopy -v -m -i /mnt/dvd. Zorg dat je genoeg vrije ruimte hebt op de partitie waar je dat uitvoert. Om er nu een .iso van te maken doe je vanuit de film-map (waar je de folder VIDEO_TS dus ziet): mkisofs -v -dvd-video -o ../MOVIE_NAME.iso . .
(s)VCD playback doen werken
In een ver grijs verleden had ik nog geen HTPC, enkel een eenvoudige standalone DVD-speler. Gelukkig lustte die wel gebrande dvdrs en cdrs. Al gauw kwam ik uit bij SVCD. Dit is een MPEG2 formaat zonder menu-structuur, maar je DVD-speler denkt wel dat het een DVD is. Nog een bijkomend voordeel is dat ongeveer 50% van alle xvid/dixv-releases wel een proper of repack krijgt en SVCD niet. Helemaal tof wordt het als je weet dat SVCD zichtbaar betere kwaliteit heeft dan xvid/divx omdat het meestal ook een CD groter is. Doorheen de jaren heb ik veel meer SVCDs gebrand dan xvid. Tijd dus om die terug af te kunnen spelen!
Allereerst moet je weten dat mythfrontend (wat je ziet op je TV/PC) eigenlijk een frontend is die op zijn beurt de gewenste video-speler aanroept. Als ik een SVCD in mijn HTPC stak en 'Play VCD' in het menu koos begon de film 1 sec te spelen en dan vloog ik terug in MythTV's menu. In mythfrontend.log stond ook niet veel zinnigs helaas. Om alles te begrijpen moet je ook weten dat een SVCD uit 2 tracks minstens bestaat. De eerste track is in mode 2 form 2 format. Dwz dat het L2 error correction gebruikt. Het bevat een ISO-9660 filesystem met 2048 bytes/sector. Dit filesysteem bevat de SVCD metadata informatie. Het is deze track die je standalone DVD-speler wijsmaakt dat het een gewone DVD is. De tweede track op de SVCD-cdr is raw 2324 bytes/sector MPEG data, m.a.w. de eigenlijke film, meestal verpakt in een grote .dat-file.
Na wat prulwerk op de command-line kwam ik erachter dat je zo een SVCD opstart: mplayer vcd://2 -cdrom-device /dev/cdrw. Die vcd://2 wijst naar de 2e track op de SVCD, zoals in de vorige paragraaf beschreven staat. Nu nog MythTV vertellen hoe het moet omgaan met SVCD...
Ga naar Utilities/Setup --> Setup --> Media Settings --> DVD Settings --> General Settings --> Location of VCD device: /dev/cdrw --> finish
Ga naar Utilities/Setup --> Setup --> Media Settings --> DVD Settings --> Play Settings --> next --> VCD Player command: mplayer vcd://2 -cdrom-device /dev/cdrw --> finish
Als je nu een SVCD in de DVD-speler van je HTPC stopt en je klikt op 'Play VCD' in het menu, dan speelt mplayer netjes de SVCD af zoals het hoort.
Mplayer besturen via je bluetooth GSM
Als je geen fancy remote hebt omdat je bevoorbeeld geen TV-kaart hebt, of gewoon omdat je Tv-kaart niet met een remote kwam, dan moet je geen dure remote aanschaffen als je niet wil. Je kan via bluetooth ook mplayer besturen. In dit deeltje leg ik je uit hoe. In de eerste plaats moet je een Bluetooth-dongle hebben. Sommige PC's (vooral laptops) hebben dit tegenwoordig ingebouwd. Voor een gewone PC kun je een USB-Bluetooth dongle kopen. Eentje die 10m ver gaat kost minder dan 20 EUR. Ik veronderstel dat je al een GSM met bluetooth hebt? Ik heb dit getest met mijn Nokia E51 maar voor eender welke GSM die .jar (Java) of .sis-bestanden (S60v2/3) kan installeren zal wel voldoen. Natuurlijk moet bluetooth geinstalleerd staan op je PC. Start de service met sudo /etc/init.d/bluetooth start. Indien dit niet lukt moet je het eerst installeren.
In de eerste plaats is het verstandig om te zien of je bluetooth gevonden werd: dmesg | grep Bluetooth
[ 18.573952] Bluetooth: Core ver 2.13
[ 18.575336] Bluetooth: HCI device and connection manager initialized
[ 18.575341] Bluetooth: HCI socket layer initialized
[ 18.613810] Bluetooth: Generic Bluetooth USB driver ver 0.3
Hoera, de hardware werd al herkend. Je kan het ook zien via lsusb .
Bus 001 Device 004: ID 03f0:011d Hewlett-Packard Integrated Bluetooth Module
Nu je weet dat langs je PC-kant de hardware herkend werd kun je beginnen met de software te installeren: sudo apt-get install bluez-utils . Dit installeert o.a. hcitool. Zorg dat je bluetooth op je GSM opstaat en dat hij zichtbaar (visible) staat voor anderen. Als je nu hcitool scan type dan zul je zien dat je GSM hopelijk gevonden werd. Dit is wat ik te zien kreeg:
dark@Craptop:~$ hcitool scan
Scanning ...
00:1C:D6:7F:DD:BC Nokia 6300 <---- Pa zijn GSM.
00:1D:6E:C3:CC:87 Gsm <---- Mijn GSM
w00t. Mijn GSM werd herkend. Nu wordt het tijd om de software te installeren die bluetooth-signalen omzet in LIRC-codes. Dit gebeurt in 2 fasen.
1) wget http://lirc-bluetooth.googlecode.com/files/btlirc_0.1-1_i386.deb
2) sudo dpkg -i btlirc_0.1-1_i386.deb
Als je het dpkg-commando uitgevoerd hebt wordt de deamon automatisch gestart.
Nu moet je nog een applicatie op je GSM installeren. Surf met je GSM naar http://tinyurl.com/btlirc en installeer het bestand. Op mijn E51 komt dit dan onder menu -> installations -> main. Als je de vraag krijgt "Allow application LIRC Remote to use connectivity applications" dan kies je YES (duh).
Nu moet je mplayer nog vertellen dat het een LIRC-config moet gebruiken. Gelukkig zit bij de installatie van btlirc een voorbeeld-config die perfect is. Je hebt 'm maar te kopieren en je kan beginnen: cp /usr/share/doc/btlirc/dot_lircrc ~/.lircrc. LET OP: ALS JE VROEGER REEDS LIRC OPGEZET HEBT ZOALS IK VROEGER BESCHREVEN HEB, OF ALS JE REEDS LIRC GECONFIGUREERD HEBT MET EEN ANDERE REMOTE, DAN ZAL DIT DIE CONFIG OVERSCHRIJVEN!!!!!
That's it! Start een film (met mplayer natuurlijk want mplayer heerst), start de LIRC-applicatie op je GSM en geniet vanuit je luie zetel of bed van de afstandsbediening!
Wat je best kan doen om niet telkens alles in je GSM in te stellen is je HTPC/laptop authorized maken om bluetooth verbindingen te maken. Ga naar de bluetooth-settings in je GSM, kies het tabblad Paired devices en selecteer je HTPC/laptop. Kies options en selecteer vervolgens Set as authorized. Je kan nu trouwens terug je GSM 'hidden' zetten bij je bluetooth-settings. Niet iedereen moet weten dat je bluetooth hebt opstaan.
//Edit: je kan ook eenvoudigweg met je GSM pairen via bluetooth-applet in Gnome. Start bluetooth-applet, klik met je rechtermuisknop erop, kies Setup new device..., pair intussen op je GSM. Voer een code in op je GSM (bevoorbeeld 1337) en voer vervolgens dezelfde code in op je PC/laptop om te bevestigen dat jij het bent.
Je (HT)PC volledig besturen met je bluetooth GSM
Na mijn vorige post kreeg ik de vraag of een (HT)PC niet volledig beheerd kon worden vanaf je GSM. Natuurlijk kan dat! Installeer bluetooth-lib2. Dit zit standaard niet in de Ubuntu repositories (zucht). Met wat Googlewerk kom je er wel. Vervolgens download je dit bestand.
Nu doe je sudo dpkg -i /pad/naar/amora-server_1.1-1_i386.deb . Om de de service te starten type je amorad. Op je PC is alles al gebeurd. Om niet telkens de service manueel te moeten starten kun je dit in je gnome-sessions-properties automatisch laten opstarten.
Op je gsm moet je weer wat installeren. Dit werkt enkel op een Symbian S60 v2/3. Ik neem aan dat je Python nog niet geinstalleerd hebt op je GSM? Download dit bestand. Stuur het via bluetooth door naar je GSM en installeer het. Als je nu in je GSM naar de map installations gaat zie je dat Python en Amora erbij gekomen zijn. Start Amora, kies Options, Search Devices en selecteer je (HT)PC. Amora zal zelf ontdekken dat het port 16 hiervoor gebruikt. Klik op OK om te bevestigen en selecteer nog "now!" om te beginnen. Amora is zo lief om even te laten zien wat de toetsen zijn. Ik vond dat dit opvallend vlot werkte, beter dan verwacht! Je hebt zelfs de mogelijkheid een screenshot te maken op je GSM.
Nederlandse SSA-subs default bij .MKV-films afspelen
Bij een divx/xvid is het vrij simpel, als het bijhorende .srt-bestand op de extensie na, dezelfde naam heeft als de .avi, dan zal MythTV's interne player mooi de subtitles afspelen. Bij .mkv-bestanden is dit helaas niet het geval. In deze paragraaf leg ik je uit hoe je MythtV instelt mplayer te gebruiken met de juiste Nederlandse SSA-subs bij een .mkv-film.
Eerst wat uitleg: Zoals je weet hoort bij een xvid een .srt bestand voor ondertiteling. Heel eenvoudig en MythTV's interne videoplayer begrijpt dit ook. Bij een .mkv is het anders. Daar heb je SSA-subtitles. SSA staat voor SubStation Alpha, het is een meer geavanceerde manier om subs te bewaren dan srt: meerdere talen, de positie van de subs, fontstyle en fontsize enz. De matroska-contrainer laat softsubbing toe, dit is het plaatsen van de subtitle-informatie naast de video-informatie. In praktijk kun je dus een .mkv downloaden waarin toch ondertiteling zit in verschillende talen. Er zijn maar twee video-players die standaard overweg kunnen met SSA-subtitles en dat zijn VLC Media Player en natuurlijk ook mplayer.
Van zichzelf speelt MythTV met zijn interne player mkv-bestanden af. Dit gaat zoals het hoort maar SSA-ondersteuning zit er helaas (nog?) niet in. Ik wou The.Bourne.Ultimatum.2007.1080p.HDDVD.DTS.x264-CtrlHD.mkv zien toen ik in de bijhorende .nfo las dat er ook Nederlandse ondertiteling in zat. Standaard MythTV speelt de film zoals het hoort maar met Engelse ondertiteling. Ga naar Utilities/Setup -> Setup -> Media Settings -> Video Settings -> Filetypes -> Scroll door het lijstje tot je MKV ziet staan. Vink "use default player" uit en type bij command: mplayer -slang dut %s . Waarom nu -slang dut ? Let op onderstaande output:
htpc@HTPC:/var/lib/mythtv/videos/data2/hdtv_x264/The.Bourne.Ultimatum.2007.1080p.HDDVD.DTS.x264.READ.NFO-CtrlHD$ mplayer -identify The.Bourne.Ultimatum.2007.1080p.HDDVD.DTS.x264-CtrlHD.mkv
MPlayer 2:1.0~rc1-0ubuntu13 (C) 2000-2006 MPlayer Team
CPU: AMD Athlon(tm) X2 Dual Core Processor BE-2350 (Family: 15, Model: 107, Stepping: 1)
CPUflags: MMX: 1 MMX2: 1 3DNow: 1 3DNow2: 1 SSE: 1 SSE2: 1
Compiled with runtime CPU detection.
Can't open joystick device /dev/input/js0: No such file or directory
Can't init input joystick
Playing The.Bourne.Ultimatum.2007.1080p.HDDVD.DTS.x264-CtrlHD.mkv.
Cache fill: 0.00% (0 bytes)
ID_VIDEO_ID=0
[mkv] Track ID 1: video (V_MPEG4/ISO/AVC), -vid 0
ID_AUDIO_ID=0
ID_AID_0_LANG=eng
[mkv] Track ID 2: audio (A_DTS), -aid 0, -alang eng
ID_SUBTITLE_ID=0
ID_SID_0_NAME=SDH
ID_SID_0_LANG=eng
[mkv] Track ID 3: subtitles (S_TEXT/SSA) "SDH", -sid 0, -slang eng
ID_SUBTITLE_ID=1
ID_SID_1_LANG=eng
[mkv] Track ID 4: subtitles (S_TEXT/SSA), -sid 1, -slang eng
ID_SUBTITLE_ID=2
ID_SID_2_LANG=dan
[mkv] Track ID 5: subtitles (S_TEXT/SSA), -sid 2, -slang dan
ID_SUBTITLE_ID=3
ID_SID_3_LANG=dut
[mkv] Track ID 6: subtitles (S_TEXT/SSA), -sid 3, -slang dut
Belangrijk zijn hier de laatste negen regels: je ziet daarop duidelijk de verschillende talen die in de SSA-subs opgenomen zitten. Door .mkv's af te spelen met het commando mplayer -slang dut %s zal MythTV elke .mkv afspelen met mplayer en indien beschikbaar, de Nederlandse ondertiteling afspelen. Indien er geen SSA-subs zijn of er geen Nederlandse ondertiteling aanwezig is in de SSA-subs dan zal mplayer gewoon de film afspelen.
Je kan met mplayer ook gewoon door op 'j' te drukken switchen tussen de verschillende subtitles, maar dan nog zul je MythTV eerst moeten instellen om mplayer te gebruiken ipv de interne player. Ik heb ervoor gekozen om het automatisch te doen, anders moet ik telkens naar mijn keyboard grijpen en dat gaat in tegen mijn algemeen tam zijn principe. Nog een optie is om als commando op te geven: mplayer -sid 3 %s . Maar dan ga je er vanuit dat de sid (Subtitle ID) van de Nederlandstalige subs altijd 3 is, en dat is zeker niet zo, terwijl 'dut' wel altijd de afkorting is van Dutch.
mplayer multi-threaded gemaakt
Ik weet niet of het jullie al opgevallen is maar de mplayer die default bij Ubuntu (Mythbuntu) komt heeft maar support voor een singlecore CPU. Tof, welkom terug in 1995! Waarom investeren in een dual- of misschien zelfs quadcore CPU om dan maar met 1 core 1080p .mkv's te zien? In deze paragraaf leg ik uit hoe je mplayer multi-threaded maakt.
We zouden ook CoreAVC kunnen kopen, en hoewel het eigenlijk een stukje software is dat de 15$ (of crack, bepaal zelf maar) waard is, kan het ook gratis. CoreAVC is (onder Windows althans) de snelste manier om H.264 zonder al te veel moeite af te spelen. CoreAVC bestaat ook voor Linux, wat ook betalend is trouwens. Daarna zou je de source van mplayer moeten patchen om CoreAVC te gebruiken. Maar het kan gratis: ffmpeg!
Je weten dat mplayer onderliggend ffmpeg gebruikt. Het is ffmpeg die o.a. libavcodec bevat waardoor jouw mplayer beeld en geluid geeft. Helaas hebben ze bij Ubuntu besloten voor u dat support voor meer dan 1 core niet nodig is. Gelukkig kun je er zelf wat aan doen. In feite moet je ffmpeg recompilen voor multithreaded cpu's, en dan mplayer patchen om die ffmpeg te gebruiken ipv de default singlecore ffmpeg.
Om te beginnen moet je zorgen dat je de juiste tools hebt om te kunnen compileren (jup, je leest het goed, niet installeren maar compileren). sudo apt-get install build-essential levert je alle nodige apps.
Verder heb je ook nog git nodig: sudo apt-get install git-core. Even een opmerking, ik moest minstens git 1.6.2.1-1 installeren. (http://ftp.nl.debian.org/debian/pool/main/g/git-core/git-core_1.6.2.1-1_amd64.deb)
Nu is het tijd voor het echte werk. Ik raad je aan dit te doen in een nieuw aangemaakte dir: alles kan in 1 lang commando: sudo git clone git://repo.or.cz/mplayer && cd mplayer && sudo git checkout origin/mt && sudo git submodule init && sudo git submodule update && ./configure --enable-lirc --enable-lircc --enable-xv --enable-x11 && sudo make && sudo make install . Eerst wordt de laatste nieuwe versie van mplayer (en dus ook mencoder en ffmpeg) gedownload via git, vervolgens gecompileerd met lirc-support (duh!) en tot slot geinstalleerd. Dit hele proces duurde op mijn AMD X2 BE-2350 incl het downloaden ca. 20min.
Nu moeten we MythTV nog aanleren hoe het ermee moet omgaan: Ga naar Utilities/Setup -> Setup -> Media Settings -> Video Settings -> Filetypes -> Scroll door het lijstje tot je MKV ziet staan. Vink "use default player" uit en type bij command: mplayer -lavdopts threads=2 -slang dut %s . Het is de threads=2 die zorgt voor het gebruik van beide cores. Als je een quadcore hebt zet je daar natuurlijk 4. Voor een of ander belachelijke reden mag je geen getal typen in het command-lijntje. Een eenvoudig trukje is dat eerst te typen in een teksteditor of in je console, te selecteren en vervolgens met SHIFT+INSERT te plakken in je mythfrontend.
Mocht er om welke reden dan ook iets fout gelopen zijn: je kan altijd de pas gecompileerde mplayer verwijderen door make uninstall te typen. In principe kun je zelf gewoon mplayer vanuit de Ubuntu repositories opnieuw installeren en het zal alles overschrijven: sudo apt-get install mplayer. Je LIRC enz blijft werken dan.
DONE! Als je nu een 1080p .mkv opstart en je typt htop (je gebruikt toch htop ipv top?) dan zie je dat mplayer het cpu-werk nu mooi verdeelt over de beschikbare cores! Ipv 1 core die aan >90% zat heb ik nu twee cores in gebruik die rond de 50-60% schommelen bij 1080p.
//Edit van 26/04/2009: Je kan ook nog X11 support in je mplayer bouwen: mocht bovenstaande info niet werken, probeer dit eens. X11 support verlaagt uw CPUcylces ook drastisch en dus minder warmte en koeling nodig wat leidt tot een stiller systeem. Installeer eerst volgende packages: sudo apt-get install libx11-dev x11proto-xext-dev x11proto-video-dev libvx-dev . Daarna pas je manueel de make-file aan onder CFLAGS, OPTFLAGS en FFMPEG_OFLAGS zodat het volgende er komt te staan: "-Wundef -Wdisabled-optimization -Wno-pointer-sign -std=gnu99" . Editeer het bestand ffmpeg/libavcodec/nellymoserenc.c en plaats #define INFINITY (1.0/0.0) in de defines. Vervolgens compileer je mplayer verder zoals hierboven geschreven staat. Het resultaat is een mplayer die beide cores gebruikt en x11 ondersteuning heeft. Nu nog in MythTV de wijziging bekend maken: ga naar Utilities/Setup -> Setup -> Media Settings -> Video Settings -> Filetypes -> Scroll door het lijstje tot je MKV ziet. Edit het commando en maak ervan: mplayer -lavdopts threads=2 -vo x11 -slang dut %s . Ik doe dit enkel voor MKV omdat ik geen 1080p .WMV's (kots kots) heb en het bij een gewone xvid weinig meerwaarde biedt. Een welgemeende dank u wel aan Spawn voor deze info!
Upgrade NIET naar Mythbuntu 9.04
Vorige week heb ik geprobeerd te upgraden naar Mythbuntu 9.04. Hoewel de upgrade op zich vlekkeloos verliep en alles nog steeds stabiel draaide (ja ook met Nvidia-drivers .180, Jeroen), werkte het mc2xml script voor de TV-gids niet meer. Voor zij die MythTV enkel gebruiken om films af te spelen kan ik de upgrade aanraden, voor anderen: nog ff wachten. Ik had Mythbuntu 9.04 RC gedownload voor amd64 en dan de 2 amd64bit-specifieke packages geinstalleerd zoals vermeld op de mc2xml-webpage. Toch bleef ik volgende foutmelding krijgen:
htpc@HTPC:~/Desktop$ ./mc2xml -c BE -g 2460
Loading ..... : mc2xml (c) (2009-04-20)
Reminder .... : Unauthorized redistribution prohibited.
Reminder .... : If this software is useful, please donate!
Error ....... : TCP 124362R 124356H
Als iemand weet hoe ik dit fixen kan, graag een seintje. Mijn emailadres staat bij About Me. Voorlopig zit ik terug op 8.10, ik had die 9.04 geinstalleerd op een vrije partitie van 10GB die ik voor noodsituaties gehouden had.
About /me
top
A/S/L: 26, m, Kasterlee
Werk als system engineer bij KBC vooral met mainframe en RACF (mainframe security)
Likes: auto's (oldtimers), open source software (Mijn top 5:
MythTV, mplayer, XBMC, vim en amaroK), Gentoo, Quake, films met een deftig
verhaal, series (Top Gear, Prison Break, 24, How I met your mother en The Big Bang theory), straight edge levensstijl, wandelen, ...
Dislikes: openbaar vervoer, Micro$oft software, President Bush, alles in de haatlijst
Email:
: remove all underscores!
Luistert nu naar: VNV_Nation-Of_Faith_Power_And_Glory-2009-FWYH
Heeft en wilt geen Facebook/Netlog/[insert social networkingsite here]. STOP MET DIE INVITES TE STUREN!