summaryrefslogtreecommitdiffstats
path: root/abs/core/local-website/htdocs/mythtv-doc/mythtv-HOWTO-23.html
diff options
context:
space:
mode:
authorCecil Hugh Watson <knoppmyth@gmail.com>2009-09-26 01:57:08 (GMT)
committerCecil Hugh Watson <knoppmyth@gmail.com>2009-09-26 01:57:08 (GMT)
commit7b29169fff9e7c624890c5edffe85def8a293136 (patch)
tree47753889faa3a2063b66d1c7e7681e703eb1b39a /abs/core/local-website/htdocs/mythtv-doc/mythtv-HOWTO-23.html
parentc491dea779dac29afff3578bf8245943817c2339 (diff)
downloadlinhes_pkgbuild-7b29169fff9e7c624890c5edffe85def8a293136.zip
linhes_pkgbuild-7b29169fff9e7c624890c5edffe85def8a293136.tar.gz
linhes_pkgbuild-7b29169fff9e7c624890c5edffe85def8a293136.tar.bz2
LinHES 6.01.00
Diffstat (limited to 'abs/core/local-website/htdocs/mythtv-doc/mythtv-HOWTO-23.html')
-rw-r--r--abs/core/local-website/htdocs/mythtv-doc/mythtv-HOWTO-23.html1193
1 files changed, 1193 insertions, 0 deletions
diff --git a/abs/core/local-website/htdocs/mythtv-doc/mythtv-HOWTO-23.html b/abs/core/local-website/htdocs/mythtv-doc/mythtv-HOWTO-23.html
new file mode 100644
index 0000000..8b7439e
--- /dev/null
+++ b/abs/core/local-website/htdocs/mythtv-doc/mythtv-HOWTO-23.html
@@ -0,0 +1,1193 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<HTML>
+<HEAD>
+ <META NAME="GENERATOR" CONTENT="LinuxDoc-Tools 0.9.21">
+ <TITLE>Installing and using MythTV: Miscellaneous. </TITLE>
+ <LINK HREF="mythtv-HOWTO-24.html" REL=next>
+ <LINK HREF="mythtv-HOWTO-22.html" REL=previous>
+ <LINK HREF="mythtv-HOWTO.html#toc23" REL=contents>
+</HEAD>
+<BODY>
+<A HREF="mythtv-HOWTO-24.html">Next</A>
+<A HREF="mythtv-HOWTO-22.html">Previous</A>
+<A HREF="mythtv-HOWTO.html#toc23">Contents</A>
+<HR>
+<H2><A NAME="s23">23.</A> <A HREF="mythtv-HOWTO.html#toc23">Miscellaneous. </A></H2>
+
+<H2><A NAME="ss23.1">23.1</A> <A HREF="mythtv-HOWTO.html#toc23.1">I'd like to watch the files without using MythTV / I'd like to convert the files to some other format</A>
+</H2>
+
+<P>First, check if the <B>mytharchive</B> plugin does what you want. If not, then
+read on:</P>
+<P>MythTV comes with a utility called <B>mythtranscode</B> which can
+decode nuv files into raw format for use with other applications. This
+command-line utility was not designed to be used by the end-user, but
+instead to be called by other applications or scripts. Programs like
+<B>nuvexport</B> (
+<A HREF="http://forevermore.net/myth/">http://forevermore.net/myth/</A>) are better suited for the end user.
+However, since <B>mythtranscode</B> can be a useful tool, directions on
+using it follow.</P>
+<P><B>mythtranscode</B> creates raw streams, which means that they do not
+contain any container information such as resolution, frame-rate, or audio
+sampling rate. In order to process the output, you must supply this
+information to the processing utility. <B>mythtranscode</B> provides the
+relevant information on STDOUT.</P>
+<P>There are two modes in which <B>mythtranscode</B> can create raw streams.
+The first has no synchronization and assumes that the processing utility
+will read audio and video at a constant rate. This method is useful when a
+single application will be processing the raw output, such as
+<B>mencoder</B> or <B>ffmpeg</B>. The second method assumes that two
+separate applications will be processing the audio and video streams
+independently, and there is no rate control between them which means that
+the two programs don't coordinate their efforts to maintain synchronization.</P>
+
+<H3>mythtranscode example</H3>
+
+<P>First, start <B>mythtranscode</B>. You will need to determine the
+channel and the start time manually.
+<BLOCKQUOTE><CODE>
+<PRE>
+$ mythtranscode --chanid 1036 --starttime 2003-10-20T15:30:00 --profile \
+autodetect --fifodir . &amp;
+</PRE>
+</CODE></BLOCKQUOTE>
+</P>
+<P>When <B>mythtranscode</B> begins executing, it will create two FIFOs
+("audout" and "vidout") in the directory specified (in this case ".",
+meaning the current directory) and will print out information about the
+video stream.</P>
+<P>The next step is to start the processing application. The following assumes
+that the stream is NTSC 640x480 with 32Kbps audio.</P>
+<P>To use <B>mencoder</B> you would enter a command like:
+<BLOCKQUOTE><CODE>
+<PRE>
+mencoder -audiofile audout -audio-demuxer 20 -rawaudio rate=32000 \
+-rawvideo on:w=640:h=480:fps=29.97 -ovc lavc -oac mp3lame -o out.avi \
+vidout
+</PRE>
+</CODE></BLOCKQUOTE>
+</P>
+<P>
+<FIGURE>
+<EPS FILE="stop.eps">
+<IMG SRC="stop.png">
+<CAPTION><B>NOTE</B>: You must use mencoder 1.0PRE1 or later. <B>mencoder</B>
+version 0.9x <EM>WILL NOT WORK!</EM></CAPTION>
+</FIGURE>
+
+Using ffmepg:
+<BLOCKQUOTE><CODE>
+<PRE>
+ffmpeg -f u16le -ar 32000 -ac 2 -i audout -f rawvideo -s 640x480 -r 29.97 \
+-i vidout -vcodec mpeg4 -b 2000 -acodec mp3 -ab 128 out.avi
+</PRE>
+</CODE></BLOCKQUOTE>
+</P>
+<P>Or to play directly using mplayer (again 1.0PRE1 or later is needed):
+<BLOCKQUOTE><CODE>
+<PRE>
+mplayer -audiofile audout -audio-demuxer 20 -rawaudio rate=32000 \
+-rawvideo on:w=640:h=480:fps=29.97 vidout
+</PRE>
+</CODE></BLOCKQUOTE>
+</P>
+<P>If you wanted to write the raw data to separate audio and video files for
+later processing, the following would work (note the use of --fifosync
+for rate-control):
+<BLOCKQUOTE><CODE>
+<PRE>
+$ mythtranscode --chanid 1036 --starttime 2003-10-20T15:30:00 \
+--profile autodetect --fifodir . --fifosync &amp;
+$ cat audout > audio.raw &amp;
+$ cat vidout > video.yuv
+</PRE>
+</CODE></BLOCKQUOTE>
+</P>
+
+<H2><A NAME="ss23.2">23.2</A> <A HREF="mythtv-HOWTO.html#toc23.2">Using a different window manager</A>
+</H2>
+
+<P>MythTV is not dependent on any particular window manager. If you wish to
+run a lightweight window manager, the <CODE>contrib/configfiles/</CODE> directory has an
+example of a <CODE>.twmrc</CODE> and <CODE>.fvwmrc</CODE> file you may use.</P>
+
+<H2><A NAME="capture_resolution_"></A> <A NAME="ss23.3">23.3</A> <A HREF="mythtv-HOWTO.html#toc23.3">What capture resolution should I use? How does video work? </A>
+</H2>
+
+<P>While MythTV allows you to set various GUI and capture resolutions, not
+all combinations make sense.</P>
+<P>First, analog video signals have a defined vertical resolution. In NTSC,
+the video standard specifies that there are 525 vertical scan lines. Once
+the "extra" lines are removed (they're used to synchronize the video signal,
+and encode closed captioning data), you have 480 horizontal lines stacked
+vertically.</P>
+<P>In PAL, there are 625 "raw" lines of resolution, with a net of 576
+horizontal lines stacked vertically.</P>
+<P>Horizontally, the maximum value allowed for a Bt8X8 chip is 720. However,
+due to limitations in the chip and other limitations of broadcast
+television, there may not be a noticeable improvement in image quality
+beyond 400 or 500 pixels.</P>
+<P>With this in mind, there are certain commonly accepted values for
+resolution. While other values may be accepted for the vertical
+resolution, they will cause scan lines to be repeated or dropped.</P>
+<P>From "best" to "worst", in NTSC:
+<UL>
+<LI>720x480 "DVD" resolution. ReplayTV High and medium resolution</LI>
+<LI>704x480 DVD standalone recorder standard resolution</LI>
+<LI>640x480 4:3</LI>
+<LI>544x480 TiVo Best resolution</LI>
+<LI>480x480 SuperVCD (SVCD) Video CD resolution, TiVo High resolution</LI>
+<LI>352x480 ReplayTV "Standard" quality, TiVo Basic and Medium resolution, DVD "LP" resolution</LI>
+<LI>320x480 </LI>
+<LI>544x240</LI>
+<LI>480x240 </LI>
+<LI>352x240 Video CD (VCD) resolution</LI>
+<LI>320x240</LI>
+</UL>
+</P>
+<P>As you can see, the lower quality values are half of the better ones.
+720x240 is possible, but isn't a good tradeoff relative to the number of
+vertical lines lost. In a PAL country, the you would use values like
+720x576 or x288.</P>
+<P>The higher resolutions will be more CPU intensive if you're using software
+encoding (PVR-250/350 will have minimal host CPU impact even if you're using
+720x480). If the CPU is overtaxed, frames will be dropped causing uneven
+motion. You will likely see the best results at resolutions which average at
+least 10% CPU idle time. You can use system tools such as <CODE>top</CODE> or
+<CODE>sar</CODE> to check the CPU % idle while recording. If the CPU average
+usage is consistently exceeding 90%, frames will need to be dropped during
+peak times when more than 100% of the available CPU would be needed to
+process all of the frames.</P>
+<P>If you'd like to read more on this, go to the vcdhelp website at
+<A HREF="http://www.vcdhelp.com/forum/userguides/94382.php">http://www.vcdhelp.com/forum/userguides/94382.php</A>.</P>
+
+<H2><A NAME="ss23.4">23.4</A> <A HREF="mythtv-HOWTO.html#toc23.4">MythTV GUI and X Display Sizes</A>
+</H2>
+
+<P>MythTV is designed to be run as dedicated full screen TV application
+but can also be run as a desktop application on a computer monitor. Here
+are a few consideration for configuring sizes to best suit you needs.</P>
+
+<H3>X Dimensions</H3>
+
+<P>For output to a Television, common resolutions are 640x480, 800x600, and
+some rare devices support 1024x768. Generally, higher resolutions are
+better. However, you may find that you prefer the picture quality at one of
+the lower resolutions. Everything in MythTV is scalable and should 'fit'
+regardless of the resolution you choose.</P>
+<P>Edit your X configuration file, usually <CODE>/etc/X11/XF86Config-4</CODE> for
+XFree, or <CODE>/etc/X11/xorg.conf</CODE> for Xorg, so that the resolution you
+want to use is listed first in the lists under "Screen". If this resolution
+is higher than the resolutions supported by your output device, you will see
+a 'panning' effect where moving the mouse to the edge will scroll around a
+desktop area which is larger than the display size. If this happens, edit
+your X configuration file to match the display size then restart X.</P>
+
+<H3>MythTV Dimensions</H3>
+
+<P>From "mythfrontend" go to Setup->Appearance.
+The default for the height and width is "0" - this will cause
+MythTV to automatically size itself to full screen.</P>
+<P>If the MythTV GUI width and height are not 0, mythfrontend uses these GUI
+dimensions and is anchored to the upper left corner of the X Desktop. If
+the GUI X and/or Y are not 0, the upper left corner is positioned at the
+specified coordinates. If the "Run the frontend in a window" box is checked,
+the window will have a frame and can then be dragged to any position on the
+desktop.</P>
+<P>
+<FIGURE>
+<EPS FILE="stop.eps">
+<IMG SRC="stop.png">
+<CAPTION><B>NOTE</B>: When the GUI is full screen, you may see windows rapidly
+flipping on top of each other. If this happens you will need to set your
+window manager to 'Click to Focus' for windows to stack properly.</CAPTION>
+</FIGURE>
+
+The fonts for the GUI and OSD will scale to whatever sizes you use. Most
+font sizes can be changed in setup selections or in the .xml files under
+<CODE>/usr/local/share/mythtv/</CODE> . Make sure to use fonts large enough
+to be read on a TV screen from a distance.</P>
+<P>The full screen TV size is based on the X display size. For Xinerama, you
+can specify a screen in Setup->General. The TV picture will be stretched
+to fit the entire GUI area regardless of the
+<A HREF="#capture_resolution_">capture resolutions</A> used. However, during playback, the "W" key can
+to used to correct differences between 16:9 and 4:3.</P>
+
+<H3>Overscan Dimensions</H3>
+
+<P>Because picture edges can be ragged and screen edges aren't straight,
+Television is designed to project an image larger than the physical screen.
+This is called "overscan". Underscan is fitting the entire image inside the
+screen. Underscan is useful for computer monitors so that toolbars and
+scrollbars at the edges can be seen.</P>
+<P>For best results, match the X display area as close as possible to the edges
+of the physical screen. This can only be adjusted by your tv-out device or
+by the settings for the television set. Many sets have these adjustments in
+a 'service mode'. If you cannot make these adjustments, there will be black
+borders around the edges of the X desktop, MythTV GUI and TV playback.</P>
+<P>MythTV has settings for "Overscan" in Setup->Playback. These can not, and do
+not, cause the image to display beyond the edge of the X display area. The
+purpose of these settings are to cut off rough edges and to expand the image
+so that objects will appear to be the same size as a normal overscanned TV
+picture.</P>
+
+<H2><A NAME="backupdb"></A> <A NAME="ss23.5">23.5</A> <A HREF="mythtv-HOWTO.html#toc23.5">Saving or restoring the database </A>
+</H2>
+
+<P>See the <B>mysqldump</B> manpage for more information.
+<BLOCKQUOTE><CODE>
+<PRE>
+$ mysqldump -u mythtv -pmythtv mythconverg -c > mythtv_backup.sql
+</PRE>
+</CODE></BLOCKQUOTE>
+</P>
+<P>To restore: (assuming that you've dropped the database)
+<BLOCKQUOTE><CODE>
+<PRE>
+$ mysql -u root
+mysql>create database mythconverg;
+mysql>exit
+$ mysql -u mythtv -pmythtv mythconverg &lt; mythtv_backup.sql
+</PRE>
+</CODE></BLOCKQUOTE>
+</P>
+<P>You may need to alter the MySQL permissions if this database is being shared
+with multiple systems. See the
+<A HREF="mythtv-HOWTO-6.html#modify_perm_mysql">Modifying access to the MySQL database for multiple systems</A> section for more
+information.</P>
+
+<H2><A NAME="ss23.6">23.6</A> <A HREF="mythtv-HOWTO.html#toc23.6">Deleting the MySQL database</A>
+</H2>
+
+<P>
+<FIGURE>
+<EPS FILE="stop.eps">
+<IMG SRC="stop.png">
+<CAPTION><B>NOTE</B>: Performing this step will remove the entire database. You will lose all of your settings and will need to re-run the mc.sql script
+to setup the database structure before running the mythtv-setup program.</CAPTION>
+</FIGURE>
+
+<BLOCKQUOTE><CODE>
+<PRE>
+$ mysql -u root
+mysql> drop database mythconverg;
+mysql> quit
+</PRE>
+</CODE></BLOCKQUOTE>
+</P>
+
+<H2><A NAME="ss23.7">23.7</A> <A HREF="mythtv-HOWTO.html#toc23.7">Moving your data to new hardware</A>
+</H2>
+
+<P>This assumes that you will be moving your data to newer / bigger hardware
+and don't want to lose your programs.</P>
+<P>The first step is to create a database backup as demonstrated in an earlier
+section.</P>
+<P>Next, you will extract only the data that is relevant to the programs:
+<BLOCKQUOTE><CODE>
+<PRE>
+$ grep "INSERT INTO record " mythtv_backup.sql > restore.sql
+$ grep "INSERT INTO recorded " mythtv_backup.sql >> restore.sql
+$ grep "INSERT INTO oldrecorded " mythtv_backup.sql >> restore.sql
+$ grep "INSERT INTO recordedprogram " mythtv_backup.sql >> restore.sql
+$ grep "INSERT INTO recordedrating " mythtv_backup.sql >> restore.sql
+$ grep "INSERT INTO recordedmarkup " mythtv_backup.sql >> restore.sql
+$ grep "INSERT INTO recordedseek " mythtv_backup.sql >> restore.sql
+</PRE>
+</CODE></BLOCKQUOTE>
+</P>
+<P><B>NOTE</B>: Newer versions of <B>mysqldump</B> place backticks around
+the table names. Backticks are not the same as apostrophes! On a typical
+North American keyboard, backticks are located to the left of the "1" key,
+on the same key as the tilde. Also, because the <B>bash</B> shell may try
+to interpret the backticks, make sure you use a \ before each one.</P>
+<P>If your <CODE>restore.sql</CODE> file is empty, you'll need to re-run the
+commands like this:
+<BLOCKQUOTE><CODE>
+<PRE>
+$ grep "INSERT INTO \`record\` " mythtv_backup.sql > restore.sql
+$ grep "INSERT INTO \`recorded\` " mythtv_backup.sql >> restore.sql
+$ grep "INSERT INTO \`oldrecorded\` " mythtv_backup.sql >> restore.sql
+$ grep "INSERT INTO \`recordedprogram\` " mythtv_backup.sql >> restore.sql
+$ grep "INSERT INTO \`recordedrating\` " mythtv_backup.sql >> restore.sql
+$ grep "INSERT INTO \`recordedmarkup\` " mythtv_backup.sql >> restore.sql
+$ grep "INSERT INTO \`recordedseek\` " mythtv_backup.sql >> restore.sql
+</PRE>
+</CODE></BLOCKQUOTE>
+</P>
+<P>Note the space after the table name and the ">>" to append to the file for
+all but the first <B>grep</B>. "recordedmarkup" and "recordedseek" are
+huge and there may be hundreds of thousands of lines if you had lots of
+hours of recordings.</P>
+<P>After you have moved the data files to the new hardware, configure MythTV
+using the <B>mythtv-setup</B> program as you normally would with a
+standard MythTV installation.</P>
+<P>At this point we will restore the information about your programs back into
+the database:
+<BLOCKQUOTE><CODE>
+<PRE>
+$ mysql -u mythtv -pmythtv mythconverg &lt; restore.sql
+</PRE>
+</CODE></BLOCKQUOTE>
+</P>
+<P>After successful insertion of the data you may delete the
+<CODE>restore.sql</CODE> file.</P>
+
+<H2><A NAME="btaudio"></A> <A NAME="ss23.8">23.8</A> <A HREF="mythtv-HOWTO.html#toc23.8">btaudio </A>
+</H2>
+
+<P>btaudio allows you to obtain the audio data from your tuner card directly
+over the PCI bus without using a sound card. This is useful if you would
+like to use multiple tuner cards in a system without adding a sound card for
+each one, or if your existing sound card is not capable of full-duplex
+operation.</P>
+<P>In order to use btaudio, your tuner card will need certain hardware
+installed on it, and that hardware must be wired correctly. The chip that
+will allow you to use the btaudio module is the MSP34xx. However, having a
+MSP34xx is no guarantee that you will be able to use the btaudio module.</P>
+<P>As of 2003-03-31, this is the current list of cards and their status:
+Works with btaudio:</P>
+<P>
+<UL>
+<LI>Hauppauge WinTV-radio with dbx-TV stereo, model 401</LI>
+<LI>Hauppauge WinTV-Theater, model 495, 498 (Europe)</LI>
+<LI>ATI TV Wonder</LI>
+</UL>
+</P>
+<P>The following cards do not work:
+<UL>
+<LI>Pinnacle Studio PCTV Pro - note: this has a MSP34xx, but it's not
+wired correctly to the BT878 chip.</LI>
+<LI>ATI TV Wonder VE</LI>
+<LI>Leadtek Winfast 2000 XP (PAL, UK and NTSC)</LI>
+<LI>I/O Magic PC-PVR. No MSP34xx chip.</LI>
+</UL>
+</P>
+<P>The following cards have been reported to work, but have issues:
+<UL>
+<LI>Avermedia AVerTV Studio (no digital DSP output, "whiney noise" on
+analog)</LI>
+</UL>
+</P>
+<P>Once btaudio loads, it should register additional <CODE>/dev/dsp</CODE> and
+<CODE>/dev/mixer</CODE> devices. Typing <CODE>$ dmesg</CODE> will let you know
+what's going on.</P>
+
+<H2><A NAME="ss23.9">23.9</A> <A HREF="mythtv-HOWTO.html#toc23.9">Removing unwanted channels</A>
+</H2>
+
+<P>If <B>mythfilldatabase</B> grabbed a channel which you do not want to
+include in your TV listings, you can remove the entries from the grabber
+configuration and the MySQL database. This often happens with premium
+channels; for example, HBO or Showtime may be available on your cable TV
+system, but is scrambled because you're not a subscriber to that channel.
+Since you can never watch it, you want to get rid of it.</P>
+<P>If you are using the DataDirect service, login to your account at
+<A HREF="http://labs.zap2it.com/">http://labs.zap2it.com/</A> to
+modify your lineup. Uncheck the boxes for any unwanted channels, and they
+will no longer be included in your download.</P>
+<P>If you are using a grabber from XMLTV, comment out the channel from the
+<CODE>~/.mythtv/&lt;sourcename&gt;.xmltv</CODE> file by inserting the word "not
+" (including the space) in front of the unwanted entry. This will prevent
+<B>xmltv</B> from grabbing future listings.</P>
+<P>Next, delete the unwanted item from the channel table so that it will not
+appear in the EPG or when changing channels. To delete the data from the
+database we need to perform some steps. First, assuming that HBO is channel
+15, we need to find out the internal <CODE>chanid</CODE> used by MySQL:
+<BLOCKQUOTE><CODE>
+<PRE>
+$ mysql -u root mythconverg
+mysql> select chanid from channel where channum=15;
++--------+
+| chanid |
++--------+
+| 1015 |
++--------+
+1 row in set (0.00 sec)
+mysql> delete from channel where chanid = 1015;
+</PRE>
+</CODE></BLOCKQUOTE>
+</P>
+<P>Old program data will be removed over the course of a week. However, you may
+want to immediately delete any current program listings for the channel that
+has been removed:
+<BLOCKQUOTE><CODE>
+<PRE>
+$ mysql -u root mythconverg
+mysql> delete from program where chanid = 1015;
+</PRE>
+</CODE></BLOCKQUOTE>
+</P>
+
+<H2><A NAME="ss23.10">23.10</A> <A HREF="mythtv-HOWTO.html#toc23.10">NFS</A>
+</H2>
+
+<P>You may want to use a central server to store your files. </P>
+<P>On the host machine, (in this case, the hostname is "masterbackend") you'll
+want to edit your <CODE>/etc/exports</CODE> file and use something like:
+<BLOCKQUOTE><CODE>
+<PRE>
+/var/video (rw)
+</PRE>
+</CODE></BLOCKQUOTE>
+</P>
+<P>To export the <CODE>/var/video</CODE> directory with read / write privileges.</P>
+<P>On the "slave" machine, you'll want to edit the <CODE>/etc/fstab</CODE> file and
+add something like:
+<BLOCKQUOTE><CODE>
+<PRE>
+masterbackend:/var/video /var/video nfs rsize=8192,wsize=8192,hard,intr,nfsvers=3,actimeo=0
+</PRE>
+</CODE></BLOCKQUOTE>
+</P>
+<P>Then run <CODE># mount -a</CODE> to re-read the file to mount the file system.</P>
+<P>In this case, the source is a machine called "masterbackend" which is
+exporting the directory "/var/video", which we're mounting locally at
+"/var/video". The rsize and wsize options are used to increase the
+performance of NFS; "hard,intr" is there because that's the recommendation
+of the NFS-HOWTO, the nfsvers is required for filesizes over 2GB and actimeo
+is used to turn off file attribute caching. Attribute caching for a shared
+media point causes problems; you always want to see the latest state of the
+directory and files. See
+<A HREF="http://www.mythtv.org/wiki/index.php/Optimizing_Performance">http://www.mythtv.org/wiki/index.php/Optimizing_Performance</A> for
+additional information regarding performance optimization.</P>
+
+<H2><A NAME="ss23.11">23.11</A> <A HREF="mythtv-HOWTO.html#toc23.11">Automatically starting mythfrontend at system boot time</A>
+</H2>
+
+<P>Here's an example submitted to the mythtv-dev list by Pat Pflaum
+<A HREF="mailto:pat@netburp.com">mailto:pat@netburp.com</A> using fvwm:
+<BLOCKQUOTE><CODE>
+<PRE>
+$ cat > .xinitrc
+fvwm &amp;
+mythfrontend
+^D
+$ cat > .fvwmrc
+Style myth* NoTitle, NoHandles, Sticky, WindowListSkip, SloppyFocus, GrabFocus, BorderWidth 0
+^D
+$
+</PRE>
+</CODE></BLOCKQUOTE>
+</P>
+<P>The following also works with blackbox:
+<BLOCKQUOTE><CODE>
+<PRE>
+$ cat > .xinitrc
+xset -dpms s off &amp;
+irxevent &amp;
+mythfrontend &amp;
+blackbox
+</PRE>
+</CODE></BLOCKQUOTE>
+</P>
+<P>Make sure that your <CODE>.blackboxrc</CODE> file has:
+<BLOCKQUOTE><CODE>
+<PRE>
+session.screen0.focusNewWindows: True
+session.screen0.focusModel: SloppyFocus
+</PRE>
+</CODE></BLOCKQUOTE>
+ in it.</P>
+<P>
+<A NAME="mythbackend_autostart"></A> </P>
+<H2><A NAME="ss23.12">23.12</A> <A HREF="mythtv-HOWTO.html#toc23.12">Automatically starting mythbackend at system boot time</A>
+</H2>
+
+<H3>Red Hat And Mandriva</H3>
+
+<P>Here's a method for automatically starting mythbackend submitted by Mike
+Thomson (
+<A HREF="mailto:linux@m-thomson.net">mailto:linux@m-thomson.net</A>) and Stu Tomlinson (
+<A HREF="mailto:stu@nosnilmot.com">mailto:stu@nosnilmot.com</A>).</P>
+<P>Copy the files from the MythTV <CODE>contrib</CODE> directory or from Mike's web
+site (
+<A HREF="http://m-thomson.net/mythtv/">http://m-thomson.net/mythtv/</A>) as follows:</P>
+<P><CODE>etc.rc.d.init.mythbackend</CODE> should be made executable and copied to
+<CODE>/etc/rc.d/init.d/</CODE>:
+<BLOCKQUOTE><CODE>
+<PRE>
+$ cd contrib
+$ su
+# chmod a+x etc.rc.d.init.d.mythbackend
+# cp etc.rc.d.init.d.mythbackend /etc/rc.d/init.d/mythbackend
+</PRE>
+</CODE></BLOCKQUOTE>
+</P>
+<P><CODE>etc.sysconfig.mythbackend</CODE> should be copied to
+<CODE>/etc/sysconfig/</CODE>:
+<BLOCKQUOTE><CODE>
+<PRE>
+$ cd contrib
+$ su
+# cp etc.sysconfig.mythbackend /etc/sysconfig/mythbackend
+</PRE>
+</CODE></BLOCKQUOTE>
+</P>
+<P>Edit <CODE>/etc/sysconfig/mythbackend</CODE> if you want to change the defaults
+(the userid that should start mythbackend, location of the logfile and (if
+required) the name and location of the mythbackend binary).</P>
+<P>Use <B>chkconfig</B> to make sure the script is called when
+entering runlevels 3, 4 or 5:
+<BLOCKQUOTE><CODE>
+<PRE>
+$ su
+# chkconfig --level 345 mythbackend on
+# exit
+$
+</PRE>
+</CODE></BLOCKQUOTE>
+</P>
+<P>
+<A NAME="logrotate"></A> </P>
+<H3>Log files </H3>
+
+<P>By default, the log file for mythbackend will be written to
+<CODE>/var/tmp/mythbackend.log</CODE>. This has been tested and is known to work
+on Mandriva and Red Hat, but many people prefer to place logs under
+<CODE>/var/log/</CODE>.</P>
+<P>To do this, create a group called <CODE>mythtv</CODE> (or anything you prefer)
+and add your usual MythTV users to that group. If you changed the user that
+starts mythbackend from the default of root you <EM>must</EM> perform this
+step.</P>
+<P>Create the directory <CODE>/var/log/mythtv</CODE> and set its
+permissions as follows:
+<BLOCKQUOTE><CODE>
+<PRE>
+$ su
+# mkdir /var/log/mythtv
+# chown root:mythtv /var/log/mythtv
+# chmod 0775 /var/log/mythtv
+# exit
+$ ls -ld /var/log/mythtv
+drwxrwxr-x 2 root mythtv 4096 Apr 28 21:58 /var/log/mythtv/
+$
+</PRE>
+</CODE></BLOCKQUOTE>
+</P>
+<P>Create a <CODE>mythtv</CODE> file in <CODE>/etc/logrotate.d</CODE>:
+<BLOCKQUOTE><CODE>
+<PRE>
+$ su
+# cat > /etc/logrotate.d/mythtv
+# Set default values for all log files first...
+
+# Rotate the logs once a week, or more frequently if they
+# exceed 10Mb in size (size is checked daily).
+weekly
+size 10M
+
+# 'copytruncate' is used for logs generated by
+# currently-running programs that should not be restarted
+# (and can't be signalled to start a new log) after the
+# rotation. It duplicates the existing log file and then
+# sets the length of the existing file to 0. The only time
+# this would break would be if the program writing the log
+# was using lseek.
+copytruncate
+
+# After rotating the files, leave the most recent rotated
+# copy alone but gzip everything else to save space.
+compress
+delaycompress
+
+# If a log isn't present then don't worry about it.
+missingok
+
+# Don't rotate an empty file.
+notifempty
+
+# end of the global options
+
+/var/log/mythtv/mythbackend.log /var/log/mythtv/mythfrontend.log {
+ # Keep logs until they are 2 months old or the number of
+ # logs reaches 12. If the log files stay small, the age will
+ # kick in first and you'll only have 8 log files. If they
+ # get larger than 10Mb then you won't keep all 60 days.
+ rotate 12
+ maxage 60
+}
+
+# Different options for mythfilldatabase:
+/var/log/mythtv/mythfilldatabase.log {
+ rotate 2
+}
+^D
+#
+</PRE>
+</CODE></BLOCKQUOTE>
+</P>
+
+<H3>Mandriva </H3>
+
+<P>Mandriva adds one more twist in the form of the <CODE>msec</CODE> utility,
+which runs regularly and (at the default or any higher security level) sets
+permissions on many files, including those under <CODE>/var/log</CODE>.</P>
+<P>To tell msec about the MythTV log files and their directory, you need to
+edit the <CODE>/etc/security/msec/perm.local</CODE> file to include the
+following:
+<BLOCKQUOTE><CODE>
+<PRE>
+# /etc/security/msec/perm.local
+# Local overrides to the msec program
+#
+# Full file path user.group permissions
+/var/log/mythtv/ root.mythtv 775
+/var/log/mythtv/* root.mythtv 664
+</PRE>
+</CODE></BLOCKQUOTE>
+</P>
+<P>A copy of the above has been included in the contrib/ directory. You may
+add it by typing:
+<BLOCKQUOTE><CODE>
+<PRE>
+$ cd contrib
+$ su
+# cat etc.security.msec.perm.local >> /etc/security/msec/perm.local
+# exit
+</PRE>
+</CODE></BLOCKQUOTE>
+</P>
+<P>Finally run the <CODE>msec</CODE> tool to check and implement your
+changes.
+<BLOCKQUOTE><CODE>
+<PRE>
+$ su
+# msec
+# exit
+$
+</PRE>
+</CODE></BLOCKQUOTE>
+</P>
+<P>
+<FIGURE>
+<EPS FILE="stop.eps">
+<IMG SRC="stop.png">
+<CAPTION><B>NOTE</B>: msec can only <EM>reduce</EM> the permissions of files, so if
+you don't get the results you expect, check that you're not asking
+<CODE>msec</CODE> to add missing permissions to the files or directories you
+created.</CAPTION>
+</FIGURE>
+</P>
+<H3>Gentoo</H3>
+
+<P>The portage file for MythTV has scripts that will allow you to run
+mythbackend at startup.</P>
+<P>To run mythbackend as a daemon which starts at boot time:
+<BLOCKQUOTE><CODE>
+<PRE>
+# rc-update add mythbackend default
+</PRE>
+</CODE></BLOCKQUOTE>
+
+To stop mythbackend as a daemon:
+<BLOCKQUOTE><CODE>
+<PRE>
+# /etc/init.d/mythbackend stop
+</PRE>
+</CODE></BLOCKQUOTE>
+</P>
+<P>To obtain a list of options:
+<BLOCKQUOTE><CODE>
+<PRE>
+# /etc/init.d/mythbackend
+</PRE>
+</CODE></BLOCKQUOTE>
+</P>
+
+<H2><A NAME="advanced_backend_config"></A> <A NAME="ss23.13">23.13</A> <A HREF="mythtv-HOWTO.html#toc23.13">Advanced Backend Configurations </A>
+</H2>
+
+<P>MythTV is flexible in the way that you define multiple backend tuner
+configurations. The only hard-and-fast rule is that the Master backend
+<EM>must</EM> have a capture device defined, but shouldn't imply that the
+capture device in the Master backend must be the first capture card defined in the
+database.</P>
+<P>One example of an advanced configuration is the round-robin scheme. Rather
+than defining all of the cards on the master, you could first go into
+mythtv-setup on the master to define globals such as the general configuration
+and the channel lineup but not the host-specific configuration item like the
+capture card. In this example, we will use a 4 tuner configuration, where two
+slaves have one card each and the master has two.
+<OL>
+<LI>Add the first capture card on one of the slaves. Complete the
+configuration, connecting the input source to the card. This will get
+cardid #1 in the database. Exit mythtv-setup.</LI>
+<LI>Configure the first capture card on the master backend. This will get
+cardid #2 in the database. Exit mythtv-setup.</LI>
+<LI>Configure the first capture card on the second slave. This will be
+cardid #3 in the database. Exit mythtv-setup.</LI>
+<LI>Configure the second capture card on the master backend. This will
+get cardid #4 in the database. Exit mythtv-setup.</LI>
+</OL>
+</P>
+<P>Using this scheme, the master backend will not use both capture cards until
+one of the following happens:
+<UL>
+<LI>There are four recordings scheduled for the same time</LI>
+<LI>Both slaves are unavailable</LI>
+</UL>
+</P>
+<P>The scheduler in MythTV checks whether an encoder is available; if a slave
+backend isn't running, its encoder isn't available, so the scheduler will
+look for the next available encoder. This makes MythTV very flexible; slave
+tuners can come and go, and as long as there are enough tuners for what
+you'd like to record it doesn't matter which tuner in particular is going to
+be used.</P>
+<P>Using this round-robin scheme along with a shared storage directory like
+NFS and enabling the Master Backend Override setting will allow you to view
+content even if the slave backend that recorded a program is not available.</P>
+
+<H2><A NAME="ss23.14">23.14</A> <A HREF="mythtv-HOWTO.html#toc23.14">Using the transcoder</A>
+</H2>
+
+<P>MythTV's built-in transcoder re-encodes recordings from one codec to
+another. The transcoder has three primary uses; it can transcode MPEG-2
+files captured using a hardware encoder (PVR cards, DVB cards, ATSC HD,
+etc.) to MPEG-4, it can be used to transcode RTjpeg files (usually only used
+on systems that can not real-time encode to MPEG-4 using a framegrabber) to
+MPEG-4, and finally it can be used to remove commercials from a MPEG-2 file
+while leaving the file in MPEG-2 format.</P>
+<P>When MythTV transcodes a file to MPEG-4 or RTjpeg the resulting file format
+is NuppelVideo (nuv). NuppelVideo is a container which provides a method of
+keeping the audio and video in sync throughout the recording, which is why
+it is used instead of the <CODE>.avi</CODE> format. You may have difficulty
+playing <CODE>.nuv</CODE> files in non-MythTV systems.</P>
+
+<P>The original file is removed when the transcoding process is complete.
+Unless you're sure that you will be satisfied with the result you may want
+to enable the <B>mythtv-setup</B> option which causes <B>mythbackend</B>
+to keep the original file after transcoding. This option is on the second
+page of the General section in mythtv-setup. Enabling this allows you to
+compare the two files and restore the original if you like. Outside of the
+initial setup phase it usually isn't necessary to leave this option enabled.
+A recording can be transcoded in two ways:</P>
+<P>
+<UL>
+<LI>Automatically transcode the file once it has completed
+recording.</LI>
+<LI>Manually choosing to transcode a recording, usually after
+importing a cutlist or manually marking commercials to be
+removed.</LI>
+</UL>
+</P>
+<P>The second method can be used on files that have already been transcoded (or
+files which were are already in the desired format), so only the frames
+immediately following a cut section will be re-encoded, resulting in a
+minimal loss of quality when removing commercials with the added benefit of
+being extremely quick.</P>
+<P>The current transcoding system has a lot flexibility, but there are
+a number of steps involved in setting it up. In order to
+automatically transcode a given recording you must do the following:
+<OL>
+<LI>Configure recording profile for your capture source and enable
+transcoding on one or more profiles.</LI>
+<LI>Configure one or more transcoding profiles.</LI>
+<LI>Create or alter existing scheduled recordings to enable
+transcoding for that recording.</LI>
+</OL>
+</P>
+
+<H3>Configuring Recording Profiles to Allow Transcoding</H3>
+
+<P>Enter the Utilities/Setup > Setup > TV Settings > Recording Profiles
+section in <B>mythfrontend</B>. Choose the option that corresponds to
+your capture source (ignore the Transcoders for now.) Choose the quality
+profile you are interested in using for transcoding. Ensure that "Enable
+auto-transcode after recording" is checked. </P>
+
+<H3>Configure Transcoding Profiles</H3>
+
+<P>Enter the Recording Profiles > Transcoders menu. There are three quality
+settings to choose from and a two special Autodetect settings. Later, when
+scheduling recordings you'll have to choose one of Autodetect, High, Medium,
+and Low Quality transcode settings in addition to the recording profile we
+set up above. If you choose the Autodetect transcoding profile for a
+recording, MythTV will use the "Autodetect from RTjpeg/MPEG-4" profile for
+recordings which are RTjpeg/MPEG-4 files. Otherwise, it will use the
+"Autodetect from MPEG-2" profile provided it's an MPEG-2 recording. If you
+choose one of the others (High, Medium, Low) it will use the settings in
+that profile regardless of the codec of the original recording.</P>
+<P>There are a number of options for transcoding but the simplest is to enable
+lossless transcoding (the first option) which subsequently removes all other
+options. Enabling lossless encoding simply removes commercials (if you've
+marked them) and attempts to clean up MPEG-2 streams. Note that with this
+option MythTV will not apply any sort of filters and will only attempt to
+normalize the stream into something cleaner and less likely to have trouble
+with other less forgiving MPEG-2 hardware/software (including players, video
+editors, etc.)</P>
+<P>If you enable resizing of the recording the next page has the settings for
+choosing the final resolution. MythTV will scale the video as appropriate,
+not crop it to this resolution.</P>
+<P>The final two pages allow configuration of the video and audio codecs.
+Although RTjpeg is an option for video codec there is no reason to transcode
+<EM>to</EM> this format because it will produce larger files than MPEG-4 and
+the recording will take <EM>more</EM> CPU power to play back. The MPEG-4
+settings are described in the documentation for the <B>ffmpeg</B> project
+at
+<A HREF="http://ffmpeg.sourceforge.net/ffmpeg-doc.html">http://ffmpeg.sourceforge.net/ffmpeg-doc.html</A>. It's a matter of
+trial and error to discover which settings achieve a good compromise between
+size and quality.</P>
+<P>If you wish to return to the default settings, they are Bitrate: 2200-2500,
+MaxQ: 2, MinQ: 15, MaxQDiff: 3, and "Scale bitrate for frame size" is
+enabled. The other options are unchecked. </P>
+
+<H3>Create/Alter Scheduled Recordings to Enable Transcoding</H3>
+
+<P>Transcoding is actually enabled on a per-recording basis. Two things
+must be true before any given recording will be auto-transcoded, however.
+The first is that the recording must have been made with a recording profile
+that has auto-transcode enabled. Under "Storage Options" for the recording
+you must set the "Record using the "X" profile" to the profile you
+configured in the first step. In addition, under the "Post Recording
+Options" section of the recording you must also set "Transcode new
+recordings." This is also where you specify the Transcoding profile to use
+(Auto, High, Medium, Low.)</P>
+<P>It may not be obvious from above but the flexibility of this system is
+primarily to make it possible to auto-transcode a show recorded via one
+source (ie: pcHDTV 3000), and not transcode that same show if it's recorded
+on another kind of card (ie: PVR-250.) There are other uses however. You
+could have a PVR-250 and a V4L card. You may want to transcode the MPEG-2
+from the PVR-250 but there is no need to transcode the recordings made with
+the V4L card, as it's already likely to be MPEG-4.</P>
+<P>As an example, you could configure the Default profile for "Hardware DVB
+Encoders" (the profile group used for DVB cards, including ATSC cards like
+the pcHDTV 3000) to "Enable auto-transcoding". In the Default profile for
+MPEG-2 Encoders (PVR cards) you'd leave "Enable auto-transcoding" unchecked.
+For programs that are available on both kinds of cards you'd set the
+recording profile to Default and enable auto-transcoding in the record
+settings. Then you pick your transcoding profile. The result is that when
+a program is recorded on your DVB card, it will get transcoded. When it
+plays on a channel available via your PVR card, it won't be.</P>
+
+<H3>Manual Transcoding</H3>
+
+<P>Manually transcoding is activated while watching a show by hitting 'x',
+from the OSD menu by choosing the Transcode option, or by choosing Job
+Options/Transcode from the info menu from the Watch or Delete
+Recordings screens.</P>
+<P>The transcoding profile used for manual transcoding is whatever was set when
+the recording was originally configured, even if you didn't enable
+auto-transcoding. The only way to change what transcoding profile will be
+used is to alter the transcoder column in the recorded table in the
+database. The transcoder column contains a number which corresponds with
+the id column in the recordingprofiles table. You can find out the id
+number for each profile in the transcoder group with an SQL command like:</P>
+<P>
+<BLOCKQUOTE><CODE>
+<PRE>
+mysql> select r.* from recordingprofiles r,profilegroups p where p.name='Transcoders' and p.id=r.profilegroup;
++----+----------------+------------+------------+--------------+
+| id | name | videocodec | audiocodec | profilegroup |
++----+----------------+------------+------------+--------------+
+| 21 | RTjpeg/MPEG4 | MPEG-4 | MP3 | 6 |
+| 22 | MPEG2 | MPEG-4 | MP3 | 6 |
+| 27 | High Quality | MPEG-4 | MP3 | 6 |
+| 28 | Medium Quality | MPEG-4 | MP3 | 6 |
+| 29 | Low Quality | MPEG-4 | MP3 | 6 |
++----+----------------+------------+------------+--------------+
+5 rows in set (0.01 sec)
+
+mysql>
+</PRE>
+</CODE></BLOCKQUOTE>
+</P>
+<P>Armed with the knowledge of what the profile ID's are you can also choose to
+run mythtranscode from the command line and explicitly specify the transcoder
+profile. Run <CODE>mythtranscode --help</CODE> for usage information.</P>
+
+<H2><A NAME="ss23.15">23.15</A> <A HREF="mythtv-HOWTO.html#toc23.15">Changing your hostname</A>
+</H2>
+
+<P>If you need to change the name of the computers used with MythTV you'll
+need to perform a sequence of steps. There are a number of pieces of
+information that MythTV keeps track of which are tied to the hostname of the
+box, so changing the hostname involves altering the name in the
+operating system and in the MySQL database. In the examples below, the old
+name of the system was "frontend1" and we're going to change it to
+"kidsroom".</P>
+<P>
+<FIGURE>
+<EPS FILE="stop.eps">
+<IMG SRC="stop.png">
+<CAPTION><B>NOTE</B>: Changing the hostname using direct SQL update commands will
+break things. You <EM>MUST</EM> use this indirect method.</CAPTION>
+</FIGURE>
+ </P>
+<P>1. Stop all backends. If you run <B>mythbackend</B> from a terminal
+session, press control-c. If your backends are started with an init
+script, you would do something like the following:
+<BLOCKQUOTE><CODE>
+<PRE>
+$ su
+# /etc/init.d/mythbackend stop
+</PRE>
+</CODE></BLOCKQUOTE>
+</P>
+<P>2. Change the hostname.</P>
+<P>For Red Hat and derived distributions, edit the
+<CODE>/etc/sysconfig/network</CODE> file. Look for
+<CODE>HOSTNAME=frontend1</CODE> and change this to
+<CODE>HOSTNAME=kidsroom</CODE> or whatever you'll be using. For other
+distributions, refer to the documentation, such as the
+<PRE>
+hostname(1)
+</PRE>
+ man page.</P>
+
+<P>To alter the
+hostname in the current session, run:
+<BLOCKQUOTE><CODE>
+<PRE>
+# hostname kidsroom
+</PRE>
+</CODE></BLOCKQUOTE>
+</P>
+<P>3. Dump the database.
+<BLOCKQUOTE><CODE>
+<PRE>
+$ mysqldump -u mythtv -pmythtv mythconverg -c > mythtv_backup.sql
+</PRE>
+</CODE></BLOCKQUOTE>
+</P>
+<P>4. Rename the host in the database. First, ensure that the new hostname
+you'll be using isn't already in the database.
+<BLOCKQUOTE><CODE>
+<PRE>
+$ grep kidsroom mythtv_backup.sql
+</PRE>
+</CODE></BLOCKQUOTE>
+
+Now we're actually going to change the name. The following should all be
+typed on the same line:
+<BLOCKQUOTE><CODE>
+<PRE>
+$ cat mythtv_backup.sql | sed s/\'frontend1\'/\'kidsroom\'/g >> mythtv_restore.sql
+</PRE>
+</CODE></BLOCKQUOTE>
+
+If you don't feel comfortable using <B>sed</B>, you can open the
+<CODE>mythtv_backup.sql</CODE> file in a text editor and perform a global search
+and replace. When saving the file, make sure you use the new name,
+<CODE>mythtv_restore.sql</CODE> or the rest of the steps below will fail.</P>
+<P>5. Drop and recreate the database.
+<BLOCKQUOTE><CODE>
+<PRE>
+$ mysql -u root
+mysql>drop database mythconverg;
+mysql>create database mythconverg;
+mysql>exit
+</PRE>
+</CODE></BLOCKQUOTE>
+</P>
+<P>6. Restore the database using your edited version.
+<BLOCKQUOTE><CODE>
+<PRE>
+$ mysql -u mythtv -pmythtv mythconverg &lt; mythtv_restore.sql
+</PRE>
+</CODE></BLOCKQUOTE>
+</P>
+<P>If you are running slave backends or frontends, don't forget to re-enable
+access as detailed in
+<A HREF="mythtv-HOWTO-6.html#modify_perm_mysql">Modifying access to the MySQL database for multiple systems</A>. </P>
+<P>7. Start the backends. If you use init scripts, do the following, otherwise
+start them from terminal consoles.
+<BLOCKQUOTE><CODE>
+<PRE>
+# /etc/init.d/mythbackend start
+</PRE>
+</CODE></BLOCKQUOTE>
+</P>
+<P>8. Quit and restart all frontends. Delete the <CODE>mythtv_backup.sql</CODE>
+and <CODE>mythtv_restore.sql</CODE> files.</P>
+
+<H2><A NAME="ss23.16">23.16</A> <A HREF="mythtv-HOWTO.html#toc23.16">Can I run MythTV on my TiVo?</A>
+</H2>
+
+<H2><A NAME="ss23.17">23.17</A> <A HREF="mythtv-HOWTO.html#toc23.17">Can I run MythTV on my ReplayTV?</A>
+</H2>
+
+<P>No.</P>
+<P>While it is true that the TiVo runs the Linux kernel, and TiVo has released
+their changes to the kernel under the GPL, the TiVo is <EM>not</EM> a
+general-purpose computer, and there is no programming information available
+for the custom hardware contained within a TiVo. TiVo is under no
+obligation to release the source code to their <EM>application</EM>.</P>
+<P>The ReplayTV runs VxWorks, a Real Time Operating System from Wind River
+Systems.</P>
+<H2><A NAME="ss23.18">23.18</A> <A HREF="mythtv-HOWTO.html#toc23.18">Can a wireless connection be used between the frontend and the backend?</A>
+</H2>
+
+<P>Yes, assuming that your wireless connection has sufficient bandwidth to
+maintain the datarate between the frontend and the backend. 802.11b should
+be sufficient if the encoded bitrate of the content is less than the
+datarate of your wireless connection, which in the case of 802.11b would be
+approximately 4 Mbps. (The advertised rate of 11Mbps gives an actual
+throughput of 4 Mbps.) 802.11a and 802.11g, if operating in their high-speed
+modes, or proprietary 802.11b "Turbo" schemes should be adequate. Multiple
+wireless frontends, poor signal strength or other factors can severely
+impact the viewing experience on the frontend.</P>
+
+<H2><A NAME="ss23.19">23.19</A> <A HREF="mythtv-HOWTO.html#toc23.19">How can I burn shows that I have recorded to a DVD?</A>
+</H2>
+
+<P>Use the mytharchive plugin.</P>
+
+<H2><A NAME="ss23.20">23.20</A> <A HREF="mythtv-HOWTO.html#toc23.20">Using the DBoxII within MythTV</A>
+</H2>
+
+<P>The configuration of the DBoxII for use within MythTV is tricky (as of
+May 16 2005), that's why it's covered here. Your DBoxII has to be running
+linux and the Neutrino GUI instead of the stock BetaNova firmware. For
+further information, please refer to
+<A HREF="http://www.tuxbox.org">http://www.tuxbox.org</A>. Additionally, you need to enable the SPTS
+mode in Neutrino.</P>
+<P>
+<UL>
+<LI>Add a new "Capture Card" in the setup. The "Card type" is "DBOX2 Input",
+the other values have to be adjusted according to your setup.
+The default values, except for the "DBOX2 host ip", should work fine.</LI>
+<LI>Define a new video source. It doesn't need to be configured,
+you just need to define it. MythTV grabs the EPG from the DBoxII.</LI>
+<LI>Connect the DBoxII to the newly defined input source in "input connections".</LI>
+<LI>Since channel scanning is not implemented yet, you need to define channels
+in the "Channel Editor". Make sure that you use the same value for
+"Channel Name" as on the DBoxII. You can get a list of available
+channels from the web interface of Neutrino at http://ip-of-your-box:80/.
+Associate the channel with your new video source and repeat when needed.</LI>
+</UL>
+</P>
+<P>You may leave the Setup now and proceed as usual.</P>
+
+<H2><A NAME="ss23.21">23.21</A> <A HREF="mythtv-HOWTO.html#toc23.21">What do the icons on the Watch Recordings screen mean?</A>
+</H2>
+
+<P>Press "1" or F1 to get a popup.</P>
+<H2><A NAME="ss23.22">23.22</A> <A HREF="mythtv-HOWTO.html#toc23.22">What do the letters mean when I change channels?</A>
+</H2>
+
+<P>These letters let you know what's going on with the backend as it tries
+to tune to a channel.</P>
+<P>Lower case = seen</P>
+<P>Upper Case = seen &amp; good
+<UL>
+<LI>l/L = Lock : This could be seen by PVR-250/BTTV users</LI>
+<LI>a/A = PAT : Any recording transmitted in MPEG </LI>
+<LI>m/M = PMT : Any recording transmitted in MPEG </LI>
+<LI>g/G = MGT : ATSC only</LI>
+<LI>v/V = VCT : ATSC only</LI>
+<LI>n/N = NIT : DVB only</LI>
+<LI>s/S = SDT : DVB only</LI>
+</UL>
+</P>
+<H2><A NAME="ss23.23">23.23</A> <A HREF="mythtv-HOWTO.html#toc23.23">What is the difference between the various Hauppauge PVR models?</A>
+</H2>
+
+<P>This is covered in the hardware section, and extensively covered on the
+Hauppauge website. (
+<A HREF="http://www.hauppauge.com/pages/compare_pvr.html">http://www.hauppauge.com/pages/compare_pvr.html</A>) Please check the
+Hauppauge website for the most accurate information.</P>
+<P>A PVR-150 comes in a number of versions:
+<UL>
+<LI>The PVR-150 (Model 1045) is the retail kit. It comes with a remote
+control and an IR Blaster. It does not have a radio tuner.</LI>
+<LI>The PVR-150 MCE (Model 1042) will usually come in a plain white box and is
+sold as an OEM device. It does not come with a remote control, since it's
+usually used as the second, third, etc capture device.</LI>
+<LI>The PVR-150 MCE Kit (Model 1062) does not have a radio tuner and
+comes with a Microsoft Media Center remote control instead of Hauppauge's.</LI>
+<LI>The PVR-150 low profile (Model 1086) is a low-profile card. It has a
+radio tuner and is approximately half the height of a standard card.
+However, it comes with a low-profile PCI bracket, so it is not suitable for
+use in a standard PCI slot without removing the bracket, which may not be
+worth the trouble.</LI>
+</UL>
+</P>
+<P>A PVR-250 (Model 980) is a retail kit which comes with an IR receiver and a
+remote control.</P>
+<P>The PVR-250 MCE (Model 975) contains a FM radio tuner. The PVR-250 MCE does
+not contain a IR receiver or a remote.</P>
+<P>The PVR-250 Rev 1 contained an MPEG-2 decoder. However, this function was
+not connected to any output jacks, and there doesn't appear to be any way to
+pull decoded video from the card, so it's a fairly useless feature.</P>
+<P>The PVR-350 (model 990) has the features of the PVR-250 as well as being
+able to decode MPEG-2. The encode and decode functions may be used
+simultaneously. The MPEG-2 decoder function gives superior video quality
+compared to what you'll find on a standard video card. However, the decoder
+function is only available once Linux has started, so you will not see any
+boot-time messages. Also, the card is not capable of resolutions higher
+than 720x480, so it cannot be used with HDTV. Make a conscious decision
+(and ask for advice on the mailing list) that you want to tradeoff potential
+HDTV use in the future compared to video quality.</P>
+<P>The X-driver for the PVR-350 support playback using Xv efficiently but does
+not support any other 2D or 3D acceleration. For some application this may
+place a large load on the host CPU, some will run without any problem and
+others (mplayer, xine, xmame etc.) should be configured to utilize the Xv
+interface.</P>
+<P>Note that for the PVR-350 there are some
+<A HREF="mythtv-HOWTO-3.html#PVR-350">considerations</A>
+regarding the way audio is handled.</P>
+<P>The PVR-500 is a dual-encoder version of the PVR-150 card, so you can
+simultaneously record two different programs at the same time, because there
+are two encoder chips on the PCI card. Hauppuage has also installed an
+onboard splitter, so you can use one COAX to feed both tuners. Current
+versions of the PVR-500 should come with an adapter to allow you to connect
+a second S-Video or composite input, but this will take up a second PCI
+slot. Early adopters may need to purchase this item separately.</P>
+
+<H2><A NAME="ss23.24">23.24</A> <A HREF="mythtv-HOWTO.html#toc23.24">Changing channels on an external Set Top Box</A>
+</H2>
+
+<P>If you need to use an external Set Top Box (STB), such as for satellite
+TV or for digital cable you will need some way for MythTV to tell the STB to
+switch to a new channel. There are several methods:
+<OL>
+<LI>Use an IR blaster. An IR blaster is an infrared transmitter connected
+to your computer. When MythTV needs to change channels it will send IR
+pulses, thereby emulating a remote control.</LI>
+<LI>Use a direct serial connection. Some STB's have a serial port on the
+back, although it may not look like a serial port. It may look like a phone
+jack, or a strange VGA connector. It may be labeled "Low Speed Data". A
+direct serial connection is more reliable than an IR blaster. Not all STB's
+that have a Low Speed Data port have it enabled; you may need to convince
+your service provider to turn it on. Stating that you have a Tivo may help;
+the Tivo has a direct-connect capability.</LI>
+<LI>Use a firewire connection. There is a <CODE>6200ch.c</CODE> in the MythTV
+contrib directory which may work for you.</LI>
+</OL>
+</P>
+<H2><A NAME="ss23.25">23.25</A> <A HREF="mythtv-HOWTO.html#toc23.25">Configuring one machine to flag all commercials</A>
+</H2>
+
+<P>Commercial flagging can be CPU intensive. By default, the backend that
+created a recording is the one which will flag commercials. You may wish to
+use a different machine to run commercial flagging.</P>
+<P>On the slower machine:</P>
+<P>Start the mythtv-setup program. Advance through the pages until you get to
+the Job Queue page. Turn off the setting that says "Allow Commercial
+Detection jobs", thereby preventing any commercial flagging jobs from
+running on this machine.</P>
+<P>Next, make sure that "Run Jobs only on original recording host" is turned
+OFF so that new jobs are allowed to run anywhere.</P>
+<P>Restart <B>mythbackend</B> since it only reads this setting when it starts
+up.</P>
+<P>On the faster machine:</P>
+<P>Start the <B>mythtv-setup</B> program. Advance through the pages until
+you get to the Job Queue page. Ensure that "Allow Commercial Detection
+jobs" is turned ON for this machine.</P>
+<P>Run <B>mythjobqueue</B>. <B>mythjobqueue</B> will examine the JobQueue
+and run any jobs it finds. <B>mythjobqueue</B> should be left running so
+that it will pick up any new commercial flagging jobs that are added to the
+queue, otherwise new jobs will be added to the queue and your programs won't
+be flagged until you run manually run <B>mythjobqueue</B>.</P>
+<P>Using this technique it's possible to add commercial flagging machines as
+needed, even on systems that aren't running a backend. It's also possible
+to run the commercial flagger in a virtual machine environment such as
+VMWare.</P>
+
+<HR>
+<A HREF="mythtv-HOWTO-24.html">Next</A>
+<A HREF="mythtv-HOWTO-22.html">Previous</A>
+<A HREF="mythtv-HOWTO.html#toc23">Contents</A>
+</BODY>
+</HTML>