MythTV PVR
I have been using Mythtv since 2005, and it's very neat.
This doc is only partial and from memory since i write it after installing.
What it does for me
I use it to record TV, and watch/pause live TV.
I can also use it to burn a movie to a DVD, and rip a DVD to the hard drive.
I also use it to store some of my music (rip my CD's) and play it back, as well as play online streams using mythstream.
My Hardware
I use an older Emachine (1.8Ghz).
It has a 40GB HD for the O/S and for the live TV cache, plus an external 200GB firewire hardrive for media storage (=~100h of video.)
I use an
hauppauge PVR150 card as the tuner, the video card is some generic S3 card.
I also have an universal remote from fry's, because i lost the PVR150 remote, and it wasn't very good anyhow (back then).
The Software
I use
MythTV for the software, in my opinion this is the best setup available (full feature, stable and free).
At first i used mythtv on gentoo, but it is a MAJOR pain to install and configure.
I now use
Knoppmyth, which is a distro made for one and only one goal: run mythtv.
On top of that it provides a lot of extra features, and comes with all the needed drivers.
So if you configure installing a media center using mythtv, the way to go is knoppmyth (unless you are sadistic).
Setup
Well nothing to special here, just download and burn the Knopmyth CD and boot of it to install it.
Juts follow the guides here:
http://www.mysettopbox.tv/pamphlet.html
http://www.mythtv.org/wiki/index.php/User_Manual:Index
Partitions
I changed my parttions from the default, because i use an external (firewire) HD for the video storage.
So i have my partitons as follow
- Disk1 (IDE 40GB internal)
hda1: / 3GB, system partiton
hda2: swap 600MB
hda3: /cache 4GB, live TV cache (about 100mn of paused TV)
hda4: /tmp 30GB: temporary files, i use that for example for encoding DVD's.
- Disk2 (Firewire 200GB external)
sda1: /myth 200GB this is the storage for all the media files (videos, recording, music etc ...)
Here is my /etc/fstab
# /etc/fstab: filesystem table.
#
# filesystem mountpoint type options dump pass
/dev/hda1 / auto defaults,errors=remount-ro 0 1
/dev/hda2 none swap defaults 0 0
/dev/hda3 /cache auto defaults,auto 0 0
/dev/hda4 /tmp auto defaults,auto 0 0
/dev/sda1 /myth auto defaults,auto 0 2
proc /proc proc defaults 0 0
sysfs /sys sysfs defaults 0 0
/dev/fd0 /floppy vfat defaults,user,noauto,showexec,umask=022 0 0
Upgrading to myth 0.20
I use Knoppmyth R5D1, it uses mythtv 0.19
Mythtv 0.20 provides some great new tools, motable mytharchive which allows to burn dvd's of videos and recordings.
Here is how to upgrade to myth 0.20 and install mytharchive dependencies
To get a shell press CTRL+ALT+F1, to go back to myth press CTRL+F7
echo "deb ftp://knoppmyth.net/R5 ./" >> /etc/apt/sources.list
apt-get update
dpkg -r libmyth-0.19 libmyth-0.19-dev mythtv mythtv-backend mythtv-common mythtv-database mythtv-debug mythtv-doc mythtv-frontend mythplugins mythburn-ui
rm -fr /usr/share/mythtv/mythweb
apt-get install mythtv mythplugins myththemes mythstream mythstreamtv
rm -fr /var/www/mythweb
ln -sf /usr/share/mythtv/mythweb /var/www
apt-get install python-mysqldb python-imaging mjpegtools ffmpeg
WARNING You have to go to the "archive" in the setup, to define the mytharchive temporary directory, you should create a new directory (owned by mythtv).
# note: in my setup /tmp is 30GB +, in default knoppmyth instalation /myth is probably a better choice (larger partition).
mkir /tmp/mytharchive
chown mythtv:mythtv /tmp/mytharchive
Wherever you put that directory, there should be a lot of free space preferably 10GB+, otherwise you will get all kind of errors when the disk gets full
NOTE Using mytharchive is kinda confusing, you have to go to optical drives-> myth archive -> select files, and pick the files you will want to burn. THEN back out and go tu "Burn DVD" ...
Issues and resolutions
Ripping DVD's
If you want to copy(rip) your own DVD's to the computer, you will need the decryption library.
It is my belief i should be able to copy/backup my own DVD (that i have paid for) as i wish, unfortunately, the greedy monopolistic media companies in the US, had the greedy corporate run US government pass a law that makes this illegal. (well in any case it's illegal to decrypt a DVD, and without decrypting it you can't do much, like say convert it to mp4).
In any case to rip an encrypted DVD you will need the CSS library, which basically is used to crack the encryption, and thus is in theory illegal in the US.
Because of that, it does not come pre-install with knoppmyth, however there is a script you can run to install it.
If you don't DVD ripping will fail.
Here is how to install it:
# first you need to access a shell
# if you are in the mythtv frontend, you can press "CTRL-ALT-F1" to get to a shell
# log as root (or mythtv and then su as root), and run:
/usr/share/doc/libdvdread3/examples/install-css.sh
After that, you should be able to rip DVD's.
when ripping the DVD, you need to press "0" (ZERO) to start the rip, this confused me at first.
Playing back DVD's and other videos
First after adding new videos, you need to go to setup->video library , this will refresh the list fo videos.
Second problem was that on my install (knoppmyth), i t would fail to play the videos.
The reason why, was that the path to mplayer was set improperly.
I found that mplayer was installed in /usr/bin (by running 'which mplayer' on a shell)
So i had to go to:
setup->media settings->video settings->playback
and change /usr/local/bin/mplayer...... into /usr/bin/mplayer......
Remote control
As i said i lost my Hauppauge remote and was not any good in the first place.
So i bought
this cheap universal remote (URC-6131) at Fry's and use it with the PVR150 I/R receiver instead.
There is a good doc on using/setting this up here:
http://www.vulturesnest.net/mythtvremote.html
However, i found the keys mapping to not be quite the way i wanted, so i modified them.
It is not all perfect, but it does all the most useful things like play, pause, change channel, sound, FF,RW, guide and things like that.
Here are my LIRC config files:
i have ran this command, so that i only have one lirc file (there seem to be two by default and it's confusing and seem not to work right)
cd /home/mythtv
rm .lircrc
ln -s .mythtv/lircrc .lircrc
File: /home/mythtv/.mythtv/lircrc
#Thibaut Colar ... Hauppauge receiver with URC-6131 remote
# Channel Up
begin
prog = mythtv
button = CH+
repeat = 3
config = Up
end
# Channel Down
begin
prog = mythtv
button = CH-
repeat = 3
config = Down
end
# OK/Select
begin
prog = mythtv
button = SELECT
config = Return
end
# Play
begin
prog = mythtv
button = PLAY
config = Return
end
# Stop
begin
prog = mythtv
button = STOP
config = Esc
end
# Escape/Exit/Back
begin
prog = mythtv
button = EXIT
config = Esc
end
# Power Off/Exit
begin
prog = mythtv
button = OFF
config = Esc
end
# Pause
begin
prog = mythtv
button = PAUSE
repeat = 3
config = P
end
# Mute
begin
prog = mythtv
button = Mute
repeat = 3
config = F9
end
# Fast forward (30 sec default)
begin
prog = mythtv
button = REW
repeat = 3
config = Left
end
# Rewind (10 sec default)
begin
prog = mythtv
button = FFW
repeat = 3
config = Right
end
# Skip forward (10 min default)
begin
prog = mythtv
button = SKIP
repeat = 3
config = PgDown
end
# Skip backward (10 min default)
begin
prog = mythtv
button = REPLAY
repeat = 3
config = PgUp
end
# Record
begin
prog = mythtv
button = REC
repeat = 3
config = R
end
# Delete N/A
begin
prog = mythtv
button = BLANK
repeat = 3
config = D
end
# OSD browse
begin
prog = mythtv
button = GUIDE
repeat = 3
config = O
end
# Display EPG while in live TV,
# View selected show while in EPG
begin
prog = mythtv
button = MENU
repeat = 3
config = M
end
# Scroll up
begin
prog = mythtv
button = RIGHT
repeat = 3
config = Right
end
# Scroll down
begin
prog = mythtv
button = LEFT
repeat = 3
config = Left
end
# vol +
begin
prog = mythtv
button = VOL+
repeat = 3
config = ]
end
# vol down
begin
prog = mythtv
button = VOL-
repeat = 3
config = [
end
# Bring up OSD info
begin
prog = mythtv
button = INFO
repeat = 3
config = I
end
# Change display aspect ratio
begin
prog = mythtv
button = PIP
repeat = 3
config = W
end
# Seek to previous commercial cut point
begin
prog = mythtv
button = YELLOW
repeat = 3
config = Q
end
# Seek to next commercial cut point
begin
prog = mythtv
button = BLUE
repeat = 3
config = Z
end
# Numbers 0-9
begin
prog = mythtv
button = 0
repeat = 3
config = 0
end
begin
prog = mythtv
button = 1
repeat = 3
config = 1
end
begin
prog = mythtv
button = 2
repeat = 3
config = 2
end
begin
prog = mythtv
button = 3
repeat = 3
config = 3
end
begin
prog = mythtv
button = 4
repeat = 3
config = 4
end
begin
prog = mythtv
button = 5
repeat = 3
config = 5
end
begin
prog = mythtv
button = 6
repeat = 3
config = 6
end
begin
prog = mythtv
button = 7
repeat = 3
config = 7
end
begin
prog = mythtv
button = 8
repeat = 3
config = 8
end
begin
prog = mythtv
button = 9
repeat = 3
config = 9
end
### MPlayer lirc setup
# Show OSD
begin
prog = mplayer
button = MENU
repeat = 3
config = osd
end
# Pause playback
begin
prog = mplayer
button = PAUSE
repeat = 3
config = pause
end
# Skip ahead a minute if playing
# If paused, resume playing
begin
prog = mplayer
button = PLAY
repeat = 3
config = seek +1
end
# Stop playback and exit
begin
prog = mplayer
button = STOP
repeat = 3
config = quit
end
# Mute
begin
prog = mplayer
button = Mute
repeat = 3
config = mute
end
# Seek back 10 seconds
begin
prog = mplayer
button = REW
repeat = 3
config = seek -10
end
# Seek forward 30 seconds
begin
prog = mplayer
button = FFW
repeat = 3
config = seek +30
end
# Quit
begin
prog = mplayer
button = EXIT
repeat = 3
config = quit
end
# Seek forward 10 minutes
begin
prog = mplayer
button = SKIP
repeat = 3
config = seek +600
end
# Seek backward 10 minutes
begin
prog = mplayer
button = REPLAY
repeat = 3
config = seek -600
end
# Toggle full-screen
begin
prog = mplayer
button = FULL
repeat = 3
config = vo_fullscreen
end
### Xine lirc setup
begin
prog = xine
button = PLAY
repeat = 3
config = Play
end
begin
prog = xine
button = STOP
repeat = 3
config = Stop
end
begin
prog = xine
button = OFF
repeat = 3
config = Quit
end
begin
prog = xine
button = PAUSE
repeat = 3
config = Pause
end
begin
prog = xine
button = CH+
repeat = 3
config = EventUp
end
begin
prog = xine
button = CH-
repeat = 3
config = EventDown
end
begin
prog = xine
button = VOL-
repeat = 3
config = [
end
begin
prog = xine
button = VOL+
repeat = 3
config = ]
end
begin
prog = xine
button = SELECT
repeat = 3
config = EventSelect
end
begin
prog = xine
button = EXIT
repeat = 3
config = Menu
end
begin
prog = xine
button = FFW
repeat = 3
#config = SpeedFaster
config = SeekRelative+60
end
begin
prog = xine
button = REW
repeat = 3
#config = SpeedSlower
config = SeekRelative-60
end
begin
prog = xine
button = FULL
repeat = 3
config = Volume+
end
begin
prog = xine
button = BLANK
repeat = 3
config = Volume-
end
begin
prog = xine
button = Mute
repeat = 3
config = Mute
end
begin
prog = xine
button = MENU
repeat = 3
config = RootMenu
end
begin
prog = xine
button = SKIP
repeat = 3
config = EventNext
end
begin
prog = xine
button = REPLAY
repeat = 3
config = EventPrior
end
begin
prog = xine
button = INFO
repeat = 3
config = OSDStreamInfos
end
begin
prog = xine
button = RED
repeat = 3
config = Quit
end
begin
prog = xine
button = RED
repeat = 3
config = Quit
end
File: /etc/lirc/licrd.conf
#Thibaut Colar ... Hauppauge receiver with URC-6131 remote
#
# filename: RC-5
# encoding: shift encoded, RC-5
# brand: Philips (and others)
# model: all
# supported devices: all
#
#------------------------------------------------------------------------------
begin remote
name PHILIPS_RC-5
bits 11
flags RC5|CONST_LENGTH
eps 20
aeps 0
header 0 0
one 889 889
zero 889 889
plead 889
ptrail 0
foot 0 0
repeat 0 0
pre_data_bits 2
pre_data 0x02
post_data_bits 0
post_data 0x0
pre 0 0
post 0 0
gap 113792
toggle_bit 2
frequency 36000
duty_cycle 50
begin codes
0 0x0000000000000140
1 0x0000000000000141
2 0x0000000000000142
3 0x0000000000000143
4 0x0000000000000144
5 0x0000000000000145
6 0x0000000000000146
7 0x0000000000000147
8 0x0000000000000148
9 0x0000000000000149
GUIDE 0x000000000000014a
SELECT 0x000000000000014b
POWER 0x000000000000014c
Mute 0x000000000000014d
Move 0x000000000000014e
VOL+ 0x0000000000000150
VOL- 0x0000000000000151
PREVCH 0x0000000000000152
NEXTCH 0x0000000000000153
SLOMO 0x0000000000000154
ANGLE 0x0000000000000155
MENU 0x000000000000015d
SUBT 0x000000000000015e
CH+ 0x0000000000000160
CH- 0x0000000000000161
PIP 0x0000000000000162
Swap 0x0000000000000163
PAUSE 0x0000000000000169
PVRMENU 0x000000000000016e
EXIT 0x0000000000000171
REW 0x0000000000000172
REPLAY 0x0000000000000173
FFW 0x0000000000000174
PLAY 0x0000000000000175
STOP 0x0000000000000176
REC 0x0000000000000177
SKIP 0x0000000000000178
Prev 0x000000000000017b
INFO 0x000000000000017c
TV/VID 0x000000000000017e
Audio 0x000000000000017f
THDN 0x0000000000000268
THUP 0x0000000000000269
end codes
end remote
begin remote
name PHILIPS_RC-5_ALT
bits 13
flags RC5|CONST_LENGTH
eps 20
aeps 0
one 889 889
zero 889 889
plead 889
gap 113792
min_repeat 1
toggle_bit 2
frequency 36000
duty_cycle 50
begin codes
LEFT 0x0000000000000155
RIGHT 0x0000000000000156
end codes
end remote
Comments
Add a new Comment