PowerPoint

advertisement
Boston Linux Users Group
Building a PVR Using Linux and MythTV
May 19, 2004
Jeffrey Perry
jeffperry_2003@yahoo.com
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

Add tuners to machines and share
 Multiple


tuners
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/tikipage.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
 Still
may be the better bet for stability right now.
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 yetsome workarounds exist which MAY cure it)
DVD Writer (optional)
 Used

to install Linux, archive shows
Big Hard Drive
 approx
 better
1G/30 mins @ 480x480 MPEG2
compression possible with lower res or
tweaking
Hardware: Device Drivers for TV
Card &Video

TV Card
 Hauppauge


ivtv version 0.1.10pre2 or newer stable version
PVR350 only - Patches to X windows (framebuffer
coexistance with ivtv framebuffer interaction)
 Other


WinTV PVR250/350
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
 Apt-get
has most of the rest of what you need
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
 XFS
(my choice, simple default for now)
(some report better perfomance)
 Generally
good idea to increase inode size (default is
4k, 64 meg would be better)
Installation Overview
1. Install Redhat
2.Install device driver for tuner (PVR2/350 reqs
extract windows driver from cdrom)
3.create mythtv user
4.Install atrpms-kickstart
5.Get latest updates (Apt-get update)
6.Get mythtvsuite and dependencies (apt-get
mythtv-suite) - 54 packages in all - not perfect
7.Mythtvsetup
Installation Overview (Cont.)
1.Mythfilldatabase
2.Start mythbackend
3.Start mythfrontend, visit setup section and config
4.Configure each module - (see docs at mythtv.org)
5. (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)
Demonstration MythTV

MyhtvSetup

News

Mythfilldatabase

Weather

MythFrontend Setup

Web

TV

Images

Video

Games (not setup)

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

- MythWeather (simple, easy to use, does it's job well :)
 A few
 Zip

for recorded state non obvious
small bugs
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=1522
19&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
slideshow.sourceforge.net/
http://dvd-
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/
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.cf
m
Linux video studio - GUI for editing
http://packages.debian.org/stable/graphics/linuxvideostudio
Download