350 likes | 451 Views
Building a PVR Using Linux and MythTV May 19, 2004 Jeffrey Perry jeffperry_2003@yahoo.com. Boston Linux Users Group. Building a Linux PVR w/ MythTV . Introduction Planning Installation Demo Conclusions. What is a PVR?. PVR = Personal Video Recorder
E N D
Building a PVR Using Linux and MythTV May 19, 2004 Jeffrey Perry jeffperry_2003@yahoo.com Boston Linux Users Group
Building a Linux PVR w/ MythTV • Introduction • Planning • Installation • Demo • Conclusions
What is a PVR? PVR = Personal Video Recorder A video recorder which records to the hard disk instead of a tape Definition varies but most include: • Electronic Program guide, pause/ff/rw live and recorded shows • Other possible features ... remote viewing, web scheduling, music etc.
Motivation • TiVo is cool, wouldn't you like one too? • How much does it really cost? • Ok, I want to burn DVDs too. How much now? • Interesting project • Practical - no VCR or DVD player already
Commercial PVRs • TiVo • ReplayTV • Others....
TiVo: How much does it cost? • 40 Hours - $149 * • 80 Hours - $249 * • 140 Hours - $349 * *= PLUS program listing service fee of $ 12.95/month or $299 lifetime PLUS $99 for Home Media Option
TiVo: Home Media Option • Web scheduling • Digital photos • Digital music • Multi-room viewing
ReplayTV How Much does it cost? • 40 Hours - $150* • 80 Hours - $300* • 160 Hours - $450* • 320 Hours - $800* *=PLUS program listing service fee of $ 12.95/month or $299 lifetime
Cost of DVD Recorders Q: How much to buy a consumer device which can record TV shows to DVD? A: Consumer DVD recorders range in price from $200- $500 Consider: PC DVD Writers Sony 4x for $118( Jan 2004, rebate) Sony 8x for $160 (now @ compusa.com)
Enter MythTV: Features • Record TV shows, scheduled, instant record • Free Program guide - via Zapdata.com, others • Pause/Fastforward/Rewind Live TV, recordings • Store & play music, DVD videos • Watch & record at same time • Check weather, news, and browse web • Play and burn DVDs • Skip commercials – auto detect and flag • Play SNES & other video games (Xmame)
MythTVArchitecuture Strengths • Distributed modular design • Frontend - the UI you interact with • Backend - Tracks schedule, records, streams playback • Highly Scalable • Multiple tuners • Add tuners to machines and share • Multiple back ends • A single master backend coordinates the rest • Open Source
Hardware: TV Tuner Tradeoffs • Hardware MPEG chip • Faster encode/decode without load on PC • Result: Can use slower CPU • Tuner only • Requires card support video4linux driver (or bttv driver) • Requires high speed CPU for encode/decode • See: PVR Hardware Guide http://pvrhw.goldfish.org/tiki-page.php?pageName=install_guides
Hardware: Hauppauge Tuner Cards • WinTV PVR250 (~$100) • Hardware Encode • WinTV PVR350 ($200) • Hardware Encode • Hardware Decode • Radio Tuner • Comes with an IR remote
Hardware: Display Options • WinTV PVR350 has TV Out • Linux ivtv driver needed • Still under development • Still a bit unstable with occaisional hangs • Video card w/ TV Out support • This may be the better bet for stability right now. • Still need a tuner card (either simple or w/MPEG encode/decode in hardware)
Hardware: Motherboard, DVD, Hard Drive • Beware of cheap VIA chipset motherboards. MythTV problems await! (Don't panic yet- some workarounds exist which MAY cure it) • DVD Writer (optional) • Used to install Linux, archive shows • Big Hard Drive • approx 1G/30 mins @ 480x480 MPEG2 • better compression possible with lower res or tweaking
Hardware: Device Drivers for TV Card &Video • TV Card • Hauppauge WinTV PVR250/350 • ivtv version 0.1.10pre2 or newer stable version • PVR350 only - Patches to X windows (framebuffer coexistance with ivtv framebuffer interaction) • Other tuners • Video4Linux kernel module • Video card w/ TV Out • X windows driver for your card
Hardware: Remote Controls Remote control functionality: LIRC package • Supports IR and RF remotes including home made receivers
My Hardware Setup • Case: AMS gBox P4 Blue CF-968L ($230, sale) • CPU: 1.7Ghz celeron ($65) • Motherbrd: Socket478B Chyang Fun CFI-S968L • 256 meg RAM ($65) • Hauppauge WinTV PVR350 ($200) • Sony DVD +-RW writer 4X ($118,rebate) • Seagate 200 Gig (about 100 hours) HD ($100,rebate) • TOTAL Cost: $778
Installation: Choosing a Linux Distribution • Suse 8.1 too many additions & probs reported • KnoppMyth R4 is not the easy way out • Choose tried and true Redhat 9.0 • ATRPMs has most of the rest of what you need • Apt-get for rpm is your friend • Still some kernel packages issues, requires forced loading of some rpms. Getting better. • Use Jarrod's guide - updated now for Fedora http://wilsonet.com/mythtv
Installation: Choosing a Filesystem • File system choice • Ext3 (my choice, simple default for now) • XFS (some report better perfomance) • Generally good idea to increase inode size (default is 4k, 64 meg would be better)
Installation Overview • Install Redhat • Install device driver for tuner (PVR2/350 reqs extract windows driver from cdrom) • create mythtv user • Install atrpms-kickstart • Get latest updates (Apt-get update) • Get mythtvsuite and dependencies (apt-get mythtv-suite) - 54 packages in all - not perfect • Mythtvsetup
Installation Overview (Cont.) • Mythfilldatabase • Start mythbackend • Start mythfrontend, visit setup section and config • Configure each module - (see docs at mythtv.org) • (some modules )Additional tweaks outside GUI (example: Installing a new Video for MythVideo)
Installation tweaks • Turn off automount of Cds (mythmusic ripper) • Turn off esd or artsd • Remove ~mythtv/.kde/Autostart/Autorun.desktop • Chkconfig autofs off, apmd off, httpd on (mythweb) • Ln -s /dev/scd0 /dev/dvd (MythDVD) • Edit channels (~mythtv/<sourcename>/.xmltv & tweaks to associated DB tables) • Turn on DMA on HD (hdparm -d 1 /dev/hda)
News Weather Web Images Games (not setup) Demonstration MythTV • MyhtvSetup • Mythfilldatabase • MythFrontend Setup • TV • Video • DVD • Music
Conclusions: MythTv Rough spots • PVR250/350 record to MPEG2 directly so Commercial cutting must be done manually. Still not perfect. A/V sync is a challenge for MPEG2 w/o having to rencode whole file (takes hours) • Integration is not as seamless as it may seem (ex: Remote control of MythVideo requires edits to your lirc config file) [mplayer] • Installing videos not ripped from DVD is done outside the GUI by copying, then back to GUI to "scan" for new files
MythTV Rough Spots (Cont.) • Mythfrontend UI • Selecting exit, then yes does not shutdown the machine • Icons for recorded state non obvious • - MythWeather (simple, easy to use, does it's job well :-) • A few small bugs • Zip code feature is not obvious. • MythTV - generally non existent end-user documentation.
Conclusion: MythTv Strengths • Recording scheduling flexibility & prioritization • Playback features including FF, Pause, Rewind • More features than TiVo • Excellent modules: MythTv, MythMusic, MythDVD, MythWeather and MythNews • Flexible distributed architecture • Clever design makes apps appear mostly seamless (xml config files control app integration & gui themes)
Conclusion & Recommendations Building a reasonably priced full-featured Tivo alternative with more features including DVD writing is possible - the result is very usable and enjoyable but will take some effort • Recommendations • TV Out: Buy a video card with TV output • Tuner: PVR 250/350 • Redhat 9.0 / Fedora & Jarrod's walkthrough • DVD Writer, Hard Drive (BIG)
Resources - Start Here • MythTV http://www.mythtv.org • IVTV (Hauppauge PVR250/350 Driver) http://ivtv.sourceforge.net • PVR Hardware Guide http://pvrhw.goldfish.org/tiki-pvrhwdb.php • Jarrods Redhat 9.0 and Fedora Install Guide http://www.wilsonet.com/mythtv
Resources - MythTV • Myth TV Main site (download, docs, etc) http://mythtv.org • MythTV Mailing list archives (links to lists at bottom) http://mythtv.org/modules.php?name=MythInfo • MythTV forums http://www.gossamer-threads.com/lists/mythtv/ • Windows front-end for MythTV http://winmyth.sourceforge.net/ • Jarrod's MythTV install walkthrough for Fedora, other info http://www.wilsonet.com/mythtv/
Resources - LIRC & IVTV • LIRC Remote control http://www.lirc.org • Ivy Wiki (ivtv community) http://ivtv.writeme.ch • IVTV Sourceforge page http://ivtv.sourceforge.net/ • IVTV Development list archives http://www.poptix.net/ivtv/
Resources - PVR Hardware • PVR Hardware News http://pvrhw.goldfish.org/tiki-view_articles.php • PVR Hardware Guide http://pvrhw.goldfish.org/tiki-pvrhwdb.php • PVR Hardware Install guides for MythTV, others http://pvrhw.goldfish.org/tikipage.php?pageName=install_guides
Resources - Edit/cut commercials • Avidemux http://fixounet.free.fr/avidemux/ • Note on running dvdauthor w/ avidemux http://www.dealdatabase.com/forum/showpost.php?p=152219&postcount=9 • Gopchop http://sourceforge.net/projects/gopchop/ http://outflux.net/unix/software/GOPchop/ • Cinelerra Video Editor http://heroinewarrior.com/cinelerra.php3 • MythMkMovie (output not mpeg, requires transcoding) http://www.icelus.org/
Resources - DVD Burning • Dvd-rw-tools & growisofs http://fy.chalmers.se/~appro/linux/DVD+RW • DVD Author http://dvdauthor.sourceforge.net/ • GUI front-end for dvdauthor http://qdvdauthor.sourceforge.net/ • DVDStyler - GUI front-end for dvdauthor http://dvdstyler.sourceforge.net/ • DVD Slideshow http://dvd-slideshow.sourceforge.net/ • Linux Journal artile on DVD authoring http://www.linuxjournal.com/article.php?sid=6953 • Linux Gazette DVD burning howto http://www.linuxgazette.com/issue83/stoddard.html • Cdrecord (limitation on burn size w/o agreeing to license and getting free key)http://www.fokus.gmd.de/research/cc/glone/employees/joerg.schilling/private/cdrecord.html • Computer burned DVDs - info on compatibility w/ consumer DVD players http://www.videohelp.com/
Resources - Misc. • Libmpeg http://libmpeg2.sourceforge.net/downloads.html • Transcode http://www.theorie.physik.unigoettingen.de/~ostreich/transcode/ • Commercial DVD burning package - GearPro for Linux http://www.gearsoftware.com/products/ProLinux/index.cfm • Linux video studio - GUI for editing http://packages.debian.org/stable/graphics/linuxvideostudio