diff options
author | Dru Lavigne <dru@FreeBSD.org> | 2014-04-21 18:12:05 +0000 |
---|---|---|
committer | Dru Lavigne <dru@FreeBSD.org> | 2014-04-21 18:12:05 +0000 |
commit | f7992b4006de3fdfe54cc1cfcd99bddce5328242 (patch) | |
tree | 35c6c5452c4887f39ea8885d13b9e52a059baae5 /en_US.ISO8859-1/books | |
parent | 3e5c6eb2ce61738aae7a769978e65e99cd2066c5 (diff) | |
download | doc-f7992b4006de3fdfe54cc1cfcd99bddce5328242.tar.gz doc-f7992b4006de3fdfe54cc1cfcd99bddce5328242.zip |
White space fix only. Translators can ignore.
Sponsored by: iXsystems
Notes
Notes:
svn path=/head/; revision=44617
Diffstat (limited to 'en_US.ISO8859-1/books')
-rw-r--r-- | en_US.ISO8859-1/books/handbook/multimedia/chapter.xml | 1163 |
1 files changed, 594 insertions, 569 deletions
diff --git a/en_US.ISO8859-1/books/handbook/multimedia/chapter.xml b/en_US.ISO8859-1/books/handbook/multimedia/chapter.xml index 0d265aadf6..4cc366e615 100644 --- a/en_US.ISO8859-1/books/handbook/multimedia/chapter.xml +++ b/en_US.ISO8859-1/books/handbook/multimedia/chapter.xml @@ -8,6 +8,7 @@ <info> <title>Multimedia</title> + <authorgroup> <author> <personname> @@ -66,8 +67,8 @@ </listitem> <listitem> - <para>Rip <acronym>CD</acronym> and <acronym>DVD</acronym> content into - files.</para> + <para>Rip <acronym>CD</acronym> and <acronym>DVD</acronym> + content into files.</para> </listitem> <listitem> @@ -138,7 +139,7 @@ <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 + driver to <filename>/boot/loader.conf</filename>. The line for this driver is:</para> <programlisting>snd_hda_load="YES"</programlisting> @@ -165,7 +166,8 @@ <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> + 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 @@ -209,10 +211,9 @@ hint.sbc.0.flags="0x15"</programlisting> <para>In this case, the card uses the <literal>0x220</literal> I/O port and the IRQ <literal>5</literal>.</para> - <para>The syntax used in - <filename>/boot/device.hints</filename> is described in - &man.sound.4; and the manual page for the driver of the sound - card.</para> + <para>The syntax used in <filename>/boot/device.hints</filename> + is described in &man.sound.4; and the manual page for the + driver of the sound card.</para> <para>The settings shown above are the defaults. In some cases, the IRQ or other settings may need to be changed to @@ -257,13 +258,15 @@ pcm2: <Conexant CX20590 (Analog 2.0+HP/2.0)> (play/rec) default</screen> <screen>&prompt.user; <userinput>cdcontrol -f /dev/acd0 play 1</userinput></screen> <warning> - <para>Audio <acronym>CD</acronym>s have specialized encodings which means that - they should not be mounted using &man.mount.8;.</para> + <para>Audio <acronym>CD</acronym>s have specialized encodings + which means that they should not be mounted using + &man.mount.8;.</para> </warning> - <para>Various applications, such as <package>audio/workman</package>, provide a - friendlier interface. The <package>audio/mpg123</package> port can be installed - to listen to MP3 audio files.</para> + <para>Various applications, such as + <package>audio/workman</package>, provide a friendlier + interface. The <package>audio/mpg123</package> port can be + installed to listen to MP3 audio files.</para> <para>Another quick way to test the card is to send data to <filename>/dev/dsp</filename>:</para> @@ -403,8 +406,8 @@ pcm7: <HDA Realtek ALC889 PCM #3 Digital> at cad 2 nid 1 on hdac1 <para>It is often desirable to have multiple sources of sound that 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> + Sound Channels</quote> to multiplex the sound card's playback + by mixing sound in the kernel.</para> <para>Three &man.sysctl.8; knobs are available for configuring virtual channels:</para> @@ -486,29 +489,28 @@ pcm7: <HDA Realtek ALC889 PCM #3 Digital> at cad 2 nid 1 on hdac1 </info> <para>This section describes some <acronym>MP3</acronym> - players available for &os;, how to rip audio <acronym>CD</acronym> tracks, and - how to encode and decode <acronym>MP3</acronym>s.</para> + players available for &os;, how to rip audio + <acronym>CD</acronym> tracks, and how to encode and decode + <acronym>MP3</acronym>s.</para> <sect2 xml:id="mp3-players"> <title>MP3 Players</title> <para>A popular graphical <acronym>MP3</acronym> player is - <application>XMMS</application>. - It supports <application>Winamp</application> - skins and additional plugins. The interface is intuitive, - with a playlist, graphic equalizer, and more. Those familiar - with <application>Winamp</application> will find + <application>XMMS</application>. It supports + <application>Winamp</application> skins and additional + plugins. The interface is intuitive, with a playlist, graphic + equalizer, and more. Those familiar with + <application>Winamp</application> will find <application>XMMS</application> simple to use. On &os;, - <application>XMMS</application> can be installed from - the <package>multimedia/xmms</package> port - or package.</para> + <application>XMMS</application> can be installed from the + <package>multimedia/xmms</package> port or package.</para> <para>The <package>audio/mpg123</package> package or port provides an alternative, command-line <acronym>MP3</acronym> - player. Once installed, specify - the <acronym>MP3</acronym> file to play on the - command line. If the system has multiple audio devices, the - sound device can also be specifed:</para> + player. Once installed, specify the <acronym>MP3</acronym> + file to play on the command line. If the system has multiple + audio devices, the sound device can also be specifed:</para> <screen>&prompt.root; <userinput>mpg123 <replaceable>-a /dev/dsp1.0 Foobar-GreatestHits.mp3</replaceable></userinput> High Performance MPEG 1.0/2.0/2.5 Audio Player for Layers 1, 2 and 3 @@ -525,50 +527,54 @@ MPEG 1.0 layer III, 128 kbit/s, 44100 Hz joint-stereo</screen> <sect2 xml:id="rip-cd"> <title>Ripping <acronym>CD</acronym> Audio Tracks</title> - <para>Before encoding a <acronym>CD</acronym> or <acronym>CD</acronym> track to - <acronym>MP3</acronym>, the audio data on the <acronym>CD</acronym> must be - ripped to the hard drive. This is done by copying the raw <acronym>CD</acronym> - Digital Audio (<acronym>CDDA</acronym>) data to - <acronym>WAV</acronym> files.</para> + <para>Before encoding a <acronym>CD</acronym> or + <acronym>CD</acronym> track to <acronym>MP3</acronym>, the + audio data on the <acronym>CD</acronym> must be ripped to the + hard drive. This is done by copying the raw + <acronym>CD</acronym> Digital Audio (<acronym>CDDA</acronym>) + data to <acronym>WAV</acronym> files.</para> <para>The <command>cdda2wav</command> tool, which is installed - with the <package>sysutils/cdrtools</package> - suite, can be used to rip audio information from + with the <package>sysutils/cdrtools</package> suite, can be + used to rip audio information from <acronym>CD</acronym>s.</para> - <para>With the audio <acronym>CD</acronym> in the drive, the following command can - be issued as <systemitem class="username">root</systemitem> to rip an entire <acronym>CD</acronym> - into individual, per track, <acronym>WAV</acronym> - files:</para> + <para>With the audio <acronym>CD</acronym> in the drive, the + following command can be issued as <systemitem + class="username">root</systemitem> to rip an entire + <acronym>CD</acronym> into individual, per track, + <acronym>WAV</acronym> files:</para> <screen>&prompt.root; <userinput>cdda2wav -D <replaceable>0,1,0</replaceable> -B</userinput></screen> - <para>In this example, the <option>-D <replaceable>0,1,0</replaceable></option> - indicates the <acronym>SCSI</acronym> device - <filename>0,1,0</filename> containing the <acronym>CD</acronym> to rip. - Use <command>cdrecord -scanbus</command> to determine the - correct device parameters for the system.</para> + <para>In this example, the <option>-D + <replaceable>0,1,0</replaceable></option> indicates the + <acronym>SCSI</acronym> device <filename>0,1,0</filename> + containing the <acronym>CD</acronym> to rip. Use + <command>cdrecord -scanbus</command> to determine the correct + device parameters for the system.</para> - <para>To rip individual tracks, use - <option>-t</option> to specify the track:</para> + <para>To rip individual tracks, use <option>-t</option> to + specify the track:</para> <screen>&prompt.root; <userinput>cdda2wav -D <replaceable>0,1,0</replaceable> -t 7</userinput></screen> - <para>To rip - a range of tracks, such as track one to seven, specify a - range:</para> + <para>To rip a range of tracks, such as track one to seven, + specify a range:</para> <screen>&prompt.root; <userinput>cdda2wav -D <replaceable>0,1,0</replaceable> -t 1+7</userinput></screen> <para>To rip from an <acronym>ATAPI</acronym> - (<acronym>IDE</acronym>) <acronym>CDROM</acronym> drive, specify the - device name in place of the <acronym>SCSI</acronym> unit numbers. For example, - to rip track 7 from an IDE drive:</para> + (<acronym>IDE</acronym>) <acronym>CDROM</acronym> drive, + specify the device name in place of the + <acronym>SCSI</acronym> unit numbers. For example, to rip + track 7 from an IDE drive:</para> <screen>&prompt.root; <userinput>cdda2wav -D <replaceable>/dev/acd0 -t 7</replaceable></userinput></screen> - <para>Alternately, <command>dd</command> can be used to extract audio tracks on - <acronym>ATAPI</acronym> drives, as described in <xref linkend="duplicating-audiocds"/>.</para> + <para>Alternately, <command>dd</command> can be used to extract + audio tracks on <acronym>ATAPI</acronym> drives, as described + in <xref linkend="duplicating-audiocds"/>.</para> </sect2> <sect2 xml:id="mp3-encoding"> @@ -577,49 +583,51 @@ MPEG 1.0 layer III, 128 kbit/s, 44100 Hz joint-stereo</screen> <para> <application>Lame</application> is a popular <acronym>MP3</acronym> encoder which can be installed from the - <package>audio/lame</package> port. Due to - patent issues, a package is not available.</para> + <package>audio/lame</package> port. Due to patent issues, a + package is not available.</para> <para>The following command will convert the ripped <acronym>WAV</acronym> file - <filename><replaceable>audio01.wav</replaceable></filename> - to + <filename><replaceable>audio01.wav</replaceable></filename> to <filename><replaceable>audio01.mp3</replaceable></filename>:</para> <screen>&prompt.root; <userinput>lame -h -b <replaceable>128</replaceable> --tt "<replaceable>Foo Song Title</replaceable>" --ta "<replaceable>FooBar Artist</replaceable>" --tl "<replaceable>FooBar Album</replaceable>" \ --ty "<replaceable>2014</replaceable>" --tc "<replaceable>Ripped and encoded by Foo</replaceable>" --tg "<replaceable>Genre</replaceable>" <replaceable>audio01.wav audio01.mp3</replaceable></userinput></screen> - <para>The specified 128 kbits is a standard <acronym>MP3</acronym> - bitrate while the 160 and 192 bitrates provide higher quality. - The higher the bitrate, the larger the size of the resulting - <acronym>MP3</acronym>. The <option>-h</option> turns on the - <quote>higher quality but a little slower</quote> mode. The - options beginning with <option>--t</option> indicate <acronym>ID3</acronym> tags, + <para>The specified 128 kbits is a standard + <acronym>MP3</acronym> bitrate while the 160 and 192 bitrates + provide higher quality. The higher the bitrate, the larger + the size of the resulting <acronym>MP3</acronym>. The + <option>-h</option> turns on the <quote>higher quality but a + little slower</quote> mode. The options beginning with + <option>--t</option> indicate <acronym>ID3</acronym> tags, which usually contain song information, to be embedded within the <acronym>MP3</acronym> file. Additional encoding options can be found in the <application>lame</application> manual page.</para> - <para>In order to burn an audio <acronym>CD</acronym> from <acronym>MP3</acronym>s, - they must first be converted to a non-compressed - file format. <application>XMMS</application> can be used to convert to the - <acronym>WAV</acronym> format, while - <application>mpg123</application> can be used to convert to the - raw Pulse-Code Modulation (<acronym>PCM</acronym>) audio data - format.</para> + <para>In order to burn an audio <acronym>CD</acronym> from + <acronym>MP3</acronym>s, they must first be converted to a + non-compressed file format. <application>XMMS</application> + can be used to convert to the <acronym>WAV</acronym> format, + while <application>mpg123</application> can be used to convert + to the raw Pulse-Code Modulation (<acronym>PCM</acronym>) + audio data format.</para> - <para>To convert <filename>audio01.mp3</filename> - using <application>mpg123</application>, specify the name of - the <acronym>PCM</acronym> file:</para> + <para>To convert <filename>audio01.mp3</filename> using + <application>mpg123</application>, specify the name of the + <acronym>PCM</acronym> file:</para> <screen>&prompt.root; <userinput>mpg123 -s <replaceable>audio01.mp3</replaceable> > <replaceable>audio01.pcm</replaceable></userinput></screen> - + <para>To use <application>XMMS</application> to convert a <acronym>MP3</acronym> to <acronym>WAV</acronym> format, use these steps:</para> <procedure> - <title>Converting to <acronym>WAV</acronym> Format in <application>XMMS</application></title> + <title>Converting to <acronym>WAV</acronym> Format in + <application>XMMS</application></title> + <step> <para>Launch <application>XMMS</application>.</para> </step> @@ -671,18 +679,20 @@ MPEG 1.0 layer III, 128 kbit/s, 44100 Hz joint-stereo</screen> <para>Both the <acronym>WAV</acronym> and <acronym>PCM</acronym> formats can be used with <application>cdrecord</application> - to create audio <acronym>CD</acronym>s, whereas <application>burncd</application> requires the + to create audio <acronym>CD</acronym>s, whereas + <application>burncd</application> requires the <acronym>PCM</acronym> format. 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. The - <package>audio/sox</package> port or package can be used to remove the - header:</para> + <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. The + <package>audio/sox</package> port or package can be used to + remove the header:</para> <screen>&prompt.user; <userinput>sox -t wav -r 44100 -s -w -c 2 <replaceable>track.wav track.raw</replaceable></userinput></screen> <para>Refer to <xref linkend="creating-cds"/> for more - information on using a <acronym>CD</acronym> burner in &os;.</para> + information on using a <acronym>CD</acronym> burner in + &os;.</para> </sect2> </sect1> @@ -701,7 +711,6 @@ MPEG 1.0 layer III, 128 kbit/s, 44100 Hz joint-stereo</screen> </authorgroup> </info> - <para>Before configuring video playback, determine the model and chipset of the video card. While <application>&xorg;</application> supports a wide variety of @@ -714,9 +723,9 @@ MPEG 1.0 layer III, 128 kbit/s, 44100 Hz joint-stereo</screen> <para>It is a good idea to have a short MPEG test file for evaluating various players and options. Since some <acronym>DVD</acronym> applications look for - <acronym>DVD</acronym> media in <filename>/dev/dvd</filename> by default, or have this - device name hardcoded in them, it might be useful to make a - symbolic links to the proper device:</para> + <acronym>DVD</acronym> media in <filename>/dev/dvd</filename> by + default, or have this 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/cd0 /dev/dvd</userinput></screen> @@ -732,85 +741,87 @@ MPEG 1.0 layer III, 128 kbit/s, 44100 Hz joint-stereo</screen> device.</para> <para>To enhance the shared memory - <application>&xorg;</application> interface, it is - recommended to increase the values of these &man.sysctl.8; + <application>&xorg;</application> interface, it is recommended + to increase the values of these &man.sysctl.8; variables:</para> <programlisting>kern.ipc.shmmax=67108864 kern.ipc.shmall=32768</programlisting> - <sect2 xml:id="video-interface"> - <title>Determining Video Capabilities</title> + <sect2 xml:id="video-interface"> + <title>Determining Video Capabilities</title> - <indexterm><primary>XVideo</primary></indexterm> - <indexterm><primary>SDL</primary></indexterm> - <indexterm><primary>DGA</primary></indexterm> + <indexterm><primary>XVideo</primary></indexterm> + <indexterm><primary>SDL</primary></indexterm> + <indexterm><primary>DGA</primary></indexterm> - <para>There are several possible ways to display video under - <application>&xorg;</application> and what works is largely - hardware dependent. Each method described below will have - varying quality across different hardware.</para> + <para>There are several possible ways to display video under + <application>&xorg;</application> and what works is largely + hardware dependent. Each method described below will have + varying quality across different hardware.</para> - <para>Common video interfaces include:</para> + <para>Common video interfaces include:</para> - <orderedlist> - <listitem> - <para><application>&xorg;</application>: normal output using - shared memory.</para> - </listitem> + <orderedlist> + <listitem> + <para><application>&xorg;</application>: normal output using + shared memory.</para> + </listitem> - <listitem> - <para>XVideo: an extension to the - <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>XVideo: an extension to the + <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 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 <package>devel/sdl20</package> package or - port.</para> - </listitem> + <listitem> + <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 + <package>devel/sdl20</package> package or port.</para> + </listitem> - <listitem> - <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 <systemitem class="username">root</systemitem>. 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><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 + <systemitem class="username">root</systemitem>. 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: a low level console graphics layer.</para> - </listitem> - </orderedlist> + <listitem> + <para>SVGAlib: a low level console graphics layer.</para> + </listitem> + </orderedlist> - <sect3 xml:id="video-interface-xvideo"> - <title>XVideo</title> + <sect3 xml:id="video-interface-xvideo"> + <title>XVideo</title> - <para>To check whether this extension is running, use - <command>xvinfo</command>:</para> + <para>To check whether this extension is running, use + <command>xvinfo</command>:</para> - <screen>&prompt.user; <userinput>xvinfo</userinput></screen> + <screen>&prompt.user; <userinput>xvinfo</userinput></screen> - <para>XVideo is supported for the card if the result is similar - to:</para> + <para>XVideo is supported for the card if the result is + similar to:</para> - <screen>X-Video Extension version 2.2 + <screen>X-Video Extension version 2.2 screen #0 Adaptor #0: "Savage Streams Engine" number of ports: 1 @@ -879,263 +890,272 @@ 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 instead 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.</para> - </sect3> - </sect2> - - <sect2 xml:id="video-ports"> - <title>Ports and Packages Dealing with Video</title> - - <indexterm><primary>video ports</primary></indexterm> - <indexterm><primary>video packages</primary></indexterm> - - <para>This section introduces some of the software available from - the &os; Ports Collection which can be used for video - playback.</para> - - <sect3 xml:id="video-mplayer"> - <title><application>MPlayer</application> and - <application>MEncoder</application></title> - - <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 <package>multimedia/mplayer</package> - 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 <package>multimedia/mencoder</package> 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>~/.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 - <filename>/dev/dvd</filename>:</para> - - <screen>&prompt.root; <userinput>mplayer -vo xv dvd://3 -dvd-device /dev/dvd</userinput></screen> - - <note> - <para>The default <acronym>DVD</acronym> device can be defined - during the build of the <application>MPlayer</application> - port by including the - <varname>WITH_DVD_DEVICE=/path/to/desired/device</varname> - 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> - - <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> - - <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> + <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> - <programlisting>vo=xv + <sect2 xml:id="video-ports"> + <title>Ports and Packages Dealing with Video</title> + + <indexterm><primary>video ports</primary></indexterm> + <indexterm><primary>video packages</primary></indexterm> + + <para>This section introduces some of the software available + from the &os; Ports Collection which can be used for video + playback.</para> + + <sect3 xml:id="video-mplayer"> + <title><application>MPlayer</application> and + <application>MEncoder</application></title> + + <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 <package>multimedia/mplayer</package> 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 <package>multimedia/mencoder</package> + 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>~/.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 + <filename>/dev/dvd</filename>:</para> + + <screen>&prompt.root; <userinput>mplayer -vo xv dvd://3 -dvd-device /dev/dvd</userinput></screen> + + <note> + <para>The default <acronym>DVD</acronym> device can be + defined during the build of the + <application>MPlayer</application> port by including the + <varname>WITH_DVD_DEVICE=/path/to/desired/device</varname> + 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> + + <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> + + <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><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> + <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> - <screen>&prompt.root; <userinput>mplayer -dumpstream -dumpfile out.vob dvd://2 -dvd-device /dev/dvd</userinput></screen> + <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 in - <acronym>MPEG</acronym> format.</para> + <para>The output file, <filename>out.vob</filename>, will be + in <acronym>MPEG</acronym> format.</para> - <para>Anyone wishing to obtain a high level of expertise with - &unix; video should consult <link xlink:href="http://www.mplayerhq.hu/DOCS/">mplayerhq.hu/DOCS</link> - as it is technically informative. This documentation should - be considered as required reading before submitting any bug - reports.</para> + <para>Anyone wishing to obtain a high level of expertise with + &unix; video should consult <link + xlink:href="http://www.mplayerhq.hu/DOCS/">mplayerhq.hu/DOCS</link> + as it is technically informative. This documentation should + be considered as required reading before submitting any bug + reports.</para> - <indexterm> - <primary>mencoder</primary> - </indexterm> + <indexterm> + <primary>mencoder</primary> + </indexterm> - <para>Before using <command>mencoder</command>, it is a good - idea to become familiar with the options described at - <link xlink:href="http://www.mplayerhq.hu/DOCS/HTML/en/mencoder.html">mplayerhq.hu/DOCS/HTML/en/mencoder.html</link>. - 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>Before using <command>mencoder</command>, it is a good + idea to become familiar with the options described at <link + xlink:href="http://www.mplayerhq.hu/DOCS/HTML/en/mencoder.html">mplayerhq.hu/DOCS/HTML/en/mencoder.html</link>. + 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> + <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> + <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 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 - <package>audio/lame</package> port. Due to - licensing restrictions, a package is not available. Once - installed, type:</para> + <para>To convert + <filename><replaceable>input.avi</replaceable></filename> to + the MPEG4 codec with MPEG3 audio encoding, first install the + <package>audio/lame</package> 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 \ + <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>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 <systemitem class="username">root</systemitem> 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 xml:id="video-xine"> - <title>The <application>xine</application> Video Player</title> - - <para><application>xine</application> is a video player with a - reusable base library and a modular executable which can be - extended with plugins. It can be installed using the - <package>multimedia/xine</package> package or - port.</para> - - <para>In practice, <application>xine</application> requires - either a fast CPU with a fast video card, or support for the - XVideo extension. The <application>xine</application> video - player performs best on XVideo interfaces.</para> - - <para>By default, the <application>xine</application> player - starts a graphical user interface. The menus can then be used - to open a specific file.</para> - - <para>Alternatively, <application>xine</application> may be - 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>Refer to <link xlink:href="http://www.xine-project.org/faq"> - xine-project.org/faq</link> for more information and - troubleshooting tips.</para> - </sect3> - - <sect3 xml:id="video-ports-transcode"> - <title>The <application>Transcode</application> - Utilities</title> - - <para><application>Transcode</application> provides a suite of - tools for re-encoding video and audio files. - <application>Transcode</application> can be used to merge - video files or repair broken files using command line tools - with stdin/stdout stream - interfaces.</para> - - <para>In &os;, <application>Transcode</application> can be - installed using the <package>multimedia/transcode</package> 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 - 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 - installation.</para> - - <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 + <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 <systemitem + class="username">root</systemitem> 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 xml:id="video-xine"> + <title>The <application>xine</application> Video + Player</title> + + <para><application>xine</application> is a video player with a + reusable base library and a modular executable which can be + extended with plugins. It can be installed using the + <package>multimedia/xine</package> package or port.</para> + + <para>In practice, <application>xine</application> requires + either a fast CPU with a fast video card, or support for the + XVideo extension. The <application>xine</application> video + player performs best on XVideo interfaces.</para> + + <para>By default, the <application>xine</application> player + starts a graphical user interface. The menus can then be + used to open a specific file.</para> + + <para>Alternatively, <application>xine</application> may be + 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>Refer to <link + xlink:href="http://www.xine-project.org/faq"> + xine-project.org/faq</link> for more information and + troubleshooting tips.</para> + </sect3> + + <sect3 xml:id="video-ports-transcode"> + <title>The <application>Transcode</application> + Utilities</title> + + <para><application>Transcode</application> provides a suite of + tools for re-encoding video and audio files. + <application>Transcode</application> can be used to merge + video files or repair broken files using command line tools + with stdin/stdout stream interfaces.</para> + + <para>In &os;, <application>Transcode</application> can be + installed using the <package>multimedia/transcode</package> + 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 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 + installation.</para> + + <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 <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 <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 - <package>multimedia/vcdimager</package> or <package>sysutils/cdrdao</package>.</para> - - <para>In addition to the manual page for - <command>transcode</command>, refer to <link xlink:href="http://www.transcoding.org/cgi-bin/transcode">transcoding.org/cgi-bin/transcode</link> - for further information and examples.</para> - </sect3> - </sect2> -</sect1> + <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 + <package>multimedia/vcdimager</package> or + <package>sysutils/cdrdao</package>.</para> + + <para>In addition to the manual page for + <command>transcode</command>, refer to <link + xlink:href="http://www.transcoding.org/cgi-bin/transcode">transcoding.org/cgi-bin/transcode</link> + for further information and examples.</para> + </sect3> + </sect2> + </sect1> -<sect1 xml:id="tvcard"> - <info> + <sect1 xml:id="tvcard"> + <info> <title>TV Cards</title> <authorgroup> @@ -1158,29 +1178,29 @@ zoom=yes</programlisting> </authorgroup> </info> - <indexterm> - <primary>TV cards</primary> - </indexterm> + <indexterm> + <primary>TV cards</primary> + </indexterm> - <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 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>&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> + <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> + <sect2> + <title>Loading the Driver</title> - <para>In order to use the card, the &man.bktr.4; driver must be - loaded. To automate this at boot time, add the following line - to <filename>/boot/loader.conf</filename>:</para> + <para>In order to use the card, the &man.bktr.4; driver must be + loaded. To automate this at boot time, add the following line + to <filename>/boot/loader.conf</filename>:</para> - <programlisting>bktr_load="YES"</programlisting> + <programlisting>bktr_load="YES"</programlisting> <para>Alternatively, one can statically compile support for the TV card into a custom kernel. In that case, add the @@ -1207,12 +1227,12 @@ iicbus1: <Philips I2C bus> on iicbb0 master-only smbus0: <System Management Bus> on bti2c0 bktr0: Pinnacle/Miro TV, Philips SECAM tuner.</programlisting> - <para>The messages will differ according to the hardware. - If necessary, it is possible to override some of the detected + <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> + options. For example, to force the tuner to a Philips SECAM + tuner, add the following line to a custom kernel configuration + file:</para> <programlisting>options OVERRIDE_TUNER=6</programlisting> @@ -1257,9 +1277,8 @@ bktr0: Pinnacle/Miro TV, Philips SECAM tuner.</programlisting> <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> + used. For more support or to ask questions about supported TV + cards, refer to the &a.multimedia.name; mailing list.</para> </sect2> </sect1> @@ -1268,27 +1287,29 @@ bktr0: Pinnacle/Miro TV, Philips SECAM tuner.</programlisting> <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 <link xlink:href="http://www.mythtv.org/wiki/">mythtv.org/wiki</link> for - more information on how to use MythTV.</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 <package>multimedia/mythtv-frontend</package> 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 + how to install and setup MythTV on &os;. Refer to <link + xlink:href="http://www.mythtv.org/wiki/">mythtv.org/wiki</link> + for more information on how to use MythTV.</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 + <package>multimedia/mythtv-frontend</package> 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 <package>multimedia/mythtv</package> - 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> + the <package>multimedia/mythtv</package> 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> @@ -1296,20 +1317,24 @@ bktr0: Pinnacle/Miro TV, Philips SECAM tuner.</programlisting> <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 <package>multimedia/webcamd</package> package or port - which provides a <acronym>V4L</acronym> userland application. - Any Digital Video Broadcasting (<acronym>DVB</acronym>) card + cards as they are well supported by the + <package>multimedia/webcamd</package> 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 - <link xlink:href="http://wiki.freebsd.org/WebcamCompat">wiki.freebsd.org/WebcamCompat</link>. + <link + xlink:href="http://wiki.freebsd.org/WebcamCompat">wiki.freebsd.org/WebcamCompat</link>. Drivers are also available for Hauppauge cards in the - <package>multimedia/pvr250</package> and <package>multimedia/pvrxxx</package> 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 <link xlink:href="http://wiki.freebsd.org/HTPC">wiki.freebsd.org/HTPC</link> + <package>multimedia/pvr250</package> and + <package>multimedia/pvrxxx</package> 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 <link + xlink:href="http://wiki.freebsd.org/HTPC">wiki.freebsd.org/HTPC</link> page contains a list of all available <acronym>DVB</acronym> drivers.</para> </sect2> @@ -1359,115 +1384,117 @@ bktr0: Pinnacle/Miro TV, Philips SECAM tuner.</programlisting> <para>In &os;, access to image scanners is provided by <application>SANE</application> (Scanner Access Now Easy), which is available in the &os; Ports Collection. - <application>SANE</application> will also use - some &os; device drivers to provide access to the scanner - hardware.</para> + <application>SANE</application> will also use some &os; device + drivers to provide access to the scanner hardware.</para> <para>&os; supports both <acronym>SCSI</acronym> and - <acronym>USB</acronym> scanners. Depending - upon the scanner interface, different device drivers are - required. Be sure the + <acronym>USB</acronym> scanners. Depending upon the scanner + interface, different device drivers are required. Be sure the scanner is supported by <application>SANE</application> prior - to performing any configuration. Refer to <link xlink:href="http://www.sane-project.org/sane-supported-devices.html"> + to performing any configuration. Refer to <link + xlink:href="http://www.sane-project.org/sane-supported-devices.html"> http://www.sane-project.org/sane-supported-devices.html</link> - for more information about - supported scanners.</para> + for more information about supported scanners.</para> <para>This chapter describes how to determine if the scanner has been detected by &os;. It then provides an overview of how to configure and use <application>SANE</application> on a &os; system.</para> - <sect2 xml:id="scanners-kernel-usb"> - <title>Checking the Scanner</title> + <sect2 xml:id="scanners-kernel-usb"> + <title>Checking the Scanner</title> - <para>The <filename>GENERIC</filename> kernel - includes the device drivers needed to support <acronym>USB</acronym> scanners. - Users with a custom kernel should ensure that the following - lines are present in the custom kernel configuration - file:</para> + <para>The <filename>GENERIC</filename> kernel includes the + device drivers needed to support <acronym>USB</acronym> + scanners. Users with a custom kernel should ensure that the + following lines are present in the custom kernel configuration + file:</para> - <programlisting>device usb + <programlisting>device usb device uhci device ohci device ehci</programlisting> - <para>To determine if the <acronym>USB</acronym> scanner is - detected, plug it in and use <command>dmesg</command> to determine - whether the scanner appears in the system message - buffer. If it does, it should display a message similar to - this:</para> - - <screen>ugen0.2: <EPSON> at usbus0</screen> - - <para>In this example, an &epson.perfection; 1650 - <acronym>USB</acronym> scanner was detected on - <filename>/dev/ugen0.2</filename>.</para> - - <para>If the scanner uses a <acronym>SCSI</acronym> interface, it is important to - know which <acronym>SCSI</acronym> controller board it will use. Depending - upon the <acronym>SCSI</acronym> chipset, a custom kernel configuration file - may be needed. The <filename>GENERIC</filename> kernel - supports the most common <acronym>SCSI</acronym> controllers. Refer to - <filename>/usr/src/sys/conf/NOTES</filename> to determine - the correct line to add to a custom kernel configuration - file. In addition to the <acronym>SCSI</acronym> adapter driver, the following - lines are needed in a custom kernel configuration file:</para> - - <programlisting>device scbus + <para>To determine if the <acronym>USB</acronym> scanner is + detected, plug it in and use <command>dmesg</command> to + determine whether the scanner appears in the system message + buffer. If it does, it should display a message similar to + this:</para> + + <screen>ugen0.2: <EPSON> at usbus0</screen> + + <para>In this example, an &epson.perfection; 1650 + <acronym>USB</acronym> scanner was detected on + <filename>/dev/ugen0.2</filename>.</para> + + <para>If the scanner uses a <acronym>SCSI</acronym> interface, + it is important to know which <acronym>SCSI</acronym> + controller board it will use. Depending upon the + <acronym>SCSI</acronym> chipset, a custom kernel configuration + file may be needed. The <filename>GENERIC</filename> kernel + supports the most common <acronym>SCSI</acronym> controllers. + Refer to <filename>/usr/src/sys/conf/NOTES</filename> to + determine the correct line to add to a custom kernel + configuration file. In addition to the + <acronym>SCSI</acronym> adapter driver, the following lines + are needed in a custom kernel configuration file:</para> + + <programlisting>device scbus device pass</programlisting> - <para>Verify that the device is displayed in the system - message buffer:</para> + <para>Verify that the device is displayed in the system message + buffer:</para> - <screen>pass2 at aic0 bus 0 target 2 lun 0 + <screen>pass2 at aic0 bus 0 target 2 lun 0 pass2: <AGFA SNAPSCAN 600 1.10> Fixed Scanner SCSI-2 device pass2: 3.300MB/s transfers</screen> - <para>If the scanner was not powered-on at system boot, it - is still possible to manually force detection by - performing a <acronym>SCSI</acronym> bus scan with - <command>camcontrol</command>:</para> + <para>If the scanner was not powered-on at system boot, it is + still possible to manually force detection by performing a + <acronym>SCSI</acronym> bus scan with + <command>camcontrol</command>:</para> - <screen>&prompt.root; <userinput>camcontrol rescan all</userinput> + <screen>&prompt.root; <userinput>camcontrol rescan all</userinput> Re-scan of bus 0 was successful Re-scan of bus 1 was successful Re-scan of bus 2 was successful Re-scan of bus 3 was successful</screen> - <para>The scanner should now appear in the <acronym>SCSI</acronym> devices - list:</para> + <para>The scanner should now appear in the + <acronym>SCSI</acronym> devices list:</para> - <screen>&prompt.root; <userinput>camcontrol devlist</userinput> + <screen>&prompt.root; <userinput>camcontrol devlist</userinput> <IBM DDRS-34560 S97B> at scbus0 target 5 lun 0 (pass0,da0) <IBM DDRS-34560 S97B> at scbus0 target 6 lun 0 (pass1,da1) <AGFA SNAPSCAN 600 1.10> at scbus1 target 2 lun 0 (pass3) <PHILIPS CDD3610 CD-R/RW 1.00> at scbus2 target 0 lun 0 (pass2,cd0)</screen> - <para>Refer to &man.scsi.4; and &man.camcontrol.8; for more - details about <acronym>SCSI</acronym> devices on &os;.</para> + <para>Refer to &man.scsi.4; and &man.camcontrol.8; for more + details about <acronym>SCSI</acronym> devices on &os;.</para> </sect2> <sect2> <title><application>SANE</application> Configuration</title> <para>The <application>SANE</application> system is split in two - parts: the backends (<package>graphics/sane-backends</package>) and the - frontends (<package>graphics/sane-frontends</package> or - <package>graphics/xsane</package>). The - backends provide access to the scanner. Refer to - <link xlink:href="http://www.sane-project.org/sane-supported-devices.html">http://www.sane-project.org/sane-supported-devices.html</link> - to determine which backend supports the - scanner. The frontends provide the graphical scanning - interface. <package>graphics/sane-frontends</package> - installs <application>xscanimage</application> while + parts: the backends + (<package>graphics/sane-backends</package>) and the frontends + (<package>graphics/sane-frontends</package> or + <package>graphics/xsane</package>). The backends provide + access to the scanner. Refer to <link + xlink:href="http://www.sane-project.org/sane-supported-devices.html">http://www.sane-project.org/sane-supported-devices.html</link> + to determine which backend supports the scanner. The + frontends provide the graphical scanning interface. + <package>graphics/sane-frontends</package> installs + <application>xscanimage</application> while <package>graphics/xsane</package> installs <application>xsane</application>.</para> - <para>After installing the <package>graphics/sane-backends</package> port or - package, use <command>sane-find-scanner</command> to check the - scanner detection by the - <application>SANE</application> system:</para> + <para>After installing the + <package>graphics/sane-backends</package> port or package, use + <command>sane-find-scanner</command> to check the scanner + detection by the <application>SANE</application> + system:</para> <screen>&prompt.root; <userinput>sane-find-scanner -q</userinput> found SCSI scanner "AGFA SNAPSCAN 600 1.10" at /dev/pass3</screen> @@ -1477,18 +1504,17 @@ found SCSI scanner "AGFA SNAPSCAN 600 1.10" at /dev/pass3</screen> The vendor and the product model may or may not appear.</para> <note> - <para>Some <acronym>USB</acronym> scanners require firmware to be loaded. Refer - to sane-find-scanner(1) and sane(7) for + <para>Some <acronym>USB</acronym> scanners require firmware to + be loaded. Refer to sane-find-scanner(1) and sane(7) for details.</para> </note> <para>Next, check if the scanner will be identified by a - scanning frontend. The - <application>SANE</application> backends include - <command>scanimage</command> which can be used - to list the devices and perform an image acquisition. Use - <option>-L</option> to list the scanner devices. The first - example is for a <acronym>SCSI</acronym> scanner and the + scanning frontend. The <application>SANE</application> + backends include <command>scanimage</command> which can be + used to list the devices and perform an image acquisition. + Use <option>-L</option> to list the scanner devices. The + first example is for a <acronym>SCSI</acronym> scanner and the second is for a <acronym>USB</acronym> scanner:</para> <screen>&prompt.root; <userinput>scanimage -L</userinput> @@ -1502,91 +1528,90 @@ device 'epson2:libusb:/dev/usb:/dev/ugen0.2' is a Epson GT-8200 flatbed scanner< <literal>/dev/ugen0.2</literal> is the device node used by the scanner.</para> - <para>If <command>scanimage</command> is unable to - identify the scanner, this message will appear:</para> + <para>If <command>scanimage</command> is unable to identify the + scanner, this message will appear:</para> - <screen>&prompt.root; <userinput>scanimage -L</userinput> + <screen>&prompt.root; <userinput>scanimage -L</userinput> No scanners were identified. If you were expecting something different, check that the scanner is plugged in, turned on and detected by the sane-find-scanner tool (if appropriate). Please read the documentation which came with this software (README, FAQ, manpages).</screen> - <para>If this happens, edit the backend - configuration file in <filename>/usr/local/etc/sane.d/</filename> - and define the scanner device used. For example, if the undetected scanner model is - an &epson.perfection; 1650 and it uses the + <para>If this happens, edit the backend configuration file in + <filename>/usr/local/etc/sane.d/</filename> and define the + scanner device used. For example, if the undetected scanner + model is an &epson.perfection; 1650 and it uses the <literal>epson2</literal> backend, edit - <filename>/usr/local/etc/sane.d/epson2.conf</filename>. - When editing, add a line specifying the interface and the - device node used. In this case, add the following - line:</para> + <filename>/usr/local/etc/sane.d/epson2.conf</filename>. When + editing, add a line specifying the interface and the device + node used. In this case, add the following line:</para> <programlisting>usb /dev/ugen0.2</programlisting> - <para>Save the edits and verify that the scanner is - identified with the right backend name and the device node:</para> + <para>Save the edits and verify that the scanner is identified + with the right backend name and the device node:</para> <screen>&prompt.root; <userinput>scanimage -L</userinput> device 'epson2:libusb:/dev/usb:/dev/ugen0.2' is a Epson GT-8200 flatbed scanner</screen> - <para>Once <command>scanimage -L</command> sees the scanner, the - configuration is complete and the scanner is now ready to - use.</para> - - <para>While <command>scanimage</command> can be used to perform an image - acquisition from the command line, it is often preferable to - use a graphical interface to perform image scanning. The - <package>graphics/sane-frontends</package> - package or port installs a simple but efficient graphical - interface, <application>xscanimage</application>.</para> - - <para>Alternately, <application>xsane</application>, which is installed with - the <package>graphics/xsane</package> package - or port, is another popular graphical scanning frontend. It - offers advanced features such as various scanning modes, color - correction, and batch scans. Both of these applications are - usable as a <application>GIMP</application> plugin.</para> - </sect2> + <para>Once <command>scanimage -L</command> sees the scanner, the + configuration is complete and the scanner is now ready to + use.</para> + + <para>While <command>scanimage</command> can be used to perform + an image acquisition from the command line, it is often + preferable to use a graphical interface to perform image + scanning. The <package>graphics/sane-frontends</package> + package or port installs a simple but efficient graphical + interface, <application>xscanimage</application>.</para> + + <para>Alternately, <application>xsane</application>, which is + installed with the <package>graphics/xsane</package> package + or port, is another popular graphical scanning frontend. It + offers advanced features such as various scanning modes, color + correction, and batch scans. Both of these applications are + usable as a <application>GIMP</application> plugin.</para> + </sect2> - <sect2> - <title>Scanner Permissions</title> - - <para>In order to have access to the scanner, a user needs - read and write permissions to the device node used by the - scanner. In the previous example, the <acronym>USB</acronym> scanner uses the - device node <filename>/dev/ugen0.2</filename> which is really a - symlink to the real device node - <filename>/dev/usb/0.2.0</filename>. The symlink and the device - node are owned, respectively, by the - <systemitem class="groupname">wheel</systemitem> and - <systemitem class="groupname">operator</systemitem> groups. While adding the user to - these groups will allow access to the scanner, it is considered insecure to - add a user - to <systemitem class="groupname">wheel</systemitem>. A better - solution is to create a group and make the scanner device - accessible to members of this group.</para> - - <para>This example creates a group called - <systemitem class="groupname"><replaceable>usb</replaceable></systemitem>:</para> - - <screen>&prompt.root; <userinput>pw groupadd usb</userinput></screen> + <sect2> + <title>Scanner Permissions</title> + + <para>In order to have access to the scanner, a user needs read + and write permissions to the device node used by the scanner. + In the previous example, the <acronym>USB</acronym> scanner + uses the device node <filename>/dev/ugen0.2</filename> which + is really a symlink to the real device node + <filename>/dev/usb/0.2.0</filename>. The symlink and the + device node are owned, respectively, by the <systemitem + class="groupname">wheel</systemitem> and <systemitem + class="groupname">operator</systemitem> groups. While + adding the user to these groups will allow access to the + scanner, it is considered insecure to add a user to + <systemitem class="groupname">wheel</systemitem>. A better + solution is to create a group and make the scanner device + accessible to members of this group.</para> + + <para>This example creates a group called <systemitem + class="groupname"><replaceable>usb</replaceable></systemitem>:</para> + + <screen>&prompt.root; <userinput>pw groupadd usb</userinput></screen> <para>Then, make the <filename>/dev/ugen0.2</filename> symlink and the <filename>/dev/usb/0.2.0</filename> device node - accessible to the <systemitem class="groupname">usb</systemitem> group with write + accessible to the <systemitem + class="groupname">usb</systemitem> group with write permissions of <literal>0660</literal> or - <literal>0664</literal> by adding the - following lines to + <literal>0664</literal> by adding the following lines to <filename>/etc/devfs.rules</filename>:</para> <programlisting>[system=5] add path ugen0.2 mode 0660 group usb add path usb/0.2.0 mode 0666 group usb</programlisting> - <para>Finally, add the users to - <systemitem class="groupname"><replaceable>usb</replaceable></systemitem> in order - to allow access to the scanner:</para> + <para>Finally, add the users to <systemitem + class="groupname"><replaceable>usb</replaceable></systemitem> + in order to allow access to the scanner:</para> <screen>&prompt.root; <userinput>pw groupmod usb -m <replaceable>joe</replaceable></userinput></screen> |