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 @@ Multimedia + @@ -66,8 +67,8 @@ - Rip CD and DVD content into - files. + Rip CD and DVD + content into files. @@ -138,7 +139,7 @@ &prompt.root; kldload snd_hda To automate the loading of this driver at boot time, add the - driver to /boot/loader.conf. The line for + driver to /boot/loader.conf. The line for this driver is: snd_hda_load="YES" @@ -165,7 +166,8 @@ 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 . + information about recompiling a kernel, refer to . 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" In this case, the card uses the 0x220 I/O port and the IRQ 5. - The syntax used in - /boot/device.hints is described in - &man.sound.4; and the manual page for the driver of the sound - card. + The syntax used in /boot/device.hints + is described in &man.sound.4; and the manual page for the + driver of the sound card. 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 &prompt.user; cdcontrol -f /dev/acd0 play 1 - Audio CDs have specialized encodings which means that - they should not be mounted using &man.mount.8;. + Audio CDs have specialized encodings + which means that they should not be mounted using + &man.mount.8;. - Various applications, such as audio/workman, provide a - friendlier interface. The audio/mpg123 port can be installed - to listen to MP3 audio files. + Various applications, such as + audio/workman, provide a friendlier + interface. The audio/mpg123 port can be + installed to listen to MP3 audio files. Another quick way to test the card is to send data to /dev/dsp: @@ -403,8 +406,8 @@ pcm7: <HDA Realtek ALC889 PCM #3 Digital> at cad 2 nid 1 on hdac1 It is often desirable to have multiple sources of sound that are able to play simultaneously. &os; uses Virtual - Sound Channels to multiplex the - sound card's playback by mixing sound in the kernel. + Sound Channels to multiplex the sound card's playback + by mixing sound in the kernel. Three &man.sysctl.8; knobs are available for configuring virtual channels: @@ -486,29 +489,28 @@ pcm7: <HDA Realtek ALC889 PCM #3 Digital> at cad 2 nid 1 on hdac1 This section describes some MP3 - players available for &os;, how to rip audio CD tracks, and - how to encode and decode MP3s. + players available for &os;, how to rip audio + CD tracks, and how to encode and decode + MP3s. MP3 Players A popular graphical MP3 player is - XMMS. - It supports Winamp - skins and additional plugins. The interface is intuitive, - with a playlist, graphic equalizer, and more. Those familiar - with Winamp will find + XMMS. It supports + Winamp skins and additional + plugins. The interface is intuitive, with a playlist, graphic + equalizer, and more. Those familiar with + Winamp will find XMMS simple to use. On &os;, - XMMS can be installed from - the multimedia/xmms port - or package. + XMMS can be installed from the + multimedia/xmms port or package. The audio/mpg123 package or port provides an alternative, command-line MP3 - player. Once installed, specify - the MP3 file to play on the - command line. If the system has multiple audio devices, the - sound device can also be specifed: + player. Once installed, specify the MP3 + file to play on the command line. If the system has multiple + audio devices, the sound device can also be specifed: &prompt.root; mpg123 -a /dev/dsp1.0 Foobar-GreatestHits.mp3 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 Ripping <acronym>CD</acronym> Audio Tracks - Before encoding a CD or CD track to - MP3, the audio data on the CD must be - ripped to the hard drive. This is done by copying the raw CD - Digital Audio (CDDA) data to - WAV files. + Before encoding a CD or + CD track to MP3, the + audio data on the CD must be ripped to the + hard drive. This is done by copying the raw + CD Digital Audio (CDDA) + data to WAV files. The cdda2wav tool, which is installed - with the sysutils/cdrtools - suite, can be used to rip audio information from + with the sysutils/cdrtools suite, can be + used to rip audio information from CDs. - With the audio CD in the drive, the following command can - be issued as root to rip an entire CD - into individual, per track, WAV - files: + With the audio CD in the drive, the + following command can be issued as root to rip an entire + CD into individual, per track, + WAV files: &prompt.root; cdda2wav -D 0,1,0 -B - In this example, the - indicates the SCSI device - 0,1,0 containing the CD to rip. - Use cdrecord -scanbus to determine the - correct device parameters for the system. + In this example, the indicates the + SCSI device 0,1,0 + containing the CD to rip. Use + cdrecord -scanbus to determine the correct + device parameters for the system. - To rip individual tracks, use - to specify the track: + To rip individual tracks, use to + specify the track: &prompt.root; cdda2wav -D 0,1,0 -t 7 - To rip - a range of tracks, such as track one to seven, specify a - range: + To rip a range of tracks, such as track one to seven, + specify a range: &prompt.root; cdda2wav -D 0,1,0 -t 1+7 To rip from an ATAPI - (IDE) CDROM drive, specify the - device name in place of the SCSI unit numbers. For example, - to rip track 7 from an IDE drive: + (IDE) CDROM drive, + specify the device name in place of the + SCSI unit numbers. For example, to rip + track 7 from an IDE drive: &prompt.root; cdda2wav -D /dev/acd0 -t 7 - Alternately, dd can be used to extract audio tracks on - ATAPI drives, as described in . + Alternately, dd can be used to extract + audio tracks on ATAPI drives, as described + in . @@ -577,49 +583,51 @@ MPEG 1.0 layer III, 128 kbit/s, 44100 Hz joint-stereo Lame is a popular MP3 encoder which can be installed from the - audio/lame port. Due to - patent issues, a package is not available. + audio/lame port. Due to patent issues, a + package is not available. The following command will convert the ripped WAV file - audio01.wav - to + audio01.wav to audio01.mp3: &prompt.root; lame -h -b 128 --tt "Foo Song Title" --ta "FooBar Artist" --tl "FooBar Album" \ --ty "2014" --tc "Ripped and encoded by Foo" --tg "Genre" audio01.wav audio01.mp3 - The specified 128 kbits is a standard MP3 - bitrate while the 160 and 192 bitrates provide higher quality. - The higher the bitrate, the larger the size of the resulting - MP3. The turns on the - higher quality but a little slower mode. The - options beginning with indicate ID3 tags, + The specified 128 kbits is a standard + MP3 bitrate while the 160 and 192 bitrates + provide higher quality. The higher the bitrate, the larger + the size of the resulting MP3. The + turns on the higher quality but a + little slower mode. The options beginning with + indicate ID3 tags, which usually contain song information, to be embedded within the MP3 file. Additional encoding options can be found in the lame manual page. - In order to burn an audio CD from MP3s, - they must first be converted to a non-compressed - file format. XMMS can be used to convert to the - WAV format, while - mpg123 can be used to convert to the - raw Pulse-Code Modulation (PCM) audio data - format. + In order to burn an audio CD from + MP3s, they must first be converted to a + non-compressed file format. XMMS + can be used to convert to the WAV format, + while mpg123 can be used to convert + to the raw Pulse-Code Modulation (PCM) + audio data format. - To convert audio01.mp3 - using mpg123, specify the name of - the PCM file: + To convert audio01.mp3 using + mpg123, specify the name of the + PCM file: &prompt.root; mpg123 -s audio01.mp3 > audio01.pcm - + To use XMMS to convert a MP3 to WAV format, use these steps: - Converting to <acronym>WAV</acronym> Format in <application>XMMS</application> + Converting to <acronym>WAV</acronym> Format in + <application>XMMS</application> + Launch XMMS. @@ -671,18 +679,20 @@ MPEG 1.0 layer III, 128 kbit/s, 44100 Hz joint-stereo Both the WAV and PCM formats can be used with cdrecord - to create audio CDs, whereas burncd requires the + to create audio CDs, whereas + burncd requires the PCM format. When using - WAV files, there will be a small tick - sound at the beginning of each track. This sound is the - header of the WAV file. The - audio/sox port or package can be used to remove the - header: + WAV files, there will be a small tick sound + at the beginning of each track. This sound is the header of + the WAV file. The + audio/sox port or package can be used to + remove the header: &prompt.user; sox -t wav -r 44100 -s -w -c 2 track.wav track.raw Refer to for more - information on using a CD burner in &os;. + information on using a CD burner in + &os;. @@ -701,7 +711,6 @@ MPEG 1.0 layer III, 128 kbit/s, 44100 Hz joint-stereo - Before configuring video playback, determine the model and chipset of the video card. While &xorg; supports a wide variety of @@ -714,9 +723,9 @@ MPEG 1.0 layer III, 128 kbit/s, 44100 Hz joint-stereo 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 /dev/dvd by default, or have this - device name hardcoded in them, it might be useful to make a - symbolic links to the proper device: + DVD media in /dev/dvd by + default, or have this device name hardcoded in them, it might be + useful to make a symbolic links to the proper device: &prompt.root; ln -sf /dev/cd0 /dev/dvd @@ -732,85 +741,87 @@ MPEG 1.0 layer III, 128 kbit/s, 44100 Hz joint-stereo device. To enhance the shared memory - &xorg; interface, it is - recommended to increase the values of these &man.sysctl.8; + &xorg; interface, it is recommended + to increase the values of these &man.sysctl.8; variables: kern.ipc.shmmax=67108864 kern.ipc.shmall=32768 - - Determining Video Capabilities + + Determining Video Capabilities - XVideo - SDL - DGA + XVideo + SDL + DGA - There are several possible ways to display video under - &xorg; and what works is largely - hardware dependent. Each method described below will have - varying quality across different hardware. + There are several possible ways to display video under + &xorg; and what works is largely + hardware dependent. Each method described below will have + varying quality across different hardware. - Common video interfaces include: + Common video interfaces include: - - - &xorg;: normal output using - shared memory. - + + + &xorg;: normal output using + shared memory. + - - XVideo: an extension to the - &xorg; 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. - + + XVideo: an extension to the + &xorg; 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. + - - SDL: 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. SDL - provides a low-level abstraction to the hardware which can - sometimes be more efficient than the - &xorg; interface. On &os;, - SDL can be installed using the devel/sdl20 package or - port. - + + SDL: 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. + SDL provides a low-level abstraction to + the hardware which can sometimes be more efficient than + the &xorg; interface. On &os;, + SDL can be installed using the + devel/sdl20 package or port. + - - DGA: the Direct Graphics Access is an - &xorg; extension which allows a - program to bypass the &xorg; - server and directly alter the framebuffer. Because it - relies on a low level memory mapping, programs using it must - be run as root. The - DGA extension can be tested and - benchmarked using &man.dga.1;. When dga - is running, it changes the colors of the display whenever a - key is pressed. To quit, press q. - + + DGA: the Direct Graphics Access is + an &xorg; extension which + allows a program to bypass the + &xorg; server and directly + alter the framebuffer. Because it relies on a low level + memory mapping, programs using it must be run as + root. The + DGA extension can be tested and + benchmarked using &man.dga.1;. When + dga is running, it changes the colors + of the display whenever a key is pressed. To quit, press + q. + - - SVGAlib: a low level console graphics layer. - - + + SVGAlib: a low level console graphics layer. + + - - XVideo + + XVideo - To check whether this extension is running, use - xvinfo: + To check whether this extension is running, use + xvinfo: - &prompt.user; xvinfo + &prompt.user; xvinfo - XVideo is supported for the card if the result is similar - to: + XVideo is supported for the card if the result is + similar to: - X-Video Extension version 2.2 + 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 depth: 1 red, green, blue masks: 0x0, 0x0, 0x0 - The formats listed, such as YUV2 and YUV12, are not - present with every implementation of XVideo and their absence - may hinder some players. + The formats listed, such as YUV2 and YUV12, are not + present with every implementation of XVideo and their + absence may hinder some players. - If the result instead looks like: + If the result instead looks like: - X-Video Extension version 2.2 + X-Video Extension version 2.2 screen #0 no adaptors present - 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. - - + 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. + + - - Ports and Packages Dealing with Video + + Ports and Packages Dealing with Video - video ports - video packages + video ports + video packages - This section introduces some of the software available from - the &os; Ports Collection which can be used for video - playback. + This section introduces some of the software available + from the &os; Ports Collection which can be used for video + playback. - - <application>MPlayer</application> and - <application>MEncoder</application> + + <application>MPlayer</application> and + <application>MEncoder</application> - MPlayer is a command-line video - player with an optional graphical interface which aims to - provide speed and flexibility. Other graphical front-ends to - MPlayer are available from the &os; - Ports Collection. + MPlayer is a command-line + video player with an optional graphical interface which aims + to provide speed and flexibility. Other graphical + front-ends to MPlayer are + available from the &os; Ports Collection. - MPlayer + MPlayer - MPlayer can be installed using - the multimedia/mplayer - 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. + MPlayer can be installed + using the multimedia/mplayer 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. - 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, - MPlayer 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 Enter to continue the port compile - and installation. + 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, + MPlayer 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 Enter to continue the port compile + and installation. - By default, the package or port will build the - mplayer command line utility and the - gmplayer graphical utility. To encode - videos, compile the multimedia/mencoder port. Due to - licensing restrictions, a package is not available for - MEncoder. + By default, the package or port will build the + mplayer command line utility and the + gmplayer graphical utility. To encode + videos, compile the multimedia/mencoder + port. Due to licensing restrictions, a package is not + available for MEncoder. - The first time MPlayer is run, - it will create ~/.mplayer in the user's home - directory. This subdirectory contains default versions of - the user-specific configuration files. + The first time MPlayer is + run, it will create ~/.mplayer in the + user's home directory. This subdirectory contains default + versions of the user-specific configuration files. - This section describes only a few common uses. Refer to - mplayer(1) for a complete description of its numerous - options. + This section describes only a few common uses. Refer to + mplayer(1) for a complete description of its numerous + options. - To play the file - testfile.avi, - specify the video interfaces with , as - seen in the following examples: + To play the file + testfile.avi, + specify the video interfaces with , as + seen in the following examples: - &prompt.user; mplayer -vo xv testfile.avi + &prompt.user; mplayer -vo xv testfile.avi - &prompt.user; mplayer -vo sdl testfile.avi + &prompt.user; mplayer -vo sdl testfile.avi - &prompt.user; mplayer -vo x11 testfile.avi + &prompt.user; mplayer -vo x11 testfile.avi - &prompt.root; mplayer -vo dga testfile.avi + &prompt.root; mplayer -vo dga testfile.avi - &prompt.root; mplayer -vo 'sdl:dga' testfile.avi + &prompt.root; mplayer -vo 'sdl:dga' testfile.avi - It is worth trying all of these options, as their - relative performance depends on many factors and will vary - significantly with hardware. + It is worth trying all of these options, as their + relative performance depends on many factors and will vary + significantly with hardware. - To play a DVD, replace - testfile.avi - with , where - N is the title number to play and - DEVICE is the device node for the - DVD. For example, to play title 3 from - /dev/dvd: + To play a DVD, replace + testfile.avi + with , where + N is the title number to play and + DEVICE is the device node for the + DVD. For example, to play title 3 from + /dev/dvd: - &prompt.root; mplayer -vo xv dvd://3 -dvd-device /dev/dvd + &prompt.root; mplayer -vo xv dvd://3 -dvd-device /dev/dvd - - The default DVD device can be defined - during the build of the MPlayer - port by including the - WITH_DVD_DEVICE=/path/to/desired/device - option. By default, the device is - /dev/cd0. More details can be found in - the port's Makefile.options. - + + The default DVD device can be + defined during the build of the + MPlayer port by including the + WITH_DVD_DEVICE=/path/to/desired/device + option. By default, the device is + /dev/cd0. More details can be found + in the port's + Makefile.options. + - To stop, pause, advance, and so on, use a keybinding. To - see the list of keybindings, run mplayer - -h or read mplayer(1). + To stop, pause, advance, and so on, use a keybinding. + To see the list of keybindings, run mplayer + -h or read mplayer(1). - Additional playback options include , which engages fullscreen mode, and - , which helps performance. + Additional playback options include , which engages fullscreen mode, and + , which helps performance. - Each user can add commonly used options to their - ~/.mplayer/config like so: + Each user can add commonly used options to their + ~/.mplayer/config like so: - vo=xv + vo=xv fs=yes zoom=yes - mplayer can be used to rip a - DVD title to a .vob. - To dump the second title from a DVD: + mplayer can be used to rip a + DVD title to a .vob. + To dump the second title from a + DVD: - &prompt.root; mplayer -dumpstream -dumpfile out.vob dvd://2 -dvd-device /dev/dvd + &prompt.root; mplayer -dumpstream -dumpfile out.vob dvd://2 -dvd-device /dev/dvd - The output file, out.vob, will be in - MPEG format. + The output file, out.vob, will be + in MPEG format. - Anyone wishing to obtain a high level of expertise with - &unix; video should consult mplayerhq.hu/DOCS - as it is technically informative. This documentation should - be considered as required reading before submitting any bug - reports. + Anyone wishing to obtain a high level of expertise with + &unix; video should consult mplayerhq.hu/DOCS + as it is technically informative. This documentation should + be considered as required reading before submitting any bug + reports. - - mencoder - + + mencoder + - Before using mencoder, it is a good - idea to become familiar with the options described at - mplayerhq.hu/DOCS/HTML/en/mencoder.html. - 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 mplayer. + Before using mencoder, it is a good + idea to become familiar with the options described at mplayerhq.hu/DOCS/HTML/en/mencoder.html. + 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 + mplayer. - Here is an example of a simple copy: + Here is an example of a simple copy: - &prompt.user; mencoder input.avi -oac copy -ovc copy -o output.avi + &prompt.user; mencoder input.avi -oac copy -ovc copy -o output.avi - To rip to a file, use with - mplayer. + To rip to a file, use with + mplayer. - To convert - input.avi to - the MPEG4 codec with MPEG3 audio encoding, first install the - audio/lame port. Due to - licensing restrictions, a package is not available. Once - installed, type: + To convert + input.avi to + the MPEG4 codec with MPEG3 audio encoding, first install the + audio/lame port. Due to licensing + restrictions, a package is not available. Once installed, + type: - &prompt.user; mencoder input.avi -oac mp3lame -lameopts br=192 \ + &prompt.user; mencoder input.avi -oac mp3lame -lameopts br=192 \ -ovc lavc -lavcopts vcodec=mpeg4:vhq -o output.avi - This will produce output playable by applications such as - mplayer and xine. + This will produce output playable by applications such + as mplayer and + xine. - input.avi - can be replaced with and run as root to - re-encode a DVD 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. - + input.avi + can be replaced with and run as root to re-encode a + DVD 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. + - - The <application>xine</application> Video Player + + The <application>xine</application> Video + Player - xine 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 - multimedia/xine package or - port. + xine 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 + multimedia/xine package or port. - In practice, xine requires - either a fast CPU with a fast video card, or support for the - XVideo extension. The xine video - player performs best on XVideo interfaces. + In practice, xine requires + either a fast CPU with a fast video card, or support for the + XVideo extension. The xine video + player performs best on XVideo interfaces. - By default, the xine player - starts a graphical user interface. The menus can then be used - to open a specific file. + By default, the xine player + starts a graphical user interface. The menus can then be + used to open a specific file. - Alternatively, xine may be - invoked from the command line - by specifying the name of the file to play: + Alternatively, xine may be + invoked from the command line by specifying the name of the + file to play: - &prompt.user; xine -g -p mymovie.avi + &prompt.user; xine -g -p mymovie.avi - Refer to - xine-project.org/faq for more information and - troubleshooting tips. - + Refer to + xine-project.org/faq for more information and + troubleshooting tips. + - - The <application>Transcode</application> - Utilities + + The <application>Transcode</application> + Utilities - Transcode provides a suite of - tools for re-encoding video and audio files. - Transcode can be used to merge - video files or repair broken files using command line tools - with stdin/stdout stream - interfaces. + Transcode provides a suite of + tools for re-encoding video and audio files. + Transcode can be used to merge + video files or repair broken files using command line tools + with stdin/stdout stream interfaces. - In &os;, Transcode can be - installed using the multimedia/transcode 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, - Transcode will not be able to - encode that format. Use the arrow keys and spacebar to select - the required formats. When finished, press - Enter to continue the port compile and - installation. + In &os;, Transcode can be + installed using the multimedia/transcode + 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, Transcode will not be + able to encode that format. Use the arrow keys and spacebar + to select the required formats. When finished, press + Enter to continue the port compile and + installation. - This example demonstrates how to convert a DivX file into - a PAL MPEG-1 file (PAL VCD): + This example demonstrates how to convert a DivX file + into a PAL MPEG-1 file (PAL VCD): - &prompt.user; transcode -i + &prompt.user; transcode -i input.avi -V --export_prof vcd-pal -o output_vcd &prompt.user; mplex -f 1 -o output_vcd.mpg output_vcd.m1v output_vcd.mpa - The resulting MPEG file, - output_vcd.mpg, - is ready to be played with MPlayer. - The file can be burned on a CD media to - create a video CD using a utility such as - multimedia/vcdimager or sysutils/cdrdao. + The resulting MPEG file, + output_vcd.mpg, + is ready to be played with + MPlayer. The file can be burned + on a CD media to create a video + CD using a utility such as + multimedia/vcdimager or + sysutils/cdrdao. - In addition to the manual page for - transcode, refer to transcoding.org/cgi-bin/transcode - for further information and examples. - - - + In addition to the manual page for + transcode, refer to transcoding.org/cgi-bin/transcode + for further information and examples. + + + - - + + TV Cards @@ -1158,29 +1178,29 @@ zoom=yes - - TV cards - + + TV cards + - TV cards 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. + TV cards 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. - &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. + &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. - - Loading the Driver + + Loading the Driver - 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 /boot/loader.conf: + 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 /boot/loader.conf: - bktr_load="YES" + bktr_load="YES" 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. - The messages will differ according to the hardware. - If necessary, it is possible to override some of the detected + 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: + options. For example, to force the tuner to a Philips SECAM + tuner, add the following line to a custom kernel configuration + file: options OVERRIDE_TUNER=6 @@ -1257,9 +1277,8 @@ bktr0: Pinnacle/Miro TV, Philips SECAM tuner. 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. + used. For more support or to ask questions about supported TV + cards, refer to the &a.multimedia.name; mailing list. @@ -1268,27 +1287,29 @@ bktr0: Pinnacle/Miro TV, Philips SECAM tuner. MythTV is a popular, open source Personal Video Recorder (PVR) application. This section demonstrates - how to install and setup MythTV on &os;. Refer to mythtv.org/wiki for - more information on how to use MythTV. + how to install and setup MythTV on &os;. Refer to mythtv.org/wiki + for more information on how to use MythTV. - MythTV requires a frontend and a backend. These - components can either be installed on the same system or on - different machines. + MythTV requires a frontend and a backend. These components + can either be installed on the same system or on different + machines. - The frontend can be installed on &os; using the multimedia/mythtv-frontend package - or port. &xorg; must also be - installed and configured as described in . Ideally, this system has a video card that - supports X-Video Motion Compensation - (XvMC) and, optionally, a Linux Infrared - Remote Control (LIRC)-compatible + The frontend can be installed on &os; using the + multimedia/mythtv-frontend package or port. + &xorg; must also be installed and + configured as described in . Ideally, this + system has a video card that supports X-Video Motion + Compensation (XvMC) and, optionally, a Linux + Infrared Remote Control (LIRC)-compatible remote. To install both the backend and the frontend on &os;, use - the multimedia/mythtv - 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. + the multimedia/mythtv 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. Hardware @@ -1296,20 +1317,24 @@ bktr0: Pinnacle/Miro TV, Philips SECAM tuner. MythTV uses Video for Linux (V4L) to access video input devices such as encoders and tuners. In &os;, MythTV works best with USB DVB-S/C/T - cards as they are well supported by the multimedia/webcamd package or port - which provides a V4L userland application. - Any Digital Video Broadcasting (DVB) card + cards as they are well supported by the + multimedia/webcamd package or port which + provides a V4L userland application. Any + Digital Video Broadcasting (DVB) card supported by webcamd should work with MythTV. A list of known working cards can be found at - wiki.freebsd.org/WebcamCompat. + wiki.freebsd.org/WebcamCompat. Drivers are also available for Hauppauge cards in the - multimedia/pvr250 and multimedia/pvrxxx 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. + multimedia/pvr250 and + multimedia/pvrxxx 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. - The wiki.freebsd.org/HTPC + The wiki.freebsd.org/HTPC page contains a list of all available DVB drivers. @@ -1359,115 +1384,117 @@ bktr0: Pinnacle/Miro TV, Philips SECAM tuner. In &os;, access to image scanners is provided by SANE (Scanner Access Now Easy), which is available in the &os; Ports Collection. - SANE will also use - some &os; device drivers to provide access to the scanner - hardware. + SANE will also use some &os; device + drivers to provide access to the scanner hardware. &os; supports both SCSI and - USB scanners. Depending - upon the scanner interface, different device drivers are - required. Be sure the + USB scanners. Depending upon the scanner + interface, different device drivers are required. Be sure the scanner is supported by SANE prior - to performing any configuration. Refer to + to performing any configuration. Refer to http://www.sane-project.org/sane-supported-devices.html - for more information about - supported scanners. + for more information about supported scanners. 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 SANE on a &os; system. - - Checking the Scanner + + Checking the Scanner - The GENERIC kernel - includes the device drivers needed to support USB scanners. - Users with a custom kernel should ensure that the following - lines are present in the custom kernel configuration - file: + The GENERIC kernel includes the + device drivers needed to support USB + scanners. Users with a custom kernel should ensure that the + following lines are present in the custom kernel configuration + file: - device usb + device usb device uhci device ohci device ehci - To determine if the USB scanner is - detected, plug it in and use dmesg to determine - whether the scanner appears in the system message - buffer. If it does, it should display a message similar to - this: + To determine if the USB scanner is + detected, plug it in and use dmesg to + determine whether the scanner appears in the system message + buffer. If it does, it should display a message similar to + this: - ugen0.2: <EPSON> at usbus0 + ugen0.2: <EPSON> at usbus0 - In this example, an &epson.perfection; 1650 - USB scanner was detected on - /dev/ugen0.2. + In this example, an &epson.perfection; 1650 + USB scanner was detected on + /dev/ugen0.2. - 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 GENERIC kernel - supports the most common SCSI controllers. Refer to - /usr/src/sys/conf/NOTES to determine - the correct line to add to a custom kernel configuration - file. In addition to the SCSI adapter driver, the following - lines are needed in a custom kernel configuration file: + 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 GENERIC kernel + supports the most common SCSI controllers. + Refer to /usr/src/sys/conf/NOTES to + determine the correct line to add to a custom kernel + configuration file. In addition to the + SCSI adapter driver, the following lines + are needed in a custom kernel configuration file: - device scbus + device scbus device pass - Verify that the device is displayed in the system - message buffer: + Verify that the device is displayed in the system message + buffer: - pass2 at aic0 bus 0 target 2 lun 0 + 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 - If the scanner was not powered-on at system boot, it - is still possible to manually force detection by - performing a SCSI bus scan with - camcontrol: + If the scanner was not powered-on at system boot, it is + still possible to manually force detection by performing a + SCSI bus scan with + camcontrol: - &prompt.root; camcontrol rescan all + &prompt.root; camcontrol rescan all 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 - The scanner should now appear in the SCSI devices - list: + The scanner should now appear in the + SCSI devices list: - &prompt.root; camcontrol devlist + &prompt.root; camcontrol devlist <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) - Refer to &man.scsi.4; and &man.camcontrol.8; for more - details about SCSI devices on &os;. + Refer to &man.scsi.4; and &man.camcontrol.8; for more + details about SCSI devices on &os;. <application>SANE</application> Configuration The SANE system is split in two - parts: the backends (graphics/sane-backends) and the - frontends (graphics/sane-frontends or - graphics/xsane). The - backends provide access to the scanner. Refer to - http://www.sane-project.org/sane-supported-devices.html - to determine which backend supports the - scanner. The frontends provide the graphical scanning - interface. graphics/sane-frontends - installs xscanimage while + parts: the backends + (graphics/sane-backends) and the frontends + (graphics/sane-frontends or + graphics/xsane). The backends provide + access to the scanner. Refer to http://www.sane-project.org/sane-supported-devices.html + to determine which backend supports the scanner. The + frontends provide the graphical scanning interface. + graphics/sane-frontends installs + xscanimage while graphics/xsane installs xsane. - After installing the graphics/sane-backends port or - package, use sane-find-scanner to check the - scanner detection by the - SANE system: + After installing the + graphics/sane-backends port or package, use + sane-find-scanner to check the scanner + detection by the SANE + system: &prompt.root; sane-find-scanner -q found SCSI scanner "AGFA SNAPSCAN 600 1.10" at /dev/pass3 @@ -1477,18 +1504,17 @@ found SCSI scanner "AGFA SNAPSCAN 600 1.10" at /dev/pass3 The vendor and the product model may or may not appear. - Some USB scanners require firmware to be loaded. Refer - to sane-find-scanner(1) and sane(7) for + Some USB scanners require firmware to + be loaded. Refer to sane-find-scanner(1) and sane(7) for details. Next, check if the scanner will be identified by a - scanning frontend. The - SANE backends include - scanimage which can be used - to list the devices and perform an image acquisition. Use - to list the scanner devices. The first - example is for a SCSI scanner and the + scanning frontend. The SANE + backends include scanimage which can be + used to list the devices and perform an image acquisition. + Use to list the scanner devices. The + first example is for a SCSI scanner and the second is for a USB scanner: &prompt.root; scanimage -L @@ -1502,91 +1528,90 @@ device 'epson2:libusb:/dev/usb:/dev/ugen0.2' is a Epson GT-8200 flatbed scanner< /dev/ugen0.2 is the device node used by the scanner. - If scanimage is unable to - identify the scanner, this message will appear: + If scanimage is unable to identify the + scanner, this message will appear: - &prompt.root; scanimage -L + &prompt.root; scanimage -L 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). - If this happens, edit the backend - configuration file in /usr/local/etc/sane.d/ - and define the scanner device used. For example, if the undetected scanner model is - an &epson.perfection; 1650 and it uses the + If this happens, edit the backend configuration file in + /usr/local/etc/sane.d/ and define the + scanner device used. For example, if the undetected scanner + model is an &epson.perfection; 1650 and it uses the epson2 backend, edit - /usr/local/etc/sane.d/epson2.conf. - When editing, add a line specifying the interface and the - device node used. In this case, add the following - line: + /usr/local/etc/sane.d/epson2.conf. When + editing, add a line specifying the interface and the device + node used. In this case, add the following line: usb /dev/ugen0.2 - Save the edits and verify that the scanner is - identified with the right backend name and the device node: + Save the edits and verify that the scanner is identified + with the right backend name and the device node: &prompt.root; scanimage -L device 'epson2:libusb:/dev/usb:/dev/ugen0.2' is a Epson GT-8200 flatbed scanner - Once scanimage -L sees the scanner, the - configuration is complete and the scanner is now ready to - use. + Once scanimage -L sees the scanner, the + configuration is complete and the scanner is now ready to + use. - While scanimage 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 - graphics/sane-frontends - package or port installs a simple but efficient graphical - interface, xscanimage. + While scanimage 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 graphics/sane-frontends + package or port installs a simple but efficient graphical + interface, xscanimage. - Alternately, xsane, which is installed with - the graphics/xsane 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 GIMP plugin. - + Alternately, xsane, which is + installed with the graphics/xsane 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 GIMP plugin. + - - Scanner Permissions + + Scanner Permissions - 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 USB scanner uses the - device node /dev/ugen0.2 which is really a - symlink to the real device node - /dev/usb/0.2.0. The symlink and the device - node are owned, respectively, by the - wheel and - operator groups. While adding the user to - these groups will allow access to the scanner, it is considered insecure to - add a user - to wheel. A better - solution is to create a group and make the scanner device - accessible to members of this group. + 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 USB scanner + uses the device node /dev/ugen0.2 which + is really a symlink to the real device node + /dev/usb/0.2.0. The symlink and the + device node are owned, respectively, by the wheel and operator groups. While + adding the user to these groups will allow access to the + scanner, it is considered insecure to add a user to + wheel. A better + solution is to create a group and make the scanner device + accessible to members of this group. - This example creates a group called - usb: + This example creates a group called usb: - &prompt.root; pw groupadd usb + &prompt.root; pw groupadd usb Then, make the /dev/ugen0.2 symlink and the /dev/usb/0.2.0 device node - accessible to the usb group with write + accessible to the usb group with write permissions of 0660 or - 0664 by adding the - following lines to + 0664 by adding the following lines to /etc/devfs.rules: [system=5] add path ugen0.2 mode 0660 group usb add path usb/0.2.0 mode 0666 group usb - Finally, add the users to - usb in order - to allow access to the scanner: + Finally, add the users to usb + in order to allow access to the scanner: &prompt.root; pw groupmod usb -m joe