MythTV

From Briki
Revision as of 14:33, 16 November 2007 by Admin (talk | contribs) (Compiling from SVN)
Jump to: navigation, search

Compiling from SVN

MythTV Core

For ubuntu, ensure the following packages are installed:

  • gcc
  • g++
  • make
  • linux-headers-version (also ln -s /usr/src/linux-headers-version /usr/src/linux)
  • liblame-dev
  • qt3-dev-tools
  • lirc
  • liblircclient-dev
  • libasound2-dev
  • libxvmc-dev
  • libqt3-mt-dev
  • libxxf86vm-dev
  • libqt3-mt-mysql

for example:

sudo apt-get install gcc g++ make linux-headers liblame-dev qt3-dev-tools lirc liblircclient-dev libasound2-dev libxvmc-dev libqt3-mt-dev libxxf86vm-dev libqt3-mt-mysql

To fix freetype headers not being found, simply:

sudo ln -s /usr/include/freetype2/freetype /usr/include/freetype

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


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

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

Missing menu items

  • apt-get install msttcorefonts

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
sourceID - ID of source of programs as defined by mythtv-setup (eg. UK Freeview)
cardID - ID of card to be used for recording. 0 if not to be recorded.
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

  1. Stop MythTV and MySQL
  2. cd /var/lib/mysql/mythconverg
  3. myisamchk *.MYI
  4. Identify broken tables
  5. myisamchk -r brokenTable.MYI
  6. Restart MythTV and MySQL


Slow mythfrontend menu transitions

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