Difference between revisions of "MythTV"
(→Compiling from SVN) |
|||
(22 intermediate revisions by 7 users not shown) | |||
Line 1: | Line 1: | ||
− | == tv_grab_uk_rt - Undefined argument in option spec == | + | == Compiling from SVN == |
+ | |||
+ | === MythTV Core/Backend === | ||
+ | For ubuntu (gutsy), ensure the following packages are installed: | ||
+ | |||
+ | * gcc | ||
+ | * g++ | ||
+ | * make | ||
+ | * linux-headers | ||
+ | * libfreetype6-dev | ||
+ | * libqt3-mt-dev | ||
+ | * liblame-dev | ||
+ | * libxv-dev | ||
+ | * libxxf86vm-dev | ||
+ | |||
+ | Maybe also? | ||
+ | * qt3-dev-tools | ||
+ | * libqt3-mt-mysql | ||
+ | |||
+ | === MythPlugins === | ||
+ | |||
+ | * libmad0-dev | ||
+ | * libid3tag0-dev | ||
+ | * libvorbis-dev | ||
+ | * libflac-dev | ||
+ | * libcdaudio-dev | ||
+ | * libcdparanoia0-dev | ||
+ | * libtiff4-dev | ||
+ | * kdelibs4-dev | ||
+ | * libexif-dev | ||
+ | * fftw3-dev | ||
+ | * libsdl1.2-dev | ||
+ | * libfaad2-dev | ||
+ | * libmysqlclient15-dev | ||
+ | |||
+ | === MythTV frontend (Install and run only) === | ||
+ | To install and run a mythtv frontend (previously compiled on a different machine), you need: | ||
+ | |||
+ | * g++ | ||
+ | * libartsc0-dev | ||
+ | * libasound2-dev | ||
+ | * liblame-dev | ||
+ | * libqt3-mt-dev | ||
+ | * libqt3-mt-mysql | ||
+ | * libxv-dev | ||
+ | * libxvmc-dev | ||
+ | * libxxf86vm-dev | ||
+ | * qt3-dev-tools | ||
+ | |||
+ | == /etc/init.d == | ||
+ | |||
+ | Create as /etc/init.d/mythbackend-svn and ensure executable: | ||
+ | <pre> | ||
+ | #!/bin/sh | ||
+ | # | ||
+ | # /etc/init.d/mythbackend-svn -- script to start and stop mythbackend. | ||
+ | |||
+ | test -x /opt/mythtv-svn/bin/mythbackend || exit 0 | ||
+ | |||
+ | DESC=mythbackend | ||
+ | NAME=mythbackend | ||
+ | BINARY="/opt/mythtv-svn/bin/mythbackend" | ||
+ | #CMDARGS="--daemon --logfile /var/log/mythtv/${NAME}.log" | ||
+ | CMDARGS="--daemon --logfile /var/log/mythtv/${NAME}.log -v record,file" | ||
+ | #CMDARGS="--daemon --logfile /var/log/mythtv/${NAME}.log -v all" | ||
+ | PIDFILE=/var/run/mythbackend.pid | ||
+ | USER=mythtv | ||
+ | GROUP=${USER} | ||
+ | HOME=/var/lib/mythtv | ||
+ | |||
+ | if [ -f /etc/mythtv/mythbackend ]; then | ||
+ | . /etc/mythtv/mythbackend | ||
+ | fi | ||
+ | |||
+ | case "$1" in | ||
+ | start) | ||
+ | echo -n "Starting ${DESC}: ${NAME}" | ||
+ | start-stop-daemon --start --quiet --chuid ${USER}:${GROUP} --exec ${BINARY} --pidfile ${PIDFILE} -- ${CMDARGS} | ||
+ | echo "." | ||
+ | ;; | ||
+ | stop) | ||
+ | echo -n "Stopping ${DESC}: ${NAME}" | ||
+ | start-stop-daemon --stop --quiet --oknodo --exec ${BINARY} | ||
+ | echo "." | ||
+ | ;; | ||
+ | reload | force-reload | restart) | ||
+ | $0 stop | ||
+ | $0 start | ||
+ | ;; | ||
+ | *) | ||
+ | echo "Usage: /etc/init.d/$0 {start|stop|reload|force-reload|restart}" | ||
+ | exit 1 | ||
+ | ;; | ||
+ | esac | ||
+ | |||
+ | exit 0 | ||
+ | </pre> | ||
+ | |||
+ | To ensure it starts/stops on machine reboot: | ||
+ | <pre> | ||
+ | sudo update-rc.d mythbackend-svn start 40 2 3 4 5 . stop 15 0 1 6 . | ||
+ | </pre> | ||
+ | |||
+ | == Errors and Solutions == | ||
+ | |||
+ | === tv_grab_uk_rt - Undefined argument in option spec === | ||
Edit /usr/bin/tv_grab_uk_rt and remove days and offset args from GetOptions variable list, and replace with: | Edit /usr/bin/tv_grab_uk_rt and remove days and offset args from GetOptions variable list, and replace with: | ||
<pre> | <pre> | ||
Line 7: | Line 112: | ||
See: https://sourceforge.net/tracker/?func=detail&atid=424135&aid=1440322&group_id=39046 | See: https://sourceforge.net/tracker/?func=detail&atid=424135&aid=1440322&group_id=39046 | ||
+ | |||
+ | === QMYSQL3 driver not loaded === | ||
+ | |||
+ | * apt-get install libqt3-mt-mysql | ||
+ | |||
+ | === Missing menu items === | ||
+ | * apt-get install msttcorefonts | ||
+ | |||
+ | === Opening DVB frontend device failed. eno: Permission denied (13) === | ||
+ | ''/dev/video*'' is by default only read/writable by root:video: | ||
+ | <pre> | ||
+ | andrew@colorado:~$ ls -l /dev/video* | ||
+ | crw-rw---- 1 root video 81, 0 2007-11-03 16:12 /dev/video0 | ||
+ | crw-rw---- 1 root video 81, 1 2007-11-03 16:12 /dev/video1 | ||
+ | </pre> | ||
+ | To fix: '''sudo adduser mythtv video''' | ||
+ | |||
+ | === Zero sized recorded program images in mythweb === | ||
+ | See http://svn.mythtv.org/trac/ticket/3217 | ||
== Scheduler log output (meaning of "S C I T N" etc) == | == Scheduler log output (meaning of "S C I T N" etc) == | ||
Line 86: | Line 210: | ||
</pre> | </pre> | ||
+ | == BBC HD == | ||
+ | Not yet possible to play this in MythTV yet, as far as I'm aware. However, you can save it to a file, and play it back (slowly, on anything but very powerful hardware). | ||
− | + | * Grab latest x264, ffmpeg and mplayer from svn, and compile manually. | |
− | + | * Add the following to your channels.conf: | |
− | + | <pre> | |
− | + | BBC HD1:554000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_1_2:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_32:HIERARCHY_NONE:1502:1505:36932 | |
− | + | </pre> | |
− | + | * Tune to the channel, and check you're getting lock with '''tzap "BBC HD1"''' | |
− | * | + | * Grab a portion of the stream with '''dvbstream -o 8192 > myfile.ts''' (Note the use of dummy PID '''8192''' - this tells dvbstream to record the entire transport stream, rather than just selected program streams). |
− | * | + | * Playback the stream with '''mplayer myfile.ts'''. MPlayer should tell you there are two program streams - an H264 video on pid 1502, and an a52 audio stream on pid 1505. Sample mplayer log snippet below: |
− | * | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
<pre> | <pre> | ||
− | + | Playing myfile.ts. | |
+ | TS file format detected. | ||
+ | VIDEO H264(pid=1502) AUDIO A52(pid=1505) NO SUBS (yet)! PROGRAM N. -28604 | ||
+ | FPS seems to be: 25.000000 | ||
</pre> | </pre> | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− |
Latest revision as of 10:22, 10 June 2008
Contents
Compiling from SVN
MythTV Core/Backend
For ubuntu (gutsy), ensure the following packages are installed:
- gcc
- g++
- make
- linux-headers
- libfreetype6-dev
- libqt3-mt-dev
- liblame-dev
- libxv-dev
- libxxf86vm-dev
Maybe also?
- qt3-dev-tools
- libqt3-mt-mysql
MythPlugins
- libmad0-dev
- libid3tag0-dev
- libvorbis-dev
- libflac-dev
- libcdaudio-dev
- libcdparanoia0-dev
- libtiff4-dev
- kdelibs4-dev
- libexif-dev
- fftw3-dev
- libsdl1.2-dev
- libfaad2-dev
- libmysqlclient15-dev
MythTV frontend (Install and run only)
To install and run a mythtv frontend (previously compiled on a different machine), you need:
- g++
- libartsc0-dev
- libasound2-dev
- liblame-dev
- libqt3-mt-dev
- libqt3-mt-mysql
- libxv-dev
- libxvmc-dev
- libxxf86vm-dev
- qt3-dev-tools
/etc/init.d
Create as /etc/init.d/mythbackend-svn and ensure executable:
#!/bin/sh # # /etc/init.d/mythbackend-svn -- script to start and stop mythbackend. test -x /opt/mythtv-svn/bin/mythbackend || exit 0 DESC=mythbackend NAME=mythbackend BINARY="/opt/mythtv-svn/bin/mythbackend" #CMDARGS="--daemon --logfile /var/log/mythtv/${NAME}.log" CMDARGS="--daemon --logfile /var/log/mythtv/${NAME}.log -v record,file" #CMDARGS="--daemon --logfile /var/log/mythtv/${NAME}.log -v all" PIDFILE=/var/run/mythbackend.pid USER=mythtv GROUP=${USER} HOME=/var/lib/mythtv if [ -f /etc/mythtv/mythbackend ]; then . /etc/mythtv/mythbackend fi case "$1" in start) echo -n "Starting ${DESC}: ${NAME}" start-stop-daemon --start --quiet --chuid ${USER}:${GROUP} --exec ${BINARY} --pidfile ${PIDFILE} -- ${CMDARGS} echo "." ;; stop) echo -n "Stopping ${DESC}: ${NAME}" start-stop-daemon --stop --quiet --oknodo --exec ${BINARY} echo "." ;; reload | force-reload | restart) $0 stop $0 start ;; *) echo "Usage: /etc/init.d/$0 {start|stop|reload|force-reload|restart}" exit 1 ;; esac exit 0
To ensure it starts/stops on machine reboot:
sudo update-rc.d mythbackend-svn start 40 2 3 4 5 . stop 15 0 1 6 .
Errors and Solutions
tv_grab_uk_rt - Undefined argument in option spec
Edit /usr/bin/tv_grab_uk_rt and remove days and offset args from GetOptions variable list, and replace with:
'offset' => \ my $opt_offset, 'days' => \ my $opt_days,
See: https://sourceforge.net/tracker/?func=detail&atid=424135&aid=1440322&group_id=39046
QMYSQL3 driver not loaded
- apt-get install libqt3-mt-mysql
- apt-get install msttcorefonts
Opening DVB frontend device failed. eno: Permission denied (13)
/dev/video* is by default only read/writable by root:video:
andrew@colorado:~$ ls -l /dev/video* crw-rw---- 1 root video 81, 0 2007-11-03 16:12 /dev/video0 crw-rw---- 1 root video 81, 1 2007-11-03 16:12 /dev/video1
To fix: sudo adduser mythtv video
Zero sized recorded program images in mythweb
See http://svn.mythtv.org/trac/ticket/3217
Scheduler log output (meaning of "S C I T N" etc)
- Title - Subtitle
- should be pretty obvious!
- Chan
- actual channel number
- ChID
- channel ID in mythtv database
- Day
- day in month of recording
- Start
- start time of recording
- End
- end time of recording
- S
- sourceID - ID of source of programs as defined by mythtv-setup (eg. UK Freeview)
- C
- cardID - ID of card to be used for recording. 0 if not to be recorded.
- I
- inputID - ID of input (combination of source and card). 0 if not to be recorded.
- T
- recording type
- S - SingleRecord
- T - TimeslotRecord
- W - WeekslotRecord
- C - ChannelRecord
- A - AllRecord
- F - FindOneRecord
- d - FindOneDailyRecord
- w - FindOneWeeklyRecord
- O - OverrideRecord/DontRecord
- N
- recording status:
- A - Aborted
- R - Recorded
- n - Recording/WillRecord on CardID
- X - DontRecord
- P - PreviousRecording
- R - CurrentRecording
- E - EarlierShowing
- T - TooManyRecordings
- c - Cancelled
- M - Missed
- C - Conflict
- L - LaterShowing
- r - Repeat
- x - Inactive
- K - LowDiskSpace
- B - TunerBusy
- N - NotListed
- V - NeverRecord
- Pri
- recording priority
MythTV and LIRC
Using the Ctrl key in config lines
Contrary to some sources, the required format for the config line is config=Ctrl+X. For example:
begin prog = mythtv button = TV config = Ctrl+2 end
Repairing broken MythTV tables
- Stop MythTV and MySQL
- cd /var/lib/mysql/mythconverg
- myisamchk *.MYI
- Identify broken tables
- myisamchk -r brokenTable.MYI
- Restart MythTV and MySQL
This will often happen if (with an nVidia driver), the nVidia libglx file has been overwritten by an xserver upgrade. To check for this, run glxinfo | grep direct - if the driver is working the direct rendering should be on. If not, check the /var/log/Xorg.0.log for:
(EE) NVIDIA(0): Failed to initialize the GLX module...
In this case, it's possible to reinstall the latest nvidia linux driver, or alternatively, simply (as root):
mv /usr/X11R6/lib/modules/extensions/libglx.so /usr/X11R6/lib/modules/extensions/libglx.so.orig ln -s /usr/X11R6/lib/modules/extensions/libglx.so.<nvidia ver> /usr/X11R6/lib/modules/extensions/libglx.so
BBC HD
Not yet possible to play this in MythTV yet, as far as I'm aware. However, you can save it to a file, and play it back (slowly, on anything but very powerful hardware).
- Grab latest x264, ffmpeg and mplayer from svn, and compile manually.
- Add the following to your channels.conf:
BBC HD1:554000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_1_2:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_32:HIERARCHY_NONE:1502:1505:36932
- Tune to the channel, and check you're getting lock with tzap "BBC HD1"
- Grab a portion of the stream with dvbstream -o 8192 > myfile.ts (Note the use of dummy PID 8192 - this tells dvbstream to record the entire transport stream, rather than just selected program streams).
- Playback the stream with mplayer myfile.ts. MPlayer should tell you there are two program streams - an H264 video on pid 1502, and an a52 audio stream on pid 1505. Sample mplayer log snippet below:
Playing myfile.ts. TS file format detected. VIDEO H264(pid=1502) AUDIO A52(pid=1505) NO SUBS (yet)! PROGRAM N. -28604 FPS seems to be: 25.000000