aboutsummaryrefslogtreecommitdiff
path: root/en_US.ISO8859-1/books/handbook/multimedia/chapter.xml
diff options
context:
space:
mode:
Diffstat (limited to 'en_US.ISO8859-1/books/handbook/multimedia/chapter.xml')
-rw-r--r--en_US.ISO8859-1/books/handbook/multimedia/chapter.xml1055
1 files changed, 464 insertions, 591 deletions
diff --git a/en_US.ISO8859-1/books/handbook/multimedia/chapter.xml b/en_US.ISO8859-1/books/handbook/multimedia/chapter.xml
index 529bd216e4..bdcac98391 100644
--- a/en_US.ISO8859-1/books/handbook/multimedia/chapter.xml
+++ b/en_US.ISO8859-1/books/handbook/multimedia/chapter.xml
@@ -6,6 +6,7 @@
-->
<chapter id="multimedia">
+ <!--
<chapterinfo>
<authorgroup>
<author>
@@ -15,6 +16,7 @@
</author>
</authorgroup>
</chapterinfo>
+ -->
<title>Multimedia</title>
@@ -30,9 +32,10 @@
recorded audio, adding sound effects, and controlling attached
MIDI devices.</para>
- <para>&os; also supports the playback of video files and DVDs.
- The &os; Ports Collection contains applications to encode,
- convert, and playback various video media.</para>
+ <para>&os; also supports the playback of video files and
+ <acronym>DVD</acronym>s. The &os; Ports Collection contains
+ applications to encode, convert, and playback various video
+ media.</para>
<para>This chapter describes how to configure sound cards, video
playback, TV tuner cards, and scanners on &os;. It also
@@ -43,7 +46,7 @@
<itemizedlist>
<listitem>
- <para>Configure a sound card on os;.</para>
+ <para>Configure a sound card on &os;.</para>
</listitem>
<listitem>
@@ -59,12 +62,13 @@
</listitem>
<listitem>
- <para>Playback DVDs, <filename>.mpg</filename>, and
- <filename>.avi</filename> files.</para>
+ <para>Play <acronym>DVD</acronym>s, <filename>.mpg</filename>,
+ and <filename>.avi</filename> files.</para>
</listitem>
<listitem>
- <para>Rip CD and DVD content into files.</para>
+ <para>Rip CD and <acronym>DVD</acronym> content into
+ files.</para>
</listitem>
<listitem>
@@ -78,79 +82,65 @@
<listitem>
<para>Configure an image scanner.</para>
</listitem>
-
- <listitem>
- <para>How to configure an image scanner.</para>
- </listitem>
</itemizedlist>
<para>Before reading this chapter, you should:</para>
<itemizedlist>
- <listitem><para>Know how to configure and install a new kernel
- (<xref linkend="kernelconfig"/>).</para></listitem>
+ <listitem><para>Know how to install applications as described in
+ <xref linkend="ports"/>.</para></listitem>
</itemizedlist>
-
- <warning>
- <para>Audio CDs have specialized encodings which differ from the
- usual ISO-filesystem. This means that they should not be
- mounted using &man.mount.8;.</para>
- </warning>
-
</sect1>
<sect1 id="sound-setup">
+ <!--
<sect1info>
<authorgroup>
<author>
<firstname>Moses</firstname>
<surname>Moore</surname>
- <contrib>Contributed by </contrib>
- <!-- 20 November 2000 -->
+ <contrib>Contributed by in November 2000</contrib>
</author>
</authorgroup>
<authorgroup>
<author>
<firstname>Marc</firstname>
<surname>Fonvieille</surname>
- <contrib>Enhanced by </contrib>
- <!-- 13 September 2004 -->
+ <contrib>Enhanced by in September 2004</contrib>
</author>
</authorgroup>
</sect1info>
+ -->
<title>Setting Up the Sound Card</title>
- <sect2 id="sound-device">
- <title>Configuring the System</title>
+ <indexterm><primary>PCI</primary></indexterm>
+ <indexterm><primary>sound cards</primary></indexterm>
+ <para>Before beginning the configuration, determine the model of
+ the sound card and the chip it uses. &os; supports a wide
+ variety of sound cards. Check the supported audio devices
+ list of the <ulink url="&rel.current.hardware;">Hardware
+ Notes</ulink> to see if the card is supported and which &os;
+ driver it uses.</para>
- <indexterm><primary>PCI</primary></indexterm>
- <indexterm><primary>sound cards</primary></indexterm>
- <para>Before beginning the configuration, determine the model of
- the sound card and the chip it uses. &os; supports a wide
- variety of sound cards. Check the supported audio devices
- list of the <ulink url="&rel.current.hardware;">Hardware
- Notes</ulink> to see if the card is supported and which &os;
- driver it uses.</para>
-
- <indexterm>
- <primary>kernel</primary>
- <secondary>configuration</secondary>
- </indexterm>
+ <indexterm>
+ <primary>kernel</primary>
+ <secondary>configuration</secondary>
+ </indexterm>
- <para>In order to use the sound device, the proper device driver
- must be loaded. This may be accomplished in one of two ways.
- The easiest way is to load a kernel module for the sound card
- with &man.kldload.8;. This example loads the driver for a
- Creative &soundblaster; Live! sound card:</para>
+ <para>In order to use the sound device, its device driver must be
+ loaded. The easiest way is to load a kernel module for the
+ sound card with &man.kldload.8;. This example loads the driver
+ for a built-in audio chipset based on the Intel
+ specification:</para>
- <screen>&prompt.root; <userinput>kldload snd_emu10k1</userinput></screen>
+ <screen>&prompt.root; <userinput>kldload snd_hda</userinput></screen>
<para>To automate the loading of this driver at boot time, add the
driver to <filename>/boot/loader.conf</filename>. The line for
this driver is:</para>
- <programlisting>snd_emu10k1_load="YES"</programlisting>
+ <programlisting>snd_hda_load="YES"</programlisting>
<para>Other available sound modules are listed in
<filename>/boot/defaults/loader.conf</filename>. When unsure
@@ -169,32 +159,29 @@
after loading the <filename>snd_driver</filename> metadriver,
type <command>cat /dev/sndstat</command>.</para>
- <para>Users who prefer to statically compile in support for the
- sound card in a custom kernel should refer to the instructions
- in the next section. For more information about recompiling a
- kernel, refer to <xref linkend="kernelconfig"/>.</para>
+ <sect2>
+ <title>Configuring a Custom Kernel with Sound Support</title>
- <sect3>
- <title>Configuring a Custom Kernel with Sound Support</title>
+ <para>This section is for users who prefer to statically compile
+ in support for the sound card in a custom kernel. For more
+ information about recompiling a kernel, refer to <xref
+ linkend="kernelconfig"/>.</para>
- <para>When using a custom kernel to provide sound support, make
- sure that the audio framework driver exists in the custom kernel
- configuration file:</para>
+ <para>When using a custom kernel to provide sound support, make
+ sure that the audio framework driver exists in the custom
+ kernel configuration file:</para>
- <programlisting>device sound</programlisting>
+ <programlisting>device sound</programlisting>
- <para>Next, add support for the sound card. Therefore, you need
- to know which driver supports the card. To continue the example
- of the Creative &soundblaster; Live! sound card from the
- previous section, use the following line in the custom kernel
- configuration file:</para>
+ <para>Next, add support for the sound card. To continue the
+ example of the built-in audio chipset based on the Intel
+ specification from the previous section, use the following
+ line in the custom kernel configuration file:</para>
- <programlisting>device snd_emu10k1</programlisting>
+ <programlisting>device snd_hda</programlisting>
<para>Be sure to read the manual page of the driver for the
- syntax to use. The explicit syntax for the kernel
- configuration of every supported sound driver can also be
- found in <filename>/usr/src/sys/conf/NOTES</filename>.</para>
+ device name to use for the driver.</para>
<para>Non-PnP ISA sound cards may require the IRQ and I/O port
settings of the card to be added to
@@ -231,77 +218,87 @@ hint.sbc.0.flags="0x15"</programlisting>
cases, the IRQ or other settings may need to be changed to
match the card. Refer to &man.snd.sbc.4; for more information
about this card.</para>
- </sect3>
- </sect2>
+ </sect2>
- <sect2 id="sound-testing">
- <title>Testing the Sound Card</title>
+ <sect2 id="sound-testing">
+ <title>Testing Sound</title>
- <para>After rebooting into the custom kernel, or after loading
- the required module, the sound card should appear in the system
- message buffer. Run &man.dmesg.8; and look for a message
- like:</para>
+ <para>After loading the required module or rebooting into the
+ custom kernel, the sound card should be detected. To confirm,
+ run <command>dmesg | grep pcm</command>. This example is
+ from a system with a built-in Conexant CX20590 chipset:</para>
- <screen>pcm0: &lt;Intel ICH3 (82801CA)&gt; port 0xdc80-0xdcbf,0xd800-0xd8ff irq 5 at device 31.5 on pci0
-pcm0: [GIANT-LOCKED]
-pcm0: &lt;Cirrus Logic CS4205 AC97 Codec&gt;</screen>
+ <screen>pcm0: &lt;NVIDIA (0x001c) (HDMI/DP 8ch)&gt; at nid 5 on hdaa0
+pcm1: &lt;NVIDIA (0x001c) (HDMI/DP 8ch)&gt; at nid 6 on hdaa0
+pcm2: &lt;Conexant CX20590 (Analog 2.0+HP/2.0)&gt; at nid 31,25 and 35,27 on hdaa1</screen>
- <para>The status of the sound card may also be checked using this
- command:</para>
+ <para>The status of the sound card may also be checked using
+ this command:</para>
- <screen>&prompt.root; <userinput>cat /dev/sndstat</userinput>
-FreeBSD Audio Driver (newpcm)
+ <screen>&prompt.root; <userinput>cat /dev/sndstat</userinput>
+FreeBSD Audio Driver (newpcm: 64bit 2009061500/amd64)
Installed devices:
-pcm0: &lt;Intel ICH3 (82801CA)&gt; at io 0xd800, 0xdc80 irq 5 bufsz 16384
-kld snd_ich (1p/2r/0v channels duplex default)</screen>
-
- <para>The output may vary between systems. If no
- <devicename>pcm</devicename> devices are listed, go back and
- review the kernel configuration file and make sure the correct
- device driver was chosen. Common problems are listed in <xref
- linkend="troubleshooting"/>.</para>
-
- <para>If all goes well, the sound card should now work in os;. If
- the CD-ROM or DVD-ROM drive's audio-out pins are properly
- connected to the sound card, one can insert an audio CD in the
- drive and play it with &man.cdcontrol.1;:</para>
+pcm0: &lt;NVIDIA (0x001c) (HDMI/DP 8ch)&gt; (play)
+pcm1: &lt;NVIDIA (0x001c) (HDMI/DP 8ch)&gt; (play)
+pcm2: &lt;Conexant CX20590 (Analog 2.0+HP/2.0)&gt; (play/rec) default</screen>
+
+ <para>The output will vary depending upon the sound card. If no
+ <devicename>pcm</devicename> devices are listed, double-check
+ that the correct device driver was loaded or compiled into the
+ kernel. The next section lists some common problems and their
+ solutions.</para>
+
+ <para>If all goes well, the sound card should now work in os;.
+ If the <acronym>CD</acronym> or <acronym>DVD</acronym> drive
+ is properly connected to the sound card, one can insert an
+ audio CD in the drive and play it with
+ &man.cdcontrol.1;:</para>
<screen>&prompt.user; <userinput>cdcontrol -f /dev/acd0 play 1</userinput></screen>
- <para>Various applications, such as <filename
- role="package">audio/workman</filename> provide a friendlier
- interface. The <filename role="package">audio/mpg123</filename>
- port can be installed to listen to MP3 audio files.</para>
+ <warning>
+ <para>Audio CDs have specialized encodings which means that
+ they should not be mounted using &man.mount.8;.</para>
+ </warning>
- <para>Another quick way to test the card is to send data to
- <filename>/dev/dsp</filename>:</para>
+ <para>Various applications, such as <filename
+ role="package">audio/workman</filename>, provide a
+ friendlier interface. The <filename
+ role="package">audio/mpg123</filename> port can be installed
+ to listen to MP3 audio files.</para>
- <screen>&prompt.user; <userinput>cat <replaceable>filename</replaceable> &gt; /dev/dsp</userinput></screen>
+ <para>Another quick way to test the card is to send data to
+ <devicename>/dev/dsp</devicename>:</para>
- <para>where
- <filename><replaceable>filename</replaceable></filename> can
- be any file. This command should produce some noise, confirming
- that the sound card is actually working.</para>
+ <screen>&prompt.user; <userinput>cat <replaceable>filename</replaceable> &gt; /dev/dsp</userinput></screen>
- <note>
- <para>The <devicename>/dev/dsp*</devicename> device nodes will
- be created automatically as needed. When not in use, they
- do not exist and will not appear in the output of
- &man.ls.1;.</para>
- </note>
+ <para>where
+ <filename><replaceable>filename</replaceable></filename> can
+ be any type of file. This command should produce some noise,
+ confirming that the sound card is working.</para>
- <para>Sound card mixer levels can be changed using &man.mixer.8;.
- More details can be found in &man.mixer.8;.</para>
+ <note>
+ <para>The <devicename>/dev/dsp*</devicename> device nodes will
+ be created automatically as needed. When not in use, they
+ do not exist and will not appear in the output of
+ &man.ls.1;.</para>
+ </note>
+ </sect2>
- <sect3 id="troubleshooting">
- <title>Common Problems</title>
+ <sect2 id="troubleshooting">
+ <title>Troubleshooting Sound</title>
<indexterm><primary>device nodes</primary></indexterm>
<indexterm><primary>I/O port</primary></indexterm>
<indexterm><primary>IRQ</primary></indexterm>
<indexterm><primary>DSP</primary></indexterm>
- <informaltable frame="none" pgwide="1">
+ <para>Table 8.1 lists some common error messages and their
+ solutions:</para>
+
+ <table frame="none" pgwide="1">
+ <title>Common Error Messages</title>
+
<tgroup cols="2">
<thead>
<row>
@@ -335,22 +332,21 @@ kld snd_ich (1p/2r/0v channels duplex default)</screen>
<row>
<entry><errorname>xxx: can't open
/dev/dsp!</errorname></entry>
- <entry><para>Check with <command>fstat | grep
- dsp</command> if another application is holding the
- device open. Noteworthy troublemakers are
+ <entry><para>Type <command>fstat | grep
+ dsp</command> to check if another application is
+ holding the device open. Noteworthy troublemakers are
<application>esound</application> and
<application>KDE</application>'s sound
support.</para></entry>
</row>
</tbody>
</tgroup>
- </informaltable>
+ </table>
- <para>Another issue is that modern graphics cards often come
- with their own sound driver, for use with
- <acronym>HDMI</acronym> and similar. This sound device will
- sometimes be enumerated before the sound card and the sound
- card will subsequently not be used as the default playback
+ <para>Modern graphics cards often come with their own sound
+ driver for use with <acronym>HDMI</acronym>. This sound
+ device is sometimes enumerated before the sound card meaning
+ that the sound card will not be used as the default playback
device. To check if this is the case, run
<application>dmesg</application> and look for
<literal>pcm</literal>. The output looks something like
@@ -374,25 +370,26 @@ pcm6: &lt;HDA Realtek ALC889 PCM #2 Digital&gt; at cad 2 nid 1 on hdac1
pcm7: &lt;HDA Realtek ALC889 PCM #3 Digital&gt; at cad 2 nid 1 on hdac1
...</programlisting>
- <para>Here the graphics card (<literal>NVidia</literal>) has
- been enumerated before the sound card (<literal>Realtek
- ALC889</literal>). To use the sound card as the default
- playback device, change <varname>hw.snd.default_unit</varname>
- to the unit that should be used for playback:</para>
+ <para>In this example, the graphics card
+ (<literal>NVidia</literal>) has been enumerated before the
+ sound card (<literal>Realtek ALC889</literal>). To use the
+ sound card as the default playback device, change
+ <varname>hw.snd.default_unit</varname> to the unit that should
+ be used for playback:</para>
<screen>&prompt.root; <userinput>sysctl hw.snd.default_unit=<replaceable>n</replaceable></userinput></screen>
- <para>Here, <literal>n</literal> is the number of the sound
+ <para>where <literal>n</literal> is the number of the sound
device to use. In this example, it should be
<literal>4</literal>. Make this change permanent by adding
the following line to
<filename>/etc/sysctl.conf</filename>:</para>
<programlisting>hw.snd.default_unit=<replaceable>4</replaceable></programlisting>
- </sect3>
</sect2>
<sect2 id="sound-multiple-sources">
+ <!--
<sect2info>
<authorgroup>
<author>
@@ -402,35 +399,32 @@ pcm7: &lt;HDA Realtek ALC889 PCM #3 Digital&gt; at cad 2 nid 1 on hdac1
</author>
</authorgroup>
</sect2info>
+ -->
<title>Utilizing Multiple Sound Sources</title>
<para>It is often desirable to have multiple sources of sound that
- are able to play simultaneously. &os; uses <emphasis>Virtual
- Sound Channels</emphasis>, which can be enabled using
- &man.sysctl.8;. Virtual channels allow one to multiplex the
+ are able to play simultaneously. &os; uses <quote>Virtual
+ Sound Channels</quote> to multiplex the
sound card's playback by mixing sound in the kernel.</para>
- <para>To set the number of virtual channels, three
- &man.sysctl.8; knobs are available:</para>
+ <para>Three &man.sysctl.8; knobs are available for configuring
+ virtual channels:</para>
<screen>&prompt.root; <userinput>sysctl dev.pcm.0.play.vchans=4</userinput>
&prompt.root; <userinput>sysctl dev.pcm.0.rec.vchans=4</userinput>
&prompt.root; <userinput>sysctl hw.snd.maxautovchans=4</userinput></screen>
- <para>The above example allocates four virtual channels, which
- is a practical number for everyday use. Both
+ <para>This example allocates four virtual channels, which is a
+ practical number for everyday use. Both
<varname>dev.pcm.0.play.vchans=4</varname> and
- <varname>dev.pcm.0.rec.vchans=4</varname> are the number of
- virtual channels <devicename>pcm0</devicename> has for playback
- and recording, and are configurable after a device has been
- attached. <literal>hw.snd.maxautovchans</literal> is the number
- of virtual channels a new audio device is given when it is
- attached using &man.kldload.8;. Since the
- <devicename>pcm</devicename> module can be loaded independently
- of the hardware drivers, <varname>hw.snd.maxautovchans</varname>
- indicates how many virtual channels will be given to devices
- when they are attached. Refer to &man.pcm.4; for more
- information.</para>
+ <varname>dev.pcm.0.rec.vchans=4</varname> are configurable after
+ a device has been attached and represent the number of virtual
+ channels <devicename>pcm0</devicename> has for playback and
+ recording. Since the <devicename>pcm</devicename> module can be
+ loaded independently of the hardware drivers,
+ <varname>hw.snd.maxautovchans</varname> indicates how many
+ virtual channels will be given to an audio device when it is
+ attached. Refer to &man.pcm.4; for more information.</para>
<note>
<para>The number of virtual channels for a device cannot be
@@ -445,6 +439,7 @@ pcm7: &lt;HDA Realtek ALC889 PCM #3 Digital&gt; at cad 2 nid 1 on hdac1
</sect2>
<sect2>
+ <!--
<sect2info>
<authorgroup>
<author>
@@ -454,16 +449,16 @@ pcm7: &lt;HDA Realtek ALC889 PCM #3 Digital&gt; at cad 2 nid 1 on hdac1
</author>
</authorgroup>
</sect2info>
+ -->
<title>Setting Default Values for Mixer Channels</title>
<para>The default values for the different mixer channels are
- hardcoded in the source code of the &man.pcm.4; driver. There
- are many different applications and daemons that allow values to
- be set for the mixer that are remembered between invocations,
- but this is not a clean solution. It is possible to set default
- mixer values at the driver level. This is accomplished by
- defining the appropriate values in
+ hardcoded in the source code of the &man.pcm.4; driver. While
+ sound card mixer levels can be changed using &man.mixer.8; or
+ third-party applications and daemons, this is not a permanent
+ solution. To instead set default mixer values at the driver
+ level, define the appropriate values in
<filename>/boot/device.hints</filename>, as seen in this
example:</para>
@@ -476,16 +471,17 @@ pcm7: &lt;HDA Realtek ALC889 PCM #3 Digital&gt; at cad 2 nid 1 on hdac1
</sect1>
<sect1 id="sound-mp3">
+ <!--
<sect1info>
<authorgroup>
<author>
<firstname>Chern</firstname>
<surname>Lee</surname>
- <contrib>Contributed by </contrib>
+ <contrib>Contributed by in Sept 2001</contrib>
</author>
</authorgroup>
- <!-- 11 Sept 2001 -->
</sect1info>
+ -->
<title>MP3 Audio</title>
@@ -705,7 +701,7 @@ MPEG 1.0 layer III, 128 kbit/s, 44100 Hz joint-stereo</screen>
<acronym>MP3</acronym> into raw PCM audio data. Both of these
formats can be used with <application>cdrecord</application>
to create audio CDs, whereas &man.burncd.8; requires a raw
- Pulse-Code Modulation (<acronym>PCM</acronym>. When using
+ Pulse-Code Modulation (<acronym>PCM</acronym>). When using
<acronym>WAV</acronym> files, there will be a small tick
sound at the beginning of each track. This sound is the
header of the <acronym>WAV</acronym> file. One can remove the
@@ -721,48 +717,49 @@ MPEG 1.0 layer III, 128 kbit/s, 44100 Hz joint-stereo</screen>
</sect1>
<sect1 id="video-playback">
+ <!--
<sect1info>
<authorgroup>
<author>
<firstname>Ross</firstname>
<surname>Lippert</surname>
- <contrib>Contributed by </contrib>
+ <contrib>Contributed by in June 2002</contrib>
</author>
</authorgroup>
- <!-- 5 June 2002 -->
</sect1info>
+ -->
<title>Video Playback</title>
- <para>Before configuring video playback, determine the model
- of the video card and the chip it uses. While
+ <para>Before configuring video playback, determine the model and
+ chipset of the video card. While
<application>&xorg;</application> supports a wide variety of
- video cards, fewer give good playback performance. To obtain
- a list of extensions supported by the
+ video cards, not all provide good playback performance. To
+ obtain a list of extensions supported by the
<application>&xorg;</application> server using the card, run
- &man.xdpyinfo.1; while <application>&xorg;</application> is
- running.</para>
+ <command>xdpyinfo</command> while
+ <application>&xorg;</application> is running.</para>
<para>It is a good idea to have a short MPEG test file for
- evaluating various players and options. Since some DVD
- applications look for DVD media in <filename
+ evaluating various players and options. Since some
+ <acronym>DVD</acronym> applications look for
+ <acronym>DVD</acronym> media in <filename
class="directory">/dev/dvd</filename> by default, or have this
- device name hardcoded in them, it might be useful to make
- symbolic links to the proper devices:</para>
+ device name hardcoded in them, it might be useful to make a
+ symbolic links to the proper device:</para>
- <screen>&prompt.root; <userinput>ln -sf /dev/acd0 /dev/dvd</userinput>
-&prompt.root; <userinput>ln -sf /dev/acd0 /dev/rdvd</userinput></screen>
+ <screen>&prompt.root; <userinput>ln -sf /dev/cd0 /dev/dvd</userinput></screen>
<para>Due to the nature of &man.devfs.5;, manually created links
- will not persist after a system reboot. In order to create the
- symbolic links automatically when the system boots, add the
- following lines to <filename>/etc/devfs.conf</filename>:</para>
+ will not persist after a system reboot. In order to recreate
+ the symbolic link automatically when the system boots, add the
+ following line to <filename>/etc/devfs.conf</filename>:</para>
- <programlisting>link acd0 dvd
-link acd0 rdvd</programlisting>
+ <programlisting>link cd0 dvd</programlisting>
- <para>DVD decryption invokes special DVD-ROM functions and
- requires write permission on the DVD devices.</para>
+ <para><acronym>DVD</acronym> decryption invokes certain functions
+ that require write permission to the <acronym>DVD</acronym>
+ device.</para>
<para>To enhance the shared memory
<application>&xorg;</application> interface, it is
@@ -780,7 +777,7 @@ kern.ipc.shmall=32768</programlisting>
<indexterm><primary>DGA</primary></indexterm>
<para>There are several possible ways to display video under
- <application>&xorg;</application>. What works is largely
+ <application>&xorg;</application> and what works is largely
hardware dependent. Each method described below will have
varying quality across different hardware.</para>
@@ -794,41 +791,55 @@ kern.ipc.shmall=32768</programlisting>
<listitem>
<para>XVideo: an extension to the
- <application>&xorg;</application> interface which supports
- video in any drawable object.</para>
+ <application>&xorg;</application> interface which
+ allows video to be directly displayed in drawable objects
+ through a special acceleration. This extension provides
+ good quality playback even on low-end machines. The next
+ section describes how to determine if this extension is
+ running.</para>
</listitem>
<listitem>
- <para><acronym>SDL</acronym>: the Simple Directmedia
- Layer.</para>
+ <para><acronym>SDL</acronym>: the Simple Directmedia Layer is
+ a porting layer for many operating systems, allowing
+ cross-platform applications to be developed which make
+ efficient use of sound and graphics. <acronym>SDL</acronym>
+ provides a low-level abstraction to the hardware which can
+ sometimes be more efficient than the
+ <application>&xorg;</application> interface. On &os;,
+ <acronym>SDL</acronym> can be installed using the <filename
+ role="package">devel/sdl20</filename> package or
+ port.</para>
</listitem>
<listitem>
- <para><acronym>DGA</acronym>: the Direct Graphics
- Access.</para>
+ <para><acronym>DGA</acronym>: the Direct Graphics Access is an
+ <application>&xorg;</application> extension which allows a
+ program to bypass the <application>&xorg;</application>
+ server and directly alter the framebuffer. Because it
+ relies on a low level memory mapping, programs using it must
+ be run as <username>root</username>. The
+ <acronym>DGA</acronym> extension can be tested and
+ benchmarked using &man.dga.1;. When <command>dga</command>
+ is running, it changes the colors of the display whenever a
+ key is pressed. To quit, press <keycap>q</keycap>.</para>
</listitem>
<listitem>
- <para>SVGAlib: low level console graphics layer.</para>
+ <para>SVGAlib: a low level console graphics layer.</para>
</listitem>
</orderedlist>
<sect3 id="video-interface-xvideo">
<title>XVideo</title>
- <para><application>&xorg;</application> has an extension called
- <emphasis>XVideo</emphasis>, also known as Xvideo, Xv, and xv.
- It allows video to be directly displayed in drawable objects
- through a special acceleration. This extension provides
- good quality playback even on low-end machines.</para>
-
- <para>To check whether the extension is running, use
+ <para>To check whether this extension is running, use
<command>xvinfo</command>:</para>
<screen>&prompt.user; <userinput>xvinfo</userinput></screen>
- <para>XVideo is supported for the card if the result looks
- like:</para>
+ <para>XVideo is supported for the card if the result is similar
+ to:</para>
<screen>X-Video Extension version 2.2
screen #0
@@ -899,57 +910,22 @@ kern.ipc.shmall=32768</programlisting>
depth: 1
red, green, blue masks: 0x0, 0x0, 0x0</screen>
- <para>The formats listed, such as YUV2 and YUV12, are not present
- with every implementation of XVideo and their absence may hinder
- some players.</para>
+ <para>The formats listed, such as YUV2 and YUV12, are not
+ present with every implementation of XVideo and their absence
+ may hinder some players.</para>
- <para>If the result looks like:</para>
+ <para>If the result instead looks like:</para>
- <screen>X-Video Extension version 2.2
+ <screen>X-Video Extension version 2.2
screen #0
no adaptors present</screen>
- <para>XVideo is probably not supported for the card. This means
- that it will be more difficult for the display to meet the
- computational demands of rendering video. Depending on the
- video card and processor, one might still be able to have a
- satisfying experience.</para>
-
- </sect3>
-
- <sect3 id="video-interface-SDL">
- <title>Simple Directmedia Layer</title>
-
- <para>The Simple Directmedia Layer, SDL, is a
- porting layer for many operating systems
- allowing cross-platform applications to be developed which make
- efficient use of sound and graphics. The SDL layer provides a
- low-level abstraction to the hardware which can sometimes be
- more efficient than the <application>&xorg;</application>
- interface.</para>
-
- <para><acronym>SDL</acronym> can be installed using the <filename
- role="package">devel/sdl12</filename> package or port.</para>
-
- </sect3>
-
- <sect3 id="video-interface-DGA">
- <title>Direct Graphics Access</title>
-
- <para><acronym>DGA</acronym> is an
- <application>&xorg;</application> extension which allows a
- program to bypass the <application>&xorg;</application> server
- and directly alter the framebuffer. Because it relies on a low
- level memory mapping, programs using it must be run as
- <username>root</username>.</para>
-
- <para>The <acronym>DGA</acronym> extension can be tested and
- benchmarked using &man.dga.1;. When <command>dga</command> is
- running, it changes the colors of the display whenever a key is
- pressed. To quit, press <keycap>q</keycap>.</para>
-
- </sect3>
-</sect2>
+ <para>XVideo is probably not supported for the card. This means
+ that it will be more difficult for the display to meet the
+ computational demands of rendering video, depending on the
+ video card and processor.</para>
+ </sect3>
+ </sect2>
<sect2 id="video-ports">
<title>Ports and Packages Dealing with Video</title>
@@ -961,258 +937,164 @@ no adaptors present</screen>
the &os; Ports Collection which can be used for video
playback.</para>
- <para>Many of the video applications which run on &os; were
- developed as &linux; applications. Many of these applications
- are still beta-quality. Some of the problems commonly
- encountered with video packages on &os; include:</para>
+ <sect3 id="video-mplayer">
+ <title><application>MPlayer</application> and
+ <application>MEncoder</application></title>
- <orderedlist>
+ <para><application>MPlayer</application> is a command-line video
+ player with an optional graphical interface which aims to
+ provide speed and flexibility. Other graphical front-ends to
+ <application>MPlayer</application> are available from the &os;
+ Ports Collection.</para>
+
+ <indexterm><primary>MPlayer</primary></indexterm>
+
+ <para><application>MPlayer</application> can be installed using
+ the <filename role="package">multimedia/mplayer</filename>
+ package or port. Several compile options are available and a
+ variety of hardware checks occur during the build process.
+ For these reasons, some users prefer to build the port rather
+ than install the package.</para>
+
+ <para>When compiling the port, the menu options should be
+ reviewed to determine the type of support to compile into the
+ port. If an option is not selected,
+ <application>MPlayer</application> will not be able to
+ display that type of video format. Use the arrow keys and
+ spacebar to select the required formats. When finished,
+ press <keycap>Enter</keycap> to continue the port compile
+ and installation.</para>
+
+ <para>By default, the package or port will build the
+ <command>mplayer</command> command line utility and the
+ <command>gmplayer</command> graphical utility. To encode
+ videos, compile the <filename
+ role="package">multimedia/mencoder</filename> port. Due to
+ licensing restrictions, a package is not available for
+ <application>MEncoder</application>.</para>
+
+ <para>The first time <application>MPlayer</application> is run,
+ it will create <filename
+ class="directory">~/.mplayer</filename> in the user's home
+ directory. This subdirectory contains default versions of
+ the user-specific configuration files.</para>
+
+ <para>This section describes only a few common uses. Refer to
+ mplayer(1) for a complete description of its numerous
+ options.</para>
+
+ <para>To play the file
+ <filename><replaceable>testfile.avi</replaceable></filename>,
+ specify the video interfaces with <option>-vo</option>, as
+ seen in the following examples:</para>
+
+ <screen>&prompt.user; <userinput>mplayer -vo xv <replaceable>testfile.avi</replaceable></userinput></screen>
+
+ <screen>&prompt.user; <userinput>mplayer -vo sdl <replaceable>testfile.avi</replaceable></userinput></screen>
+
+ <screen>&prompt.user; <userinput>mplayer -vo x11 <replaceable>testfile.avi</replaceable></userinput></screen>
+
+ <screen>&prompt.root; <userinput>mplayer -vo dga <replaceable>testfile.avi</replaceable></userinput></screen>
+
+ <screen>&prompt.root; <userinput>mplayer -vo 'sdl:dga' <replaceable>testfile.avi</replaceable></userinput></screen>
+
+ <para>It is worth trying all of these options, as their
+ relative performance depends on many factors and will vary
+ significantly with hardware.</para>
+
+ <para>To play a <acronym>DVD</acronym>, replace
+ <filename><replaceable>testfile.avi</replaceable></filename>
+ with <option>dvd://<replaceable>N</replaceable> -dvd-device
+ <replaceable>DEVICE</replaceable></option>, where
+ <replaceable>N</replaceable> is the title number to play and
+ <replaceable>DEVICE</replaceable> is the device node for the
+ <acronym>DVD</acronym>. For example, to play title 3 from
+ <devicename>/dev/dvd</devicename>:</para>
+
+ <screen>&prompt.root; <userinput>mplayer -vo xv dvd://3 -dvd-device /dev/dvd</userinput></screen>
- <listitem>
- <para>An application cannot playback a file which another
- application produced.</para>
- </listitem>
+ <note>
+ <para>The default <acronym>DVD</acronym> device can be defined
+ during the build of the <application>MPlayer</application>
+ port by including the
+ <makevar>WITH_DVD_DEVICE=/path/to/desired/device</makevar>
+ option. By default, the device is
+ <filename>/dev/cd0</filename>. More details can be found in
+ the port's <filename>Makefile.options</filename>.</para>
+ </note>
- <listitem>
- <para>An application cannot playback a file which the
- application itself produced.</para>
- </listitem>
+ <para>To stop, pause, advance, and so on, use a keybinding. To
+ see the list of keybindings, run <command>mplayer
+ -h</command> or read mplayer(1).</para>
- <listitem>
- <para>The same application on two different machines,
- rebuilt on each machine for that machine, plays back the
- same file differently.</para>
- </listitem>
+ <para>Additional playback options include <option>-fs
+ -zoom</option>, which engages fullscreen mode, and
+ <option>-framedrop</option>, which helps performance.</para>
- <listitem>
- <para>A seemingly trivial filter, like rescaling of the image
- size, results in bad artifacts from a buggy rescaling
- routine.</para>
- </listitem>
+ <para>Each user can add commonly used options to their
+ <filename>~/.mplayer/config</filename> like so:</para>
- <listitem>
- <para>An application frequently dumps core.</para>
- </listitem>
+ <programlisting>vo=xv
+fs=yes
+zoom=yes</programlisting>
- <listitem>
- <para>Documentation is not installed with the port and can be
- found either on the web or under the port's <filename
- class='directory'>work</filename>
- directory.</para>
- </listitem>
+ <para><command>mplayer</command> can be used to rip a
+ <acronym>DVD</acronym> title to a <filename>.vob</filename>.
+ To dump the second title from a <acronym>DVD</acronym>:</para>
- </orderedlist>
+ <screen>&prompt.root; <userinput>mplayer -dumpstream -dumpfile out.vob dvd://2 -dvd-device /dev/dvd</userinput></screen>
- <para>Many applications may also exhibit
- <quote>&linux;-isms</quote>. There may be issues resulting from
- the way some standard libraries are implemented in the &linux;
- distributions, or some features of the &linux; kernel which have
- been assumed by the authors of the applications. These issues
- are not always noticed and worked around by the port
- maintainers, which can lead to problems like these:</para>
+ <para>The output file, <filename>out.vob</filename>, will be in
+ <acronym>MPEG</acronym> format.</para>
- <orderedlist>
- <listitem>
- <para>The use of <filename>/proc/cpuinfo</filename> to detect
- processor characteristics.</para>
- </listitem>
+ <para>Anyone wishing to obtain a high level of expertise with
+ &unix; video should consult <ulink
+ url="http://www.mplayerhq.hu/DOCS/">mplayerhq.hu/DOCS</ulink>
+ as it is technically informative. This documentation should
+ be considered as required reading before submitting any bug
+ reports.</para>
- <listitem>
- <para>A misuse of threads which causes a program to hang upon
- completion instead of truly terminating.</para>
- </listitem>
+ <indexterm>
+ <primary>mencoder</primary>
+ </indexterm>
- <listitem>
- <para>Relies on software which is not yet available in the
- &os; Ports Collection.</para>
- </listitem>
- </orderedlist>
+ <para>Before using <command>mencoder</command>, it is a good
+ idea to become familiar with the options described at
+ <ulink
+ url="http://www.mplayerhq.hu/DOCS/HTML/en/mencoder.html">mplayerhq.hu/DOCS/HTML/en/mencoder.html</ulink>.
+ There are innumerable ways to improve quality, lower bitrate,
+ and change formats, and some of these options may make the
+ difference between good or bad performance. Improper
+ combinations of command line options can yield output files
+ that are unplayable even by <command>mplayer</command>.</para>
- <sect3 id="video-mplayer">
- <title>MPlayer</title>
+ <para>Here is an example of a simple copy:</para>
- <para><application>MPlayer</application> is a command-line video
- player with an optional graphical interface which aims to
- provide speed and flexibility. This application, as well as
- other graphical front-ends, is available from the &os; Ports
- Collection.</para>
+ <screen>&prompt.user; <userinput>mencoder <replaceable>input.avi</replaceable> -oac copy -ovc copy -o <replaceable>output.avi</replaceable></userinput></screen>
- <sect4 id="video-mplayer-building">
- <title>Building MPlayer</title>
-
- <indexterm><primary>MPlayer</primary>
- <secondary>making</secondary></indexterm>
-
- <para><application>MPlayer</application> is available as a
- package or port in <filename
- role="package">multimedia/mplayer</filename>. Several
- compile options are available and a variety of hardware
- checks occur during the build process. For these reasons,
- some users prefer to build the port rather than install the
- package. The available options will be displayed in a
- menu after these commands are input:</para>
-
- <screen>&prompt.root; <userinput>cd /usr/ports/multimedia/mplayer</userinput>
-&prompt.root; <userinput>make</userinput></screen>
-
- <para>The menu options should be reviewed to determine the
- type of support to compile into the port. If an option is
- not selected, <application>MPlayer</application> will not be
- able to display that type of video format. Use the arrow
- keys and spacebar to select the required formats. When
- finished, press <keycap>Enter</keycap> to continue the port
- compile and installation.</para>
-
- <para>By default, this package or port will build the
- <command>mplayer</command> command line utility and the
- <command>gmplayer</command> graphical utility. To encode
- videos, install the <filename
- role="package">multimedia/mencoder</filename> port. Due
- to licensing restrictions, a package is not available for
- <command>MEncoder</command>.</para>
-
- </sect4>
-
- <sect4 id="video-mplayer-using">
- <title>Using MPlayer</title>
-
- <indexterm><primary>MPlayer</primary>
- <secondary>use</secondary></indexterm>
-
- <para>The first time <application>MPlayer</application> is
- run, it will create <filename
- class="directory">~/.mplayer</filename> in the user's
- home directory. This subdirectory contains default versions
- of the user-specific configuration files.</para>
-
- <para>This section describes only a few common uses. Refer
- to the <command>mplayer</command> manual page for a complete
- description of its numerous options.</para>
-
- <para>To play the file
- <filename><replaceable>testfile.avi</replaceable></filename>,
- specify the video interfaces with
- <option>-vo</option>:</para>
-
- <screen>&prompt.user; <userinput>mplayer -vo xv <replaceable>testfile.avi</replaceable></userinput></screen>
-
- <screen>&prompt.user; <userinput>mplayer -vo sdl <replaceable>testfile.avi</replaceable></userinput></screen>
-
-<screen>&prompt.user; <userinput>mplayer -vo x11 <replaceable>testfile.avi</replaceable></userinput></screen>
-
-<screen>&prompt.root; <userinput>mplayer -vo dga <replaceable>testfile.avi</replaceable></userinput></screen>
-
-<screen>&prompt.root; <userinput>mplayer -vo 'sdl:dga' <replaceable>testfile.avi</replaceable></userinput></screen>
-
- <para>It is worth trying all of these options, as their
- relative performance depends on many factors and will vary
- significantly with hardware.</para>
-
- <para>To play a DVD, replace the
- <filename><replaceable>testfile.avi</replaceable></filename>
- with <option>dvd://<replaceable>N</replaceable> -dvd-device
- <replaceable>DEVICE</replaceable></option>, where
- <replaceable>N</replaceable> is the title number to play
- and <filename><replaceable>DEVICE</replaceable></filename>
- is the device node for the DVD-ROM. For example, to play
- title 3 from <devicename>/dev/dvd</devicename>:</para>
-
- <screen>&prompt.root; <userinput>mplayer -vo xv dvd://3 -dvd-device /dev/dvd</userinput></screen>
-
- <note>
- <para>The default DVD device can be defined during the build
- of the <application>MPlayer</application> port by
- including the
- <makevar>WITH_DVD_DEVICE=/path/to/desired/device</makevar>
- option. By default, the device is
- <filename>/dev/acd0</filename>. More details can be found
- in the port's
- <filename>Makefile.options</filename>.</para>
- </note>
-
- <para>To stop, pause, advance, and so on, consult the
- keybindings, which are displayed by running <command>mplayer
- -h</command>, or read the manual page.</para>
-
- <para>Additional playback options include
- <option>-fs -zoom</option>, which engages fullscreen mode,
- and <option>-framedrop</option>, which helps
- performance.</para>
-
- <para>Each user can add commonly used options to their
- <filename>~/.mplayer/config</filename> like so:</para>
-
- <programlisting>vo=xv
-fs=yes
-zoom=yes</programlisting>
+ <para>To rip to a file, use <option>-dumpfile</option> with
+ <command>mplayer</command>.</para>
- <para><command>mplayer</command> can be used to rip a DVD
- title to a <filename>.vob</filename>. To dump the second
- title from a DVD:</para>
-
- <screen>&prompt.root; <userinput>mplayer -dumpstream -dumpfile out.vob dvd://2 -dvd-device /dev/dvd</userinput></screen>
-
- <para>The output file, <filename>out.vob</filename>, will be
- MPEG and can be manipulated by the other packages described
- in this section.</para>
-
- <para>The <ulink url="http://www.mplayerhq.hu/DOCS/">MPlayer
- documentation</ulink> is technically informative and
- should be consulted by anyone wishing to obtain a high level
- of expertise with &unix; video. The
- <application>MPlayer</application> mailing list is hostile
- to anyone who has not bothered to read the documentation, so
- before making a bug report, read the documentation
- first.</para>
-
- </sect4>
- <sect4 id="video-mencoder">
- <title><application>MEncoder</application></title>
-
- <indexterm>
- <primary>mencoder</primary>
- </indexterm>
-
- <para>Before using <command>mencoder</command>, it is a good
- idea to become familiar with the options described in the
- <ulink
- url="http://www.mplayerhq.hu/DOCS/HTML/en/mencoder.html">HTML
- documentation</ulink>. There are innumerable ways to
- improve quality, lower bitrate, and change formats, and some
- of these options may make the difference between good or bad
- performance. Improper combinations of command line options
- can yield output files that are unplayable even by
- <command>mplayer</command>.</para>
-
- <para>Here is an example of a simple copy:</para>
-
- <screen>&prompt.user; <userinput>mencoder <replaceable>input.avi</replaceable> -oac copy -ovc copy -o <replaceable>output.avi</replaceable></userinput></screen>
-
- <para>To rip to a file, use <option>-dumpfile</option> with
- <command>mplayer</command>.</para>
-
- <para>To convert
- <filename><replaceable>input.avi</replaceable></filename>
- to the MPEG4 codec with MPEG3 audio encoding, first install
- the <filename role="package">audio/lame</filename> port.
- Due to licensing restrictions, a package is not available.
- Once installed, type:</para>
-
- <screen>&prompt.user; <userinput>mencoder <replaceable>input.avi</replaceable> -oac mp3lame -lameopts br=192 \
- -ovc lavc -lavcopts vcodec=mpeg4:vhq -o <replaceable>output.avi</replaceable></userinput></screen>
+ <para>To convert
+ <filename><replaceable>input.avi</replaceable></filename> to
+ the MPEG4 codec with MPEG3 audio encoding, first install the
+ <filename role="package">audio/lame</filename> port. Due to
+ licensing restrictions, a package is not available. Once
+ installed, type:</para>
- <para>This will produce output playable by applications such
- as <command>mplayer</command> and
- <command>xine</command>.</para>
+ <screen>&prompt.user; <userinput>mencoder <replaceable>input.avi</replaceable> -oac mp3lame -lameopts br=192 \
+ -ovc lavc -lavcopts vcodec=mpeg4:vhq -o <replaceable>output.avi</replaceable></userinput></screen>
- <para><filename><replaceable>input.avi</replaceable></filename>
- can be replaced with <option>dvd://1 -dvd-device
- /dev/dvd</option> and run as <username>root</username>
- to re-encode a DVD title directly. Since it may take a few
- tries to get the desired result, it is recommended to dump
- the title to a file and to work on the file.</para>
- </sect4>
+ <para>This will produce output playable by applications such as
+ <command>mplayer</command> and <command>xine</command>.</para>
+ <para><filename><replaceable>input.avi</replaceable></filename>
+ can be replaced with <option>dvd://1 -dvd-device
+ /dev/dvd</option> and run as <username>root</username> to
+ re-encode a <acronym>DVD</acronym> title directly. Since it
+ may take a few tries to get the desired result, it is
+ recommended to instead dump the title to a file and to work on
+ the file.</para>
</sect3>
<sect3 id="video-xine">
@@ -1234,40 +1116,35 @@ zoom=yes</programlisting>
to open a specific file.</para>
<para>Alternatively, <application>xine</application> may be
- invoked to play a file immediately without the graphical
- interface:</para>
-
- <screen>&prompt.user; <userinput>xine</userinput></screen>
-
- <para>Alternatively, it may be invoked to play a file
- immediately without the GUI with the command:</para>
+ invoked from the command line
+ by specifying the name of the file to play:</para>
<screen>&prompt.user; <userinput>xine -g -p <replaceable>mymovie.avi</replaceable></userinput></screen>
- <para>The <ulink
- url="http://dvd.sourceforge.net/xine-howto/en_GB/html/howto.html">
- xine HOWTO</ulink> contains a chapter on performance
- improvement which is general to all players.</para>
+ <para>Refer to <ulink
+ url="http://www.xine-project.org/faq">
+ xine-project.org/faq</ulink> for more information and
+ troubleshooting tips.</para>
</sect3>
<sect3 id="video-ports-transcode">
- <title>The <application>transcode</application>
+ <title>The <application>Transcode</application>
Utilities</title>
- <para><application>transcode</application> provides a suite of
+ <para><application>Transcode</application> provides a suite of
tools for re-encoding video and audio files.
- <application>transcode</application> can be used to merge
+ <application>Transcode</application> can be used to merge
video files or repair broken files using command line tools
- with <filename>stdin/stdout</filename> stream
+ with stdin/stdout stream
interfaces.</para>
- <para><application>transcode</application> can be installed
- using the <filename
+ <para>In &os;, <application>Transcode</application> can be
+ installed using the <filename
role="package">multimedia/transcode</filename> package or
port. Many users prefer to compile the port as it provides a
menu of compile options for specifying the support and codecs
to compile in. If an option is not selected,
- <application>transcode</application> will not be able to
+ <application>Transcode</application> will not be able to
encode that format. Use the arrow keys and spacebar to select
the required formats. When finished, press
<keycap>Enter</keycap> to continue the port compile and
@@ -1276,27 +1153,29 @@ zoom=yes</programlisting>
<para>This example demonstrates how to convert a DivX file into
a PAL MPEG-1 file (PAL VCD):</para>
- <screen>&prompt.user; <userinput>transcode -i
+ <screen>&prompt.user; <userinput>transcode -i
<replaceable>input.avi</replaceable> -V --export_prof vcd-pal -o output_vcd</userinput>
&prompt.user; <userinput>mplex -f 1 -o <replaceable>output_vcd.mpg output_vcd.m1v output_vcd.mpa</replaceable></userinput></screen>
- <para>The resulting MPEG file,
- <filename><replaceable>output_vcd.mpg</replaceable></filename>,
- is ready to be played with <application>MPlayer</application>.
- The file can be burned on a CD-R media to create a Video CD. In
- this, install and use the <filename
- role="package">multimedia/vcdimager</filename> and <filename
- role="package">sysutils/cdrdao</filename> programs.</para>
-
- <para>In addition to the manual page for
- <command>transcode</command>, refer to the <ulink
- url="http://www.transcoding.org/cgi-bin/transcode">transcode
- wiki</ulink> for further information and examples.</para>
- </sect3>
-</sect2>
+ <para>The resulting <acronym>MPEG</acronym> file,
+ <filename><replaceable>output_vcd.mpg</replaceable></filename>,
+ is ready to be played with <application>MPlayer</application>.
+ The file can be burned on a <acronym>CD</acronym> media to
+ create a video <acronym>CD</acronym> using a utility such as
+ <filename
+ role="package">multimedia/vcdimager</filename> or <filename
+ role="package">sysutils/cdrdao</filename>.</para>
+
+ <para>In addition to the manual page for
+ <command>transcode</command>, refer to <ulink
+ url="http://www.transcoding.org/cgi-bin/transcode">transcoding.org/cgi-bin/transcode</ulink>
+ for further information and examples.</para>
+ </sect3>
+ </sect2>
</sect1>
<sect1 id="tvcard">
+ <!--
<sect1info>
<authorgroup>
<author>
@@ -1309,31 +1188,28 @@ zoom=yes</programlisting>
<author>
<firstname>Marc</firstname>
<surname>Fonvieille</surname>
- <contrib>Enhanced and adapted by </contrib>
- <!-- 02 January 2004 -->
+ <contrib>Enhanced and adapted by in January 2004</contrib>
</author>
</authorgroup>
</sect1info>
+ -->
- <title>Setting Up TV Cards</title>
+ <title>TV Cards</title>
<indexterm>
<primary>TV cards</primary>
</indexterm>
- <sect2>
- <title>Introduction</title>
+ <para>TV cards can be used to watch broadcast or cable TV on a
+ computer. Most cards accept composite video via an
+ <acronym>RCA</acronym> or S-video input and some cards include a
+ <acronym>FM</acronym> radio tuner.</para>
- <para>TV cards allow can be used to watch broadcast or cable TV on
- a computer. Most cards accept composite video via an RCA or
- S-video input and some cards include a FM radio tuner.</para>
-
- <para>&os; provides support for PCI-based TV cards using a
- Brooktree Bt848/849/878/879 or a Conexant CN-878/Fusion 878a
- video capture chip with the &man.bktr.4; driver. Ensure the
- board comes with a supported tuner. Consult &man.bktr.4; for a
- list of supported tuners.</para>
- </sect2>
+ <para>&os; provides support for PCI-based TV cards using a
+ Brooktree Bt848/849/878/879 video capture chip with the
+ &man.bktr.4; driver. This driver supports most Pinnacle PCTV
+ video cards. Before purchasing a TV card, consult &man.bktr.4; for
+ a list of supported tuners.</para>
<sect2>
<title>Loading the Driver</title>
@@ -1358,9 +1234,9 @@ device smbus</programlisting>
components are interconnected via an I2C bus. Then, build and
install a new kernel.</para>
- <para>To test the driver, reboot the system. The TV card
- should appear in the boot messages, as seen in this
- example:</para>
+ <para>To test that the tuner is correctly detected, reboot the
+ system. The TV card should appear in the boot messages, as
+ seen in this example:</para>
<programlisting>bktr0: &lt;BrookTree 848A&gt; mem 0xd7000000-0xd7000fff irq 10 at device 10.0 on pci0
iicbb0: &lt;I2C bit-banging driver&gt; on bti2c0
@@ -1369,11 +1245,10 @@ iicbus1: &lt;Philips I2C bus&gt; on iicbb0 master-only
smbus0: &lt;System Management Bus&gt; on bti2c0
bktr0: Pinnacle/Miro TV, Philips SECAM tuner.</programlisting>
- <para>The messages will differ according to the hardware. Check
- the messages to determine if the tuner is correctly detected.
- It is still possible to override some of the detected
- parameters with &man.sysctl.8; MIBs and kernel configuration
- file options. For example, to force the tuner to a Philips
+ <para>The messages will differ according to the hardware.
+ If necessary, it is possible to override some of the detected
+ parameters using &man.sysctl.8; or custom kernel configuration
+ options. For example, to force the tuner to a Philips
SECAM tuner, add the following line to a custom kernel
configuration file:</para>
@@ -1383,9 +1258,8 @@ bktr0: Pinnacle/Miro TV, Philips SECAM tuner.</programlisting>
<screen>&prompt.root; <userinput>sysctl hw.bt848.tuner=6</userinput></screen>
- <para>Refer to &man.bktr.4; and
- <filename>/usr/src/sys/conf/NOTES</filename> for more
- details on the available options.</para>
+ <para>Refer to &man.bktr.4; for a description of the available
+ &man.sysctl.8; parameters and kernel options.</para>
</sect2>
<sect2>
@@ -1418,11 +1292,11 @@ bktr0: Pinnacle/Miro TV, Philips SECAM tuner.</programlisting>
<sect2>
<title>Troubleshooting</title>
- <para>If any problems are encountered with the TV card,
- check that the video capture chip and the tuner are
- supported by &man.bktr.4; and that the right configuration
- options were used. For more support and various questions
- about TV cards, refer to the archives of the
+ <para>If any problems are encountered with the TV card, check
+ that the video capture chip and the tuner are supported by
+ &man.bktr.4; and that the right configuration options were
+ used. For more support or to ask questions
+ about supported TV cards, refer to the
&a.multimedia.name; mailing list.</para>
</sect2>
</sect1>
@@ -1430,68 +1304,66 @@ bktr0: Pinnacle/Miro TV, Philips SECAM tuner.</programlisting>
<sect1 id="mythtv">
<title>MythTV</title>
- <para>MythTV is a popular, open source <acronym
- role="Personal Video Recorder">PVR</acronym>
- application. This section demonstrates how to install and
- setup MythTV on &os;. Refer to the <ulink
- url="http://www.mythtv.org/wiki/">MythTV wiki</ulink> for
+ <para>MythTV is a popular, open source Personal Video Recorder
+ (<acronym>PVR</acronym>) application. This section demonstrates
+ how to install and setup MythTV on &os;. Refer to <ulink
+ url="http://www.mythtv.org/wiki/">mythtv.org/wiki</ulink> for
more information on how to use MythTV.</para>
- <para>MythTV requires a frontend and a backend; however,
- it allows the user to have the frontend and backend on
- different machines.</para>
-
- <para>For the frontend, <filename
- role="package">multimedia/mythtv-frontend</filename> is
- required, as well as an X server, which can be found in
- <filename role="package">x11/xorg</filename>. Ideally, the
- frontend computer also has a video card that supports <acronym
- role="X-Video Motion Compensation">XvMC</acronym> and,
- optionally, a <acronym role="Linux Infrared Remote
- Control">LIRC</acronym>-compatible remote.</para>
-
- <para>For the backend, <filename
- role="package">multimedia/mythtv</filename> is required,
- along with the &mysql; database server. Optionally a tuner
- and storage for any recorded data. The &mysql; package should
- be automatically installed as a dependency when installing
- <filename role="package">multimedia/mythtv</filename>.</para>
+ <para>MythTV requires a frontend and a backend. These
+ components can either be installed on the same system or on
+ different machines.</para>
+
+ <para>The frontend can be installed on &os; using the <filename
+ role="package">multimedia/mythtv-frontend</filename> package
+ or port. <application>&xorg;</application> must also be
+ installed and configured as described in <xref
+ linkend="x11"/>. Ideally, this system has a video card that
+ supports X-Video Motion Compensation
+ (<acronym>XvMC</acronym>) and, optionally, a Linux Infrared
+ Remote Control (<acronym>LIRC</acronym>)-compatible
+ remote.</para>
+
+ <para>To install both the backend and the frontend on &os;, use
+ the <filename role="package">multimedia/mythtv</filename>
+ package or port. A &mysql; database server is also required
+ and should automatically be installed as a dependency.
+ Optionally, this system should have a tuner card and
+ sufficient storage to hold recorded data.</para>
<sect2>
<title>Hardware</title>
- <para>MythTV is designed to utilize <acronym
- role="Video for Linux">V4L</acronym> to access video input
- devices such as encoders and tuners. At this time, MythTV
- works best with <acronym role="Universal Serial
- Bus">USB</acronym> DVB-S/C/T cards supported by <filename
- role="package">multimedia/webcamd</filename>, as it provides
- a <acronym
- role="Video for Linux">V4L</acronym> userland application.
- Any <acronym role="Digital Video Broadcasting">DVB</acronym>
- card supported by <application>webcamd</application> should
- work with MythTV. A list of known working cards can be
- found <ulink
- url="http://wiki.freebsd.org/WebcamCompat">here</ulink>.
+ <para>MythTV uses Video for Linux (<acronym>V4L</acronym>) to
+ access video input devices such as encoders and tuners. In
+ &os;, MythTV works best with <acronym>USB</acronym> DVB-S/C/T
+ cards as they are well supported by the <filename
+ role="package">multimedia/webcamd</filename> package or port
+ which provides a <acronym>V4L</acronym> userland application.
+ Any Digital Video Broadcasting (<acronym>DVB</acronym>) card
+ supported by <application>webcamd</application> should work
+ with MythTV. A list of known working cards can be found at
+ <ulink
+ url="http://wiki.freebsd.org/WebcamCompat">wiki.freebsd.org/WebcamCompat</ulink>.
Drivers are also available for Hauppauge cards in the
- following ports: <filename
+ <filename
role="package">multimedia/pvr250</filename> and <filename
- role="package">multimedia/pvrxxx</filename>, but they
+ role="package">multimedia/pvrxxx</filename> ports, but they
provide a non-standard driver interface that does not work
with versions of MythTV greater than 0.23. Due to licensing
restrictions, no packages are available and these two ports
must be compiled.</para>
- <para>The <ulink url="http://wiki.freebsd.org/HTPC">HTPC
- wiki page</ulink> contains a list of all available <acronym
- role="Digital Video Broadcasting">DVB</acronym>
+ <para>The <ulink
+ url="http://wiki.freebsd.org/HTPC">wiki.freebsd.org/HTPC</ulink>
+ page contains a list of all available <acronym>DVB</acronym>
drivers.</para>
</sect2>
<sect2>
- <title>Setting up MythTV</title>
+ <title>Setting up the MythTV Backend</title>
- <para>To install the MythTV port:</para>
+ <para>To install MythTV using the port:</para>
<screen>&prompt.root; <userinput>cd /usr/ports/multimedia/mythtv</userinput>
&prompt.root; <userinput>make install</userinput></screen>
@@ -1500,11 +1372,11 @@ bktr0: Pinnacle/Miro TV, Philips SECAM tuner.</programlisting>
<screen>&prompt.root; <userinput>mysql -uroot -p &lt; /usr/local/share/mythtv/database/mc.sql</userinput></screen>
- <para>Configure the backend:</para>
+ <para>Then, configure the backend:</para>
<screen>&prompt.root; <userinput>mythtv-setup</userinput></screen>
- <para>Start the backend:</para>
+ <para>Finally, start the backend:</para>
<screen>&prompt.root; <userinput>echo 'mythbackend_enable="YES"' &gt;&gt; /etc/rc.conf</userinput>
&prompt.root; <userinput>service mythbackend start</userinput></screen>
@@ -1512,16 +1384,17 @@ bktr0: Pinnacle/Miro TV, Philips SECAM tuner.</programlisting>
</sect1>
<sect1 id="scanners">
+ <!--
<sect1info>
<authorgroup>
<author>
<firstname>Marc</firstname>
<surname>Fonvieille</surname>
- <contrib>Written by </contrib>
- <!-- 04 August 2004 -->
+ <contrib>Written by in August 2004</contrib>
</author>
</authorgroup>
</sect1info>
+ -->
<title>Image Scanners</title>
@@ -1540,9 +1413,9 @@ bktr0: Pinnacle/Miro TV, Philips SECAM tuner.</programlisting>
<para>&os; supports both SCSI and USB scanners. Be sure the
scanner is supported by <application>SANE</application> prior
to performing any configuration. Refer to the <ulink
- url="http://www.sane-project.org/sane-supported-devices.html">
- supported devices list</ulink> for more information about supported
- scanners.</para>
+ url="http://www.sane-project.org/sane-supported-devices.html">
+ supported devices list</ulink> for more information about
+ supported scanners.</para>
<sect2>
<title>Kernel Configuration</title>
@@ -1584,7 +1457,7 @@ device ehci</programlisting>
<para>If the scanner uses a SCSI interface, it is important to
know which SCSI controller board it will use. Depending
upon the SCSI chipset, a custom kernel configuration file
- may be needed. The <filename>GENERIC</filename> kernel
+ may be needed. The <filename>GENERIC</filename> kernel
supports the most common SCSI controllers. Refer to
<filename>/usr/src/sys/conf/NOTES</filename> to determine
the correct line to add to a custom kernel configuration