mirror of
https://github.com/mpv-player/mpv
synced 2025-02-28 11:20:56 +00:00
Remove empty paragraph from TV input chapter. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31977 b3059339-0415-0410-9bf9-f77b7e298cf2 Merge TV input and TV teletext chapter into the usage chapter. This improves the overall structure of the documentation. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31978 b3059339-0415-0410-9bf9-f77b7e298cf2 Restore mistakenly removed TV input chapter introduction. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31979 b3059339-0415-0410-9bf9-f77b7e298cf2 Merge radio chapter into the usage chapter. This improves the overall structure of the documentation. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31980 b3059339-0415-0410-9bf9-f77b7e298cf2
1715 lines
60 KiB
XML
1715 lines
60 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
||
<!-- synced with cd-dvd.xml r21612 -->
|
||
<chapter id="usage">
|
||
<title>Usage</title>
|
||
|
||
<sect1 id="commandline">
|
||
<title>Command line</title>
|
||
|
||
<para>
|
||
<application>MPlayer</application> utilizes a complex playtree. Options passed
|
||
on the command line can apply to all files/URLs or just to specific ones
|
||
depending on their position. For example
|
||
<screen>mplayer -vfm ffmpeg movie1.avi movie2.avi</screen>
|
||
will use FFmpeg decoders for both files, but
|
||
<screen>
|
||
mplayer -vfm ffmpeg <replaceable>movie1.avi</replaceable> <replaceable>movie2.avi</replaceable> -vfm dmo
|
||
</screen>
|
||
will play the second file with a DMO decoder.
|
||
</para>
|
||
|
||
<para>
|
||
You can group filenames/URLs together using <literal>{</literal> and
|
||
<literal>}</literal>. It is useful with option <option>-loop</option>:
|
||
<screen>mplayer { 1.avi -loop 2 2.avi } -loop 3</screen>
|
||
The above command will play files in this order: 1, 1, 2, 1, 1, 2, 1, 1, 2.
|
||
</para>
|
||
|
||
<para>
|
||
Playing a file:
|
||
<synopsis>
|
||
<command>mplayer</command><!--
|
||
--> [<replaceable>options</replaceable>]<!--
|
||
--> [<replaceable>path</replaceable>/]<replaceable>filename</replaceable>
|
||
</synopsis>
|
||
</para>
|
||
|
||
<para>
|
||
Another way to play a file:
|
||
<synopsis>
|
||
<command>mplayer</command><!--
|
||
--> [<replaceable>options</replaceable>]<!--
|
||
--> <replaceable>file:///uri-escaped-path</replaceable>
|
||
</synopsis>
|
||
</para>
|
||
|
||
<para>
|
||
Playing more files:
|
||
<synopsis>
|
||
<command>mplayer</command><!--
|
||
--> [<replaceable>default options</replaceable>]<!--
|
||
--> [<replaceable>path</replaceable>/]<replaceable>filename1</replaceable><!--
|
||
--> [<replaceable>options for filename1</replaceable>]<!--
|
||
--> <replaceable>filename2</replaceable><!--
|
||
--> [<replaceable>options for filename2</replaceable>] ...
|
||
</synopsis>
|
||
</para>
|
||
|
||
<para>
|
||
Playing VCD:
|
||
<synopsis>
|
||
<command>mplayer</command> [<replaceable>options</replaceable>]<!--
|
||
--> vcd://<replaceable>trackno</replaceable><!--
|
||
--> [-cdrom-device <replaceable>/dev/cdrom</replaceable>]
|
||
</synopsis>
|
||
</para>
|
||
|
||
<para>
|
||
Playing DVD:
|
||
<synopsis>
|
||
<command>mplayer</command> [<replaceable>options</replaceable>]<!--
|
||
--> dvd://<replaceable>titleno</replaceable><!--
|
||
--> [-dvd-device <replaceable>/dev/dvd</replaceable>]
|
||
</synopsis>
|
||
</para>
|
||
|
||
<para>
|
||
Playing from the WWW:
|
||
<synopsis>
|
||
<command>mplayer</command> [<replaceable>options</replaceable>]<!--
|
||
--> http://<replaceable>site.com/file.asf</replaceable>
|
||
</synopsis>
|
||
(playlists can be used, too)
|
||
</para>
|
||
|
||
<para>
|
||
Playing from RTSP:
|
||
<synopsis>
|
||
<command>mplayer</command> [<replaceable>options</replaceable>]<!--
|
||
--> rtsp://<replaceable>server.example.com/streamName</replaceable>
|
||
</synopsis>
|
||
</para>
|
||
|
||
<para>
|
||
Examples:
|
||
<screen>
|
||
mplayer -vo x11 <replaceable>/mnt/Films/Contact/contact2.mpg</replaceable>
|
||
mplayer vcd://<replaceable>2</replaceable> -cdrom-device <replaceable>/dev/hdc</replaceable>
|
||
mplayer -afm 3 <replaceable>/mnt/DVDtrailers/alien4.vob</replaceable>
|
||
mplayer dvd://<replaceable>1</replaceable> -dvd-device <replaceable>/dev/hdc</replaceable>
|
||
mplayer -abs 65536 -delay -0.4 -nobps <replaceable>~/movies/test.avi</replaceable><!--
|
||
--></screen>
|
||
</para>
|
||
</sect1>
|
||
|
||
|
||
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
||
|
||
|
||
<sect1 id="subosd">
|
||
<title>Subtitles and OSD</title>
|
||
|
||
<para>
|
||
<application>MPlayer</application> can display subtitles along with movie files.
|
||
Currently the following formats are supported:
|
||
<itemizedlist>
|
||
<listitem><para>VOBsub</para></listitem>
|
||
<listitem><para>OGM</para></listitem>
|
||
<listitem><para>CC (closed caption)</para></listitem>
|
||
<listitem><para>MicroDVD</para></listitem>
|
||
<listitem><para>SubRip</para></listitem>
|
||
<listitem><para>SubViewer</para></listitem>
|
||
<listitem><para>Sami</para></listitem>
|
||
<listitem><para>VPlayer</para></listitem>
|
||
<listitem><para>RT</para></listitem>
|
||
<listitem><para>SSA</para></listitem>
|
||
<listitem><para>PJS (Phoenix Japanimation Society)</para></listitem>
|
||
<listitem><para>MPsub</para></listitem>
|
||
<listitem><para>AQTitle</para></listitem>
|
||
<listitem><para>
|
||
<ulink url="http://unicorn.us.com/jacosub/">JACOsub</ulink>
|
||
</para></listitem>
|
||
</itemizedlist>
|
||
</para>
|
||
|
||
<para>
|
||
<application>MPlayer</application> can dump the previously listed subtitle
|
||
formats (<emphasis role="bold">except the three first</emphasis>) into the
|
||
following destination formats, with the given options:
|
||
<itemizedlist>
|
||
<listitem><para>MPsub: <option>-dumpmpsub</option></para></listitem>
|
||
<listitem><para>SubRip: <option>-dumpsrtsub</option></para></listitem>
|
||
<listitem><para>MicroDVD: <option>-dumpmicrodvdsub</option></para></listitem>
|
||
<listitem><para>JACOsub: <option>-dumpjacosub</option></para></listitem>
|
||
<listitem><para>Sami: <option>-dumpsami</option></para></listitem>
|
||
</itemizedlist>
|
||
</para>
|
||
|
||
<para>
|
||
<application>MEncoder</application> can dump DVD subtitles into
|
||
<link linkend="menc-feat-extractsub">VOBsub</link> format.
|
||
</para>
|
||
|
||
<para>
|
||
The command line options differ slightly for the different formats:
|
||
</para>
|
||
|
||
<formalpara>
|
||
<title>VOBsub subtitles</title>
|
||
<para>
|
||
VOBsub subtitles consist of a big (some megabytes) <filename>.SUB</filename>
|
||
file, and optional <filename>.IDX</filename> and/or <filename>.IFO</filename>
|
||
files. If you have files like
|
||
<filename><replaceable>sample.sub</replaceable></filename>,
|
||
<filename><replaceable>sample.ifo</replaceable></filename> (optional),
|
||
<filename><replaceable>sample.idx</replaceable></filename> - you have to pass
|
||
<application>MPlayer</application> the <option>-vobsub sample
|
||
[-vobsubid <replaceable>id</replaceable>]</option> options
|
||
(full path optional). The <option>-vobsubid</option> option is like
|
||
<option>-sid</option> for DVDs, you can choose between subtitle tracks
|
||
(languages) with it. In case that <option>-vobsubid</option> is omitted,
|
||
<application>MPlayer</application> will try to use the languages given by the
|
||
<option>-slang</option> option and fall back to the
|
||
<systemitem>langidx</systemitem> in the <filename>.IDX</filename> file to set
|
||
the subtitle language. If it fails, there will be no subtitles.
|
||
</para>
|
||
</formalpara>
|
||
|
||
<formalpara>
|
||
<title>Other subtitles</title>
|
||
<para>
|
||
The other formats consist of a single text file containing timing,
|
||
placement and text information. Usage: If you have a file like
|
||
<filename><replaceable>sample.txt</replaceable></filename>,
|
||
you have to pass the option <option>-sub
|
||
<replaceable>sample.txt</replaceable></option> (full path optional).
|
||
</para>
|
||
</formalpara>
|
||
|
||
<variablelist>
|
||
<title>Adjusting subtitle timing and placement:</title>
|
||
<varlistentry>
|
||
<term><option>-subdelay <replaceable>sec</replaceable></option></term>
|
||
<listitem><para>
|
||
Delays subtitles by <option><replaceable>sec</replaceable></option> seconds.
|
||
Can be negative. The value is added to movie's time position counter.
|
||
</para></listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term><option>-subfps <replaceable>RATE</replaceable></option></term>
|
||
<listitem><para>
|
||
Specify frame/sec rate of subtitle file (float number).
|
||
</para></listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term><option>-subpos <replaceable>0-100</replaceable></option></term>
|
||
<listitem><para>
|
||
Specify the position of subtitles.
|
||
</para></listitem>
|
||
</varlistentry>
|
||
</variablelist>
|
||
|
||
<para>
|
||
If you experience a growing delay between the movie and the subtitles when
|
||
using a MicroDVD subtitle file, most likely the framerate of the movie and
|
||
the subtitle file are different. Please note that the MicroDVD subtitle
|
||
format uses absolute frame numbers for its timing, but there is no fps
|
||
information in it, and therefore the <option>-subfps</option> option should
|
||
be used with this format. If you like to solve this problem permanently,
|
||
you have to manually convert the subtitle file framerate.
|
||
<application>MPlayer</application> can do this
|
||
conversion for you:
|
||
|
||
<screen>
|
||
mplayer -dumpmicrodvdsub -fps <replaceable>subtitles_fps</replaceable> -subfps <replaceable>avi_fps</replaceable> \
|
||
-sub <replaceable>subtitle_filename</replaceable> <replaceable>dummy.avi</replaceable>
|
||
</screen>
|
||
</para>
|
||
|
||
<para>
|
||
About DVD subtitles, read the <link linkend="dvd">DVD</link> section.
|
||
</para>
|
||
</sect1>
|
||
|
||
|
||
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
||
|
||
|
||
<sect1 id="control">
|
||
<title>Control</title>
|
||
|
||
<para>
|
||
<application>MPlayer</application> has a fully configurable, command
|
||
driven, control layer which lets you control
|
||
<application>MPlayer</application> with keyboard, mouse, joystick or remote
|
||
control (using LIRC). See the man page for the complete list of keyboard controls.
|
||
</para>
|
||
|
||
<!-- ********** -->
|
||
|
||
<sect2 id="ctrl-cfg">
|
||
<title>Controls configuration</title>
|
||
|
||
<para>
|
||
<application>MPlayer</application> allows you bind any key/button to any
|
||
<application>MPlayer</application> command using a simple config file.
|
||
The syntax consist of a key name followed by a command. The default config file location is
|
||
<filename>$HOME/.mplayer/input.conf</filename> but it can be overridden
|
||
using the <option>-input <replaceable>conf</replaceable></option> option
|
||
(relative path are relative to <filename>$HOME/.mplayer</filename>).
|
||
</para>
|
||
|
||
<para>
|
||
You can get a full list of supported key names by running
|
||
<command>mplayer -input keylist</command>
|
||
and a full list of available commands by running
|
||
<command>mplayer -input cmdlist</command>.
|
||
</para>
|
||
|
||
<example id="input_control_file">
|
||
<title>A simple input control file</title>
|
||
<programlisting>
|
||
##
|
||
## MPlayer input control file
|
||
##
|
||
|
||
RIGHT seek +10
|
||
LEFT seek -10
|
||
- audio_delay 0.100
|
||
+ audio_delay -0.100
|
||
q quit
|
||
> pt_step 1
|
||
< pt_step -1
|
||
ENTER pt_step 1 1<!--
|
||
--></programlisting>
|
||
</example>
|
||
</sect2>
|
||
|
||
<!-- ********** -->
|
||
|
||
<sect2 id="lirc">
|
||
<title>Control from LIRC</title>
|
||
|
||
<para>
|
||
Linux Infrared Remote Control - use an easy to build home-brewed IR-receiver,
|
||
an (almost) arbitrary remote control and control your Linux box with it!
|
||
More about it on the <ulink url="http://www.lirc.org">LIRC homepage</ulink>.
|
||
</para>
|
||
|
||
<para>
|
||
If you have the LIRC package installed, <filename>configure</filename> will
|
||
autodetect it. If everything went fine, <application>MPlayer</application>
|
||
will print "<systemitem>Setting up LIRC support...</systemitem>"
|
||
on startup. If an error occurs it will tell you. If there is no message about
|
||
LIRC there is no support compiled in. That's it :-)
|
||
</para>
|
||
|
||
<para>
|
||
The application name for <application>MPlayer</application> is - surprise -
|
||
<filename>mplayer</filename>. You can use any <application>MPlayer</application>
|
||
commands and even pass more than one command by separating them with
|
||
<literal>\n</literal>.
|
||
Do not forget to enable the repeat flag in <filename>.lircrc</filename> when
|
||
it makes sense (seek, volume, etc). Here is an excerpt from a sample
|
||
<filename>.lircrc</filename>:
|
||
</para>
|
||
|
||
<programlisting>
|
||
begin
|
||
button = VOLUME_PLUS
|
||
prog = mplayer
|
||
config = volume 1
|
||
repeat = 1
|
||
end
|
||
|
||
begin
|
||
button = VOLUME_MINUS
|
||
prog = mplayer
|
||
config = volume -1
|
||
repeat = 1
|
||
end
|
||
|
||
begin
|
||
button = CD_PLAY
|
||
prog = mplayer
|
||
config = pause
|
||
end
|
||
|
||
begin
|
||
button = CD_STOP
|
||
prog = mplayer
|
||
config = seek 0 1\npause
|
||
end<!--
|
||
--></programlisting>
|
||
|
||
<para>
|
||
If you do not like the standard location for the lirc-config file
|
||
(<filename>~/.lircrc</filename>) use the <option>-lircconf
|
||
<replaceable>filename</replaceable></option> switch to specify another
|
||
file.
|
||
</para>
|
||
</sect2>
|
||
|
||
<!-- ********** -->
|
||
|
||
<sect2 id="slave-mode">
|
||
<title>Slave mode</title>
|
||
|
||
<para>
|
||
The slave mode allows you to build simple frontends to
|
||
<application>MPlayer</application>. When run with the
|
||
<option>-slave</option> option <application>MPlayer</application> will
|
||
read commands separated by a newline (\n) from stdin.
|
||
The commands are documented in the
|
||
<ulink url="../../tech/slave.txt">slave.txt</ulink> file.
|
||
</para>
|
||
</sect2>
|
||
</sect1>
|
||
|
||
|
||
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
||
|
||
|
||
<sect1 id="streaming">
|
||
<title>Streaming from network or pipes</title>
|
||
|
||
<para>
|
||
<application>MPlayer</application> can play files from the network, using the
|
||
HTTP, FTP, MMS or RTSP/RTP protocol.
|
||
</para>
|
||
|
||
<para>
|
||
Playing works simply by passing the URL on the command line.
|
||
<application>MPlayer</application> honors the <envar>http_proxy</envar>
|
||
environment variable, using a proxy if available. Proxies can also be forced:
|
||
<screen>
|
||
mplayer <replaceable>http_proxy://proxy.micorsops.com:3128/http://micorsops.com:80/stream.asf</replaceable>
|
||
</screen>
|
||
</para>
|
||
|
||
<para>
|
||
<application>MPlayer</application> can read from stdin
|
||
(<emphasis>not</emphasis> named pipes). This can for example be used to
|
||
play from FTP:
|
||
<screen>
|
||
wget <replaceable>ftp://micorsops.com/something.avi</replaceable> -O - | mplayer -
|
||
</screen>
|
||
</para>
|
||
|
||
<note><para>
|
||
It is also recommended to enable <option>-cache</option> when playing
|
||
from the network:
|
||
<screen>
|
||
wget <replaceable>ftp://micorsops.com/something.avi</replaceable> -O - | mplayer -cache 8192 -
|
||
</screen>
|
||
</para></note>
|
||
|
||
<!-- ********** -->
|
||
|
||
<sect2 id="streaming-save">
|
||
<title>Saving streamed content</title>
|
||
|
||
<para>
|
||
Once you succeed in making <application>MPlayer</application> play
|
||
your favorite internet stream, you can use the option
|
||
<option>-dumpstream</option> to save the stream into a file.
|
||
For example:
|
||
<screen>
|
||
mplayer <replaceable>http://217.71.208.37:8006</replaceable> -dumpstream -dumpfile <replaceable>stream.asf</replaceable>
|
||
</screen>
|
||
will save the content streamed from
|
||
<replaceable>http://217.71.208.37:8006</replaceable> into
|
||
<replaceable>stream.asf</replaceable>.
|
||
This works with all protocols supported by
|
||
<application>MPlayer</application>, like MMS, RTSP, and so forth.
|
||
</para>
|
||
</sect2>
|
||
</sect1>
|
||
|
||
|
||
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
||
|
||
|
||
<sect1 id="drives">
|
||
<title>CD/DVD驱动器</title>
|
||
|
||
<para>
|
||
现代的CD-ROM驱动器能达到很高的速度,然而一些CD-ROM也可以在降低速度下运行。
|
||
有几条原因可能使你考虑改变CD-ROM的读盘速度:
|
||
</para>
|
||
|
||
<itemizedlist>
|
||
<listitem><para>
|
||
有报告称告诉读取可产生错误,尤其是制作恶劣的CD-ROM。降低速度可以防止这些
|
||
情况下的数据丢失。
|
||
</para></listitem>
|
||
|
||
<listitem><para>
|
||
许多CD-ROM驱动器有很讨厌的噪音,低俗可以降低这些噪音。
|
||
</para></listitem>
|
||
</itemizedlist>
|
||
|
||
<!-- ********** -->
|
||
|
||
<sect2 id="drives_linux">
|
||
<title>Linux</title>
|
||
|
||
<para>
|
||
你可以使用<command>hdparm</command>,<command>setcd</command>或
|
||
<command>cdctl</command>以减慢IDE CD-ROM的驱动器。使用方法如下:
|
||
<screen>hdparm -E <replaceable>[speed]</replaceable> <replaceable>[cdrom device]</replaceable></screen>
|
||
<screen>setcd -x <replaceable>[speed]</replaceable> <replaceable>[cdrom device]</replaceable></screen>
|
||
<screen>cdctl -bS <replaceable>[speed]</replaceable></screen>
|
||
</para>
|
||
|
||
<para>
|
||
如果你使用SCSI模拟,你必须把设置应用到真正的IDE驱动器,不是被
|
||
模拟的SCSI设备。
|
||
</para>
|
||
|
||
<para>
|
||
如果你有root权限,下面的命令也可能有帮助:
|
||
<screen>echo file_readahead:2000000 > /proc/ide/<replaceable>[cdrom device]</replaceable>/settings</screen>
|
||
</para>
|
||
|
||
<para>
|
||
这将预读取的文件设置为2MB,这对有划痕的CD-ROM有帮助。如果你设置
|
||
的太大,驱动器会不断来回转动,极大降低性能。
|
||
推荐你使用<command>hdparm</command>调整你的CD-ROM:
|
||
<screen>hdparm -d1 -a8 -u1 <replaceable>[cdrom device]</replaceable></screen>
|
||
</para>
|
||
|
||
<para>
|
||
这开启了DMA读取,预读,以及IRQ遮盖(对于详细解释阅读
|
||
<command>hdparm</command>man页)。
|
||
</para>
|
||
|
||
<para>
|
||
请阅读
|
||
"<filename>/proc/ide/<replaceable>[cdrom device]</replaceable>/settings</filename>"
|
||
以很好调整你的CD-ROM。
|
||
</para>
|
||
|
||
<para>
|
||
SCSI驱动器没有统一设置参数的方法(你知道?告诉我们!),有一个工具
|
||
<ulink url="http://das.ist.org/~georg/">Plextor SCSI drives</ulink>可参照。
|
||
</para>
|
||
</sect2>
|
||
|
||
<!-- ********** -->
|
||
|
||
<sect2 id="drives_freebsd">
|
||
<title>FreeBSD</title>
|
||
|
||
<para>speed:
|
||
<screen>
|
||
cdcontrol [-f <replaceable>device</replaceable>] speed <replaceable>[speed]</replaceable>
|
||
</screen>
|
||
</para>
|
||
|
||
<para>DMA:
|
||
<screen>
|
||
sysctl hw.ata.atapi_dma=1
|
||
</screen>
|
||
</para>
|
||
|
||
</sect2>
|
||
|
||
</sect1>
|
||
|
||
|
||
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
||
|
||
|
||
<sect1 id="dvd">
|
||
<title>DVD回放</title>
|
||
|
||
<para>
|
||
对于完整的可用选项,请阅读man页。
|
||
播放标准DVD的语法如下:
|
||
<screen>
|
||
mplayer dvd://<replaceable><track></replaceable> [-dvd-device <replaceable><device></replaceable>]
|
||
</screen>
|
||
</para>
|
||
|
||
<para>
|
||
例如:
|
||
<screen>mplayer dvd://1 -dvd-device /dev/hdc</screen>
|
||
</para>
|
||
|
||
<para>
|
||
如果你使用dvdnav支持编译<application>MPlayer</application>,语法是一样的,但你要用
|
||
dvdnav://而不用dvd://。
|
||
</para>
|
||
|
||
<para>
|
||
默认的DVD设备是<filename>/dev/dvd</filename>。如果你的设置不同,创建
|
||
个连接或者在命令行中用<option>-dvd-device</option>指定正确的设备。
|
||
</para>
|
||
|
||
<para>
|
||
对于DVD回放及解密,<application>MPlayer</application>使用
|
||
<systemitem>libdvdread</systemitem>及<systemitem>libdvdcss</systemitem>
|
||
这两个库在
|
||
<application>MPlayer</application>的源码树中,你不必单独安装。你也可以使用
|
||
全系统可用的版本,但这种做法不被推荐,因为它能导致错误,库不兼容以及更慢的
|
||
速度。
|
||
</para>
|
||
|
||
<note><para>
|
||
对于DVD解码问题,尝试禁用supermount,或者其它相应特性。一些RPC-2驱动器
|
||
可能还需要设置区域代码。
|
||
</para></note>
|
||
|
||
<formalpara>
|
||
<title>DVD结构</title>
|
||
<para>
|
||
DVD磁盘的每个簇有带有ECC/CRC的2048字节。每个轨上采用UDF文件格式,包含各种文
|
||
件(小的.IFO及.BUK文件以极大的(1GB)的.VOB文件)。它们是真正的文件能从被挂
|
||
载的未加密的DVD中复制/播放。
|
||
</para>
|
||
</formalpara>
|
||
|
||
<para>
|
||
.IFO文件包含电影的浏览信息(章/标题/视角图,语言表等),它们被用于读及解析
|
||
.VOB的内容(影片)。.BUK文件是它们的备份。他们到处使用<emphasis role="bold">簇</emphasis>,
|
||
所以你需要指定光盘上真正的簇地址以完成DVD浏览或对内容进行解密。
|
||
</para>
|
||
|
||
<para>
|
||
DVD支持通过原始的对设备基于簇的访问。不幸的是,(在Linux中)要得到一个文件
|
||
的簇地址,你必须是超级用户。那就是我们不使用内核的文件系统的原因,我们在用
|
||
户层对此进行了重新实现。<systemitem>libdvdread</systemitem> 0.9.x完成了此项
|
||
工作。我们并不需要内核中的UDF文件系统驱动因为它们已经有了自己内置的UDF文件
|
||
</para>
|
||
|
||
<para>
|
||
有时<filename>/dev/dvd</filename>对用户不可读,所以
|
||
<systemitem>libdvdread</systemitem>的作者实现了一个模拟层,其实现了将簇地址
|
||
提交到文件名+偏移量中,以模拟在挂载的文件系统甚至是硬盘上的直接访问。
|
||
</para>
|
||
|
||
<para>
|
||
<systemitem>libdvdread</systemitem>对于直接访问甚至支持挂载点而不是设备名并
|
||
检查<filename>/proc/mounts</filename>以得到设备名称。其被开发在Solaris上,
|
||
在那系统上设备名是动态分配的。
|
||
</para>
|
||
|
||
<formalpara>
|
||
<title>DVD解密</title>
|
||
<para>
|
||
DVD解密通过<systemitem>libdvdcss</systemitem>完成。这个方法可以通过
|
||
<envar>DVDCSS_METHOD</envar>环境变量设置,具体细节参考man页。
|
||
</para>
|
||
</formalpara>
|
||
|
||
<para>
|
||
RPC-1 DVD驱动器只使用软件对区域设置进行保护。RPC-2驱动器有一个硬件保护,只准
|
||
许做5次更改。你可能需要或被推荐把firmware升级到RPC-1,如果你有个RPC-2 DVD驱动
|
||
器。你可以在因特网上寻找firmware的升级,
|
||
<ulink url="http://forum.rpc-1.com/dl_all.php">此firmware论坛</ulink>
|
||
对你的搜索可能是个好起点。如果没有针对你的设备的firmware升级,使用
|
||
<ulink url="http://linvdr.org/projects/regionset/">区域工具</ulink>
|
||
来设置你DVD的区域码(在Linux下)。
|
||
<emphasis role="bold">警告</emphasis>:你只可以设置5次区域。
|
||
</para>
|
||
</sect1>
|
||
|
||
|
||
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
||
|
||
|
||
<sect1 id="vcd">
|
||
<title>VCD回放</title>
|
||
|
||
<para>
|
||
对于可用选项的详细列表,请阅读man页。对于标准视频CD (VCD)的语法如下:
|
||
<screen>mplayer vcd://<replaceable><track></replaceable> [-cdrom-device <replaceable><device></replaceable>]</screen>
|
||
例如:
|
||
<screen>mplayer vcd://2 -cdrom-device /dev/hdc</screen>
|
||
默认的VCD设备是<filename>/dev/cdrom</filename>。如果你的设置不同,建
|
||
立个连接或者在命令行通过<option>-cdrom-device</option>选项指定正确设备。
|
||
</para>
|
||
|
||
<note><para>
|
||
至少Plextor及一些Toshiba SCSI CD-ROM驱动器对读取VCD有着恐怖的性能。这是因为
|
||
针对这些设备的CDROMREADRAW <systemitem>ioctl</systemitem>没有完成。如果你有
|
||
SCSI编程知识,请<ulink url="../../tech/patches.txt">帮我们</ulink>实现对SCSI
|
||
VCD的支持。
|
||
</para></note>
|
||
|
||
<para>
|
||
同时,你可以通过
|
||
In the meantime you can extract data from VCDs with
|
||
<ulink url="http://ftp.ntut.edu.tw/ftp/OS/Linux/packages/X/viewers/readvcd/">readvcd</ulink>
|
||
从VCD提取数据并用<application>MPlayer</application>播放最终文件。
|
||
</para>
|
||
|
||
<formalpara>
|
||
<title>VCD结构</title>
|
||
<para>
|
||
视频CD (VCD)由CD-ROM XA簇组成,例如CD-ROM 模式 2
|
||
表格1及2轨:
|
||
<itemizedlist>
|
||
<listitem><para>
|
||
第一个轨道处于模式2表格2格式下,这意味着他使用L2错误恢复。此轨道含有
|
||
ISO-9660文件系统,其拥有2048字节/簇。此文件系统含有VCD属性数据信息,
|
||
以及经常用于菜单上的静态桢。对菜单的MPEG块也能存于这第一个轨道上,但
|
||
MPEG不得不被分散成一系列的150个簇的块。ISO-9660文件系统可以包含其它
|
||
对于VCD操作不重要的文件或程序。
|
||
</para></listitem>
|
||
|
||
<listitem><para>
|
||
第二及余下的轨道通常是原始的2324字节/簇的MPEG(影片)轨道,每个簇包含
|
||
一个MPEG PS数据包。这些处于模式2表格1格式,所以他们没簇存储更多数据,
|
||
损失了一些纠错。在一个VCD的第一个轨道后也包含CD-DA轨道也是合法的。在
|
||
一些操作系统中,有些技巧是这些非ISO-9660轨道出现在文件系统中。在另外
|
||
一些操作系统中如GNU/Linux,这还(未)被实现。在此,MPEG数据
|
||
<emphasis role="bold">不能被挂载</emphasis>。因为大部分电影在这种轨道
|
||
内,你应先试<option>vcd://2</option>。
|
||
</para></listitem>
|
||
|
||
<listitem><para>
|
||
还存在没有第一个轨道的VCD(单一轨道根本没有文件系统)。他们仍然是可
|
||
播放的,但不能被挂载。
|
||
</para></listitem>
|
||
|
||
<listitem><para>
|
||
视频CD的定义被称为Philips"白皮书",它通常并不出现在网上因为它要从
|
||
Philips购买。对于视频CD更详细的资料可从
|
||
<ulink url="http://www.vcdimager.org/pub/vcdimager/manuals/0.7/vcdimager.html#SEC4">vcdimager文档</ulink>
|
||
获取。
|
||
</para></listitem>
|
||
</itemizedlist>
|
||
</para>
|
||
</formalpara>
|
||
|
||
<formalpara>
|
||
<title>关于.DAT文件</title>
|
||
<para>
|
||
被挂载的VCD上处于第一个轨道上的~600MB的文件并不是真正的文件!它是所谓的ISO网
|
||
关,其被创建以便Windows处理这些轨道(Windows根本不允许应用程序直接访问原始设
|
||
备)。在Linux下你不能复制或播放这些文件(它们包含垃圾)。在Windows下,这是可
|
||
能的因为他的iso9660驱动模拟了在文件内直接读取轨道。要播放.DAT文件,你需要内核
|
||
驱动,岂可再PowerDVD的Linux版本中找到。其有一个更改的iso9660文件系统
|
||
(<filename>vcdfs/isofs-2.4.X.o</filename>)驱动,你可以通过<application>MPlayer</application>
|
||
复制甚至播放.DAT文件。但在Linux内核的标准的iso9660驱动上它不能工作!另外使用
|
||
使用<option>vcd://</option>。对于VCD复制另外的方法是内核新的
|
||
<ulink url="http://www.elis.rug.ac.be/~ronsse/cdfs/">cdfs</ulink>驱动(不是
|
||
官方内核的一部分)其将CD会话显示为镜像文件及<ulink url="http://cdrdao.sf.net/">cdrdao</ulink>,
|
||
一个逐位的CD抓轨/复制程序。
|
||
</para>
|
||
</formalpara>
|
||
</sect1>
|
||
|
||
|
||
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
||
|
||
|
||
<sect1 id="edl" xreflabel="Edit Decision Lists (EDL)">
|
||
<title>Edit Decision Lists (EDL)</title>
|
||
|
||
<para>
|
||
The edit decision list (EDL) system allows you to automatically skip
|
||
or mute sections of videos during playback, based on a movie specific
|
||
EDL configuration file.
|
||
</para>
|
||
|
||
<para>
|
||
This is useful for those who may want to watch a film in "family-friendly"
|
||
mode. You can cut out any violence, profanity, Jar-Jar Binks .. from a movie
|
||
according to your own personal preferences. Aside from this, there are other
|
||
uses, like automatically skipping over commercials in video files you watch.
|
||
</para>
|
||
|
||
<para>
|
||
The EDL file format is pretty bare-bones. There is one command per line that
|
||
indicates what to do (skip/mute) and when to do it (using pts in seconds).
|
||
</para>
|
||
|
||
<!-- ********** -->
|
||
|
||
<sect2 id="edl_using">
|
||
<title>Using an EDL file</title>
|
||
|
||
<para>
|
||
Include the <option>-edl <filename></option> flag when you run
|
||
<application>MPlayer</application>, with the name of the EDL file you
|
||
want applied to the video.
|
||
</para>
|
||
</sect2>
|
||
|
||
<!-- ********** -->
|
||
|
||
<sect2 id="edl_making">
|
||
<title>Making an EDL file</title>
|
||
|
||
<para>
|
||
The current EDL file format is:
|
||
<programlisting>[begin second] [end second] [action]</programlisting>
|
||
Where the seconds are floating-point numbers and the action is either
|
||
<literal>0</literal> for skip or <literal>1</literal> for mute. Example:
|
||
<programlisting>
|
||
5.3 7.1 0
|
||
15 16.7 1
|
||
420 422 0
|
||
</programlisting>
|
||
This will skip from second 5.3 to second 7.1 of the video, then mute at
|
||
15 seconds, unmute at 16.7 seconds and skip from second 420 to second 422
|
||
of the video. These actions will be performed when the playback timer
|
||
reaches the times given in the file.
|
||
</para>
|
||
|
||
<para>
|
||
To create an EDL file to work from, use the <option>-edlout
|
||
<filename></option> flag. During playback, just hit <keycap>i</keycap> to
|
||
mark the beginning and end of a skip block.
|
||
A corresponding entry will be written to the file for that time.
|
||
You can then go back and fine-tune the generated EDL file as well as
|
||
change the default operation which is to skip the block described by each line.
|
||
</para>
|
||
</sect2>
|
||
</sect1>
|
||
|
||
|
||
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
||
|
||
|
||
<sect1 id="advaudio-surround">
|
||
<title>Surround/Multichannel playback</title>
|
||
|
||
<sect2 id="advaudio-surround-DVD">
|
||
<title>DVDs</title>
|
||
|
||
<para>
|
||
Most DVDs and many other files include surround sound.
|
||
<application>MPlayer</application> supports surround playback but does not
|
||
enable it by default because stereo equipment is by far more common. To play a
|
||
file that has more than two channels of audio use <option>-channels</option>.
|
||
For example, to play a DVD with 5.1 audio:
|
||
<screen>mplayer dvd://1 -channels 6</screen>
|
||
Note that despite the name "5.1" there are actually six discrete channels.
|
||
If you have surround sound equipment it is safe to put the
|
||
<option>channels</option> option in your <application>MPlayer</application>
|
||
configuration file <filename>~/.mplayer/config</filename>. For example, to make
|
||
quadraphonic playback the default, add this line:
|
||
<programlisting>channels=4</programlisting>
|
||
<application>MPlayer</application> will then output audio in four channels when
|
||
all four channels are available.
|
||
</para>
|
||
</sect2>
|
||
|
||
|
||
<sect2 id="advaudio-surround-stereoinfour">
|
||
<title>Playing stereo files to four speakers</title>
|
||
|
||
<para>
|
||
<application>MPlayer</application> does not duplicate any channels by default,
|
||
and neither do most audio drivers. If you want to do that manually:
|
||
<screen>mplayer <replaceable>filename</replaceable> -af channels=2:2:0:1:0:0</screen>
|
||
See the section on
|
||
<link linkend="advaudio-channels-copying">channel copying</link> for an
|
||
explanation.
|
||
</para>
|
||
</sect2>
|
||
|
||
|
||
<sect2 id="advaudio-surround-passthrough">
|
||
<title>AC-3/DTS Passthrough</title>
|
||
|
||
<para>
|
||
DVDs usually have surround audio encoded in AC-3 (Dolby Digital) or DTS
|
||
(Digital Theater System) format. Some modern audio equipment is capable of
|
||
decoding these formats internally. <application>MPlayer</application> can be
|
||
configured to relay the audio data without decoding it. This will only work if
|
||
you have a S/PDIF (Sony/Philips Digital Interface) jack in your sound card, or
|
||
if you are passing audio over HDMI.
|
||
</para>
|
||
|
||
<para>
|
||
If your audio equipment can decode both AC-3 and DTS, you can safely enable
|
||
passthrough for both formats. Otherwise, enable passthrough for only the format
|
||
your equipment supports.
|
||
</para>
|
||
|
||
<itemizedlist>
|
||
<title>To enable passthrough on the command line:</title>
|
||
<listitem><para>
|
||
For AC-3 only, use <option>-ac hwac3</option>
|
||
</para></listitem>
|
||
<listitem><para>
|
||
For DTS only, use <option>-ac hwdts</option>
|
||
</para></listitem>
|
||
<listitem><para>
|
||
For both AC-3 and DTS, use <option>-afm hwac3</option>
|
||
</para></listitem>
|
||
</itemizedlist>
|
||
|
||
<itemizedlist>
|
||
<title>To enable passthrough in the <application>MPlayer</application>
|
||
configuration file: </title>
|
||
<listitem><para>
|
||
For AC-3 only, use <option>ac=hwac3,</option>
|
||
</para></listitem>
|
||
<listitem><para>
|
||
For DTS only, use <option>ac=hwdts,</option>
|
||
</para></listitem>
|
||
<listitem><para>
|
||
For both AC-3 and DTS, use <option>afm=hwac3</option>
|
||
</para></listitem>
|
||
</itemizedlist>
|
||
|
||
<para>
|
||
Note that there is a comma (",") at the end of
|
||
<option>ac=hwac3,</option> and <option>ac=hwdts,</option>. This will make
|
||
<application>MPlayer</application> fall back on the codecs it normally uses when
|
||
playing a file that does not have AC-3 or DTS audio.
|
||
<option>afm=hwac3</option> does not need a comma;
|
||
<application>MPlayer</application> will fall back anyway when an audio family
|
||
is specified.
|
||
</para>
|
||
</sect2>
|
||
|
||
|
||
<sect2 id="hwmpa-surround-passthrough">
|
||
<title>MPEG audio Passthrough</title>
|
||
|
||
<para>
|
||
Digital TV transmissions (such as DVB and ATSC) and some DVDs usually have
|
||
MPEG audio streams (in particular MP2).
|
||
Some MPEG hardware decoders such as full-featured DVB cards and DXR2
|
||
adapters can natively decode this format.
|
||
<application>MPlayer</application> can be configured to relay the audio data
|
||
without decoding it.
|
||
</para>
|
||
|
||
<para>
|
||
To use this codec:
|
||
<screen> mplayer -ac hwmpa </screen>
|
||
</para>
|
||
</sect2>
|
||
|
||
|
||
<sect2 id="advaudio-surround-matrix">
|
||
<title>Matrix-encoded audio</title>
|
||
|
||
<para>
|
||
<emphasis>***TODO***</emphasis>
|
||
</para>
|
||
|
||
<para>
|
||
This section has yet to be written and cannot be completed until somebody
|
||
provides sample files for us to test. If you have any matrix-encoded audio
|
||
files, know where to find some, or have any information that could be helpful,
|
||
please send a message to the
|
||
<ulink url="http://lists.mplayerhq.hu/mailman/listinfo/mplayer-docs">MPlayer-DOCS</ulink>
|
||
mailing list. Put "[matrix-encoded audio]" in the subject line.
|
||
</para>
|
||
|
||
<para>
|
||
If no files or further information are forthcoming this section will be dropped.
|
||
</para>
|
||
|
||
<para>
|
||
Good links:
|
||
<itemizedlist>
|
||
<listitem><para>
|
||
<ulink url="http://electronics.howstuffworks.com/surround-sound5.htm">http://electronics.howstuffworks.com/surround-sound5.htm</ulink>
|
||
</para></listitem>
|
||
<listitem><para>
|
||
<ulink url="http://www.extremetech.com/article2/0,1697,1016875,00.asp">http://www.extremetech.com/article2/0,1697,1016875,00.asp</ulink>
|
||
</para></listitem>
|
||
</itemizedlist>
|
||
</para>
|
||
</sect2>
|
||
|
||
|
||
<sect2 id="advaudio-surround-hrtf">
|
||
<title>Surround emulation in headphones</title>
|
||
|
||
<para>
|
||
<application>MPlayer</application> includes an HRTF (Head Related Transfer
|
||
Function) filter based on an
|
||
<ulink url="http://sound.media.mit.edu/KEMAR.html">MIT project</ulink>
|
||
wherein measurements were taken from microphones mounted on a dummy human head.
|
||
</para>
|
||
|
||
<para>
|
||
Although it is not possible to exactly imitate a surround system,
|
||
<application>MPlayer</application>'s HRTF filter does provide more spatially
|
||
immersive audio in 2-channel headphones. Regular downmixing simply combines all
|
||
the channels into two; besides combining the channels, <option>hrtf</option>
|
||
generates subtle echoes, increases the stereo separation slightly, and alters
|
||
the volume of some frequencies. Whether HRTF sounds better may be dependent on
|
||
the source audio and a matter of personal taste, but it is definitely worth
|
||
trying out.
|
||
</para>
|
||
|
||
<para>
|
||
To play a DVD with HRTF:
|
||
<screen>mplayer dvd://1 -channels 6 -af hrtf</screen>
|
||
</para>
|
||
|
||
<para>
|
||
<option>hrtf</option> only works well with 5 or 6 channels. Also,
|
||
<option>hrtf</option> requires 48 kHz audio. DVD audio is already 48 kHz, but if
|
||
you have a file with a different sampling rate that you want to play using
|
||
<option>hrtf</option> you must resample it:
|
||
<screen>
|
||
mplayer <replaceable>filename</replaceable> -channels 6 -af resample=48000,hrtf
|
||
</screen>
|
||
</para>
|
||
</sect2>
|
||
|
||
|
||
<sect2 id="advaudio-surround-troubleshooting">
|
||
<title>Troubleshooting</title>
|
||
|
||
<para>
|
||
If you do not hear any sound out of your surround channels, check your mixer
|
||
settings with a mixer program such as <application>alsamixer</application>;
|
||
audio outputs are often muted and set to zero volume by default.
|
||
</para>
|
||
</sect2>
|
||
</sect1>
|
||
|
||
<!-- ********** -->
|
||
|
||
<sect1 id="advaudio-channels">
|
||
<title>Channel manipulation</title>
|
||
|
||
<sect2 id="advaudio-channels-general">
|
||
<title>General information</title>
|
||
|
||
<para>
|
||
Unfortunately, there is no standard for how channels are ordered. The orders
|
||
listed below are those of AC-3 and are fairly typical; try them and see if your
|
||
source matches. Channels are numbered starting with 0.
|
||
|
||
<orderedlist spacing="compact">
|
||
<title>mono</title>
|
||
<listitem override="0"><para>center</para></listitem>
|
||
</orderedlist>
|
||
|
||
<orderedlist spacing="compact">
|
||
<title>stereo</title>
|
||
<listitem override="0"><para>left</para></listitem>
|
||
<listitem><para>right</para></listitem>
|
||
</orderedlist>
|
||
|
||
<orderedlist spacing="compact">
|
||
<title>quadraphonic</title>
|
||
<listitem override="0"><para>left front</para></listitem>
|
||
<listitem><para>right front</para></listitem>
|
||
<listitem><para>left rear</para></listitem>
|
||
<listitem><para>right rear</para></listitem>
|
||
</orderedlist>
|
||
|
||
<orderedlist spacing="compact">
|
||
<title>surround 4.0</title>
|
||
<listitem override="0"><para>left front</para></listitem>
|
||
<listitem><para>right front</para></listitem>
|
||
<listitem><para>center rear</para></listitem>
|
||
<listitem><para>center front</para></listitem>
|
||
</orderedlist>
|
||
|
||
<orderedlist spacing="compact">
|
||
<title>surround 5.0</title>
|
||
<listitem override="0"><para>left front</para></listitem>
|
||
<listitem><para>right front</para></listitem>
|
||
<listitem><para>left rear</para></listitem>
|
||
<listitem><para>right rear</para></listitem>
|
||
<listitem><para>center front</para></listitem>
|
||
</orderedlist>
|
||
|
||
<orderedlist spacing="compact">
|
||
<title>surround 5.1</title>
|
||
<listitem override="0"><para>left front</para></listitem>
|
||
<listitem><para>right front</para></listitem>
|
||
<listitem><para>left rear</para></listitem>
|
||
<listitem><para>right rear</para></listitem>
|
||
<listitem><para>center front</para></listitem>
|
||
<listitem><para>subwoofer</para></listitem>
|
||
</orderedlist>
|
||
</para>
|
||
|
||
<para>
|
||
The <option>-channels</option> option is used to request the number of
|
||
channels from the audio decoder. Some audio codecs use the number of specified
|
||
channels to decide if downmixing the source is necessary. Note that this does
|
||
not always affect the number of output channels. For example, using
|
||
<option>-channels 4</option> to play a stereo MP3 file will still result in
|
||
2-channel output since the MP3 codec will not produce the extra channels.
|
||
</para>
|
||
|
||
<para>
|
||
The <option>channels</option> audio filter can be used to create or remove
|
||
channels and is useful for controlling the number of channels sent to the sound
|
||
card. See the following sections for more information on channel manipulation.
|
||
</para>
|
||
</sect2>
|
||
|
||
|
||
<sect2 id="advaudio-channels-mono">
|
||
<title>Playing mono with two speakers</title>
|
||
|
||
<para>
|
||
Mono sounds a lot better when played through two speakers - especially when
|
||
using headphones. Audio files that truly have one channel are automatically
|
||
played through two speakers; unfortunately, most files with mono sound are
|
||
actually encoded as stereo with one channel silent. The easiest and most
|
||
foolproof way to make both speakers output the same audio is the
|
||
<option>extrastereo</option> filter:
|
||
<screen>mplayer <replaceable>filename</replaceable> -af extrastereo=0</screen>
|
||
</para>
|
||
|
||
<para>
|
||
This averages both channels, resulting in both channels being half as loud as
|
||
the original. The next sections have examples of other ways to do this without a
|
||
volume decrease, but they are more complex and require different options
|
||
depending on which channel to keep. If you really need to maintain the volume,
|
||
it may be easier to experiment with the <option>volume</option> filter and find
|
||
the right value. For example:
|
||
<screen>
|
||
mplayer <replaceable>filename</replaceable> -af extrastereo=0,volume=5
|
||
</screen>
|
||
</para>
|
||
</sect2>
|
||
|
||
|
||
<sect2 id="advaudio-channels-copying">
|
||
<title>Channel copying/moving</title>
|
||
|
||
<para>
|
||
The <option>channels</option> filter can move any or all channels.
|
||
Setting up all the suboptions for the <option>channels</option>
|
||
filter can be complicated and takes a little care.
|
||
|
||
<orderedlist spacing="compact">
|
||
<listitem><para>
|
||
Decide how many output channels you need. This is the first suboption.
|
||
</para></listitem>
|
||
<listitem><para>
|
||
Count how many channel moves you will do. This is the second suboption. Each
|
||
channel can be moved to several different channels at the same time, but keep
|
||
in mind that when a channel is moved (even if to only one destination) the
|
||
source channel will be empty unless another channel is moved into it. To copy
|
||
a channel, keeping the source the same, simply move the channel into both the
|
||
destination and the source. For example:
|
||
<programlisting>
|
||
channel 2 --> channel 3
|
||
channel 2 --> channel 2<!--
|
||
--></programlisting>
|
||
</para></listitem>
|
||
<listitem><para>
|
||
Write out the channel copies as pairs of suboptions. Note that the first
|
||
channel is 0, the second is 1, etc. The order of these suboptions does not
|
||
matter as long as they are properly grouped into
|
||
<replaceable>source:destination</replaceable> pairs.
|
||
</para></listitem>
|
||
</orderedlist>
|
||
</para>
|
||
|
||
<bridgehead>Example: one channel in two speakers</bridgehead>
|
||
<para>
|
||
Here is an example of another way to play one channel in both speakers. Suppose
|
||
for this example that the left channel should be played and the right channel
|
||
discarded. Following the steps above:
|
||
<orderedlist>
|
||
<listitem><para>
|
||
In order to provide an output channel for each of the two speakers, the first
|
||
suboption must be "2".
|
||
</para></listitem>
|
||
<listitem><para>
|
||
The left channel needs to be moved to the right channel, and also must be
|
||
moved to itself so it won't be empty. This is a total of two moves, making
|
||
the second suboption "2" as well.
|
||
</para></listitem>
|
||
<listitem><para>
|
||
To move the left channel (channel 0) into the right channel (channel 1), the
|
||
suboption pair is "0:1", "0:0" moves the left channel onto itself.
|
||
</para></listitem>
|
||
</orderedlist>
|
||
Putting that all together gives:
|
||
<screen>
|
||
mplayer <replaceable>filename</replaceable> -af channels=2:2:0:1:0:0
|
||
</screen>
|
||
</para>
|
||
|
||
<para>
|
||
The advantage this example has over <option>extrastereo</option> is that the
|
||
volume of each output channel is the same as the input channel. The disadvantage
|
||
is that the suboptions must be changed to "2:2:1:0:1:1" when the desired audio
|
||
is in the right channel. Also, it is more difficult to remember and type.
|
||
</para>
|
||
|
||
<bridgehead>Example: left channel in two speakers shortcut</bridgehead>
|
||
<para>
|
||
There is actually a much easier way to use the <option>channels</option> filter
|
||
for playing the left channel in both speakers:
|
||
<screen>mplayer <replaceable>filename</replaceable> -af channels=1</screen>
|
||
The second channel is discarded and, with no further suboptions, the single
|
||
remaining channel is left alone. Sound card drivers automatically play
|
||
single-channel audio in both speakers. This only works when the desired channel
|
||
is on the left.
|
||
</para>
|
||
|
||
<bridgehead>Example: duplicate front channels to the rear</bridgehead>
|
||
<para>
|
||
Another common operation is to duplicate the front channels and play them back
|
||
on the rear speakers of a quadraphonic setup.
|
||
<orderedlist>
|
||
<listitem><para>
|
||
There should be four output channels. The first suboption is "4".
|
||
</para></listitem>
|
||
<listitem><para>
|
||
Each of the two front channels needs to be moved to the corresponding rear
|
||
channel and also to itself. This is four moves, so the second suboption is "4".
|
||
</para></listitem>
|
||
<listitem><para>
|
||
The left front (channel 0) needs to moved to the left rear (channel 2):
|
||
"0:2". The left front also needs to be moved to itself: "0:0". The right
|
||
front (channel 1) is moved to the right rear (channel 3): "1:3", and also to
|
||
itself: "1:1".
|
||
</para></listitem>
|
||
</orderedlist>
|
||
Combine all the suboptions to get:
|
||
<screen>
|
||
mplayer <replaceable>filename</replaceable> -af channels=4:4:0:2:0:0:1:3:1:1
|
||
</screen>
|
||
</para>
|
||
</sect2>
|
||
|
||
|
||
<sect2 id="advaudio-channels-mixing">
|
||
<title>Channel mixing</title>
|
||
|
||
<para>
|
||
The <option>pan</option> filter can mix channels in user-specified proportions.
|
||
This allows for everything the <option>channels</option> filter can do and
|
||
more. Unfortunately, the suboptions are much more complicated.
|
||
<orderedlist>
|
||
<listitem><para>
|
||
Decide how many channels to work with. You may need to specify this with
|
||
<option>-channels</option> and/or <option>-af channels</option>.
|
||
Later examples will show when to use which.
|
||
</para></listitem>
|
||
<listitem><para>
|
||
Decide how many channels to feed into <option>pan</option> (further decoded
|
||
channels are discarded). This is the first suboption, and it also controls how
|
||
many channels to employ for output.
|
||
</para></listitem>
|
||
<listitem>
|
||
<para>
|
||
The remaining suboptions specify how much of each channel gets mixed into each
|
||
other channel. This is the complicated part. To break the task down, split the
|
||
suboptions into several sets, one set for each input channel. Each suboption
|
||
within a set corresponds to an output channel. The number you specify will be
|
||
the percentage of the input channel that gets mixed into the output channel.
|
||
</para>
|
||
<para>
|
||
<option>pan</option> accepts values from 0 to 512, yielding 0% to 51200% of
|
||
the original volume. Be careful when using values greater than 1. Not only
|
||
can this give you very high volume, but if you exceed the sample range of
|
||
your sound card you may hear painful pops and clicks. If you want you can
|
||
follow <option>pan</option> with <option>,volume</option> to enable clipping,
|
||
but it is best to keep the values of <option>pan</option> low enough that
|
||
clipping is not necessary.
|
||
</para>
|
||
</listitem>
|
||
</orderedlist>
|
||
</para>
|
||
|
||
<bridgehead>Example: one channel in two speakers</bridgehead>
|
||
<para>
|
||
Here is yet another example for playing the left channel in two speakers. Follow
|
||
the steps above:
|
||
<orderedlist>
|
||
<listitem><para>
|
||
<option>pan</option> should output two channels, so the first
|
||
suboption is "2".
|
||
</para></listitem>
|
||
<listitem><para>
|
||
Since we have two input channels, there will be two sets of suboptions.
|
||
Since there are also two output channels,
|
||
there will be two suboptions per set.
|
||
The left channel from the file should go with full volume to
|
||
the new left and the right channels.
|
||
Thus the first set of suboptions is "1:1".
|
||
The right channel should be discarded, so the second would be "0:0".
|
||
Any 0 values at the end can be left out, but for ease of
|
||
understanding we will keep them.
|
||
</para></listitem>
|
||
</orderedlist>
|
||
Putting those options together gives:
|
||
<screen>mplayer <replaceable>filename</replaceable> -af pan=2:1:1:0:0</screen>
|
||
If the right channel is desired instead of the left, the suboptions to
|
||
<option>pan</option> will be "2:0:0:1:1".
|
||
</para>
|
||
|
||
|
||
<bridgehead>Example: left channel in two speakers shortcut</bridgehead>
|
||
<para>
|
||
As with <option>channels</option>, there is a shortcut that only works with the
|
||
left channel:
|
||
<screen>mplayer <replaceable>filename</replaceable> -af pan=1:1</screen>
|
||
Since <option>pan</option> has only one channel of input (the other channel is
|
||
discarded), there is only one set with one suboption, which specifies that the
|
||
only channel gets 100% of itself.
|
||
</para>
|
||
|
||
<bridgehead>Example: downmixing 6-channel PCM</bridgehead>
|
||
<para>
|
||
<application>MPlayer</application>'s decoder for 6-channel PCM is not capable of
|
||
downmixing. Here is a way to downmix PCM using <option>pan</option>:
|
||
<orderedlist>
|
||
<listitem><para>
|
||
The number of output channels is 2, so the first suboption is "2".
|
||
</para></listitem>
|
||
<listitem><para>
|
||
With six input channels there will be six sets of options. Fortunately,
|
||
since we only care about the output of the first two channels, we only need to
|
||
make two sets; the remaining four sets can be omitted. Beware that not all
|
||
multichannel audio files have the same channel order! This example
|
||
demonstrates downmixing a file with the same channels as AC-3 5.1:
|
||
<programlisting>
|
||
0 - front left
|
||
1 - front right
|
||
2 - rear left
|
||
3 - rear right
|
||
4 - center front
|
||
5 - subwoofer<!--
|
||
--></programlisting>
|
||
The first set of suboptions lists the percentages of the original volume, in
|
||
order, which each output channel should receive from the
|
||
front left channel: "1:0".
|
||
The front right channel should go into the right output: "0:1".
|
||
The same for the rear channels: "1:0" and "0:1".
|
||
The center channel goes into both output channels with half volume:
|
||
"0.5:0.5", and the subwoofer goes into both with full volume: "1:1".
|
||
</para></listitem>
|
||
</orderedlist>
|
||
Put all that together, for:
|
||
<screen>
|
||
mplayer <replaceable>6-channel.wav</replaceable> -af pan=2:1:0:0:1:1:0:0:1:0.5:0.5:1:1
|
||
</screen>
|
||
The percentages listed above are only a rough example. Feel free to tweak them.
|
||
</para>
|
||
|
||
<bridgehead>Example: Playing 5.1 audio on big speakers without a subwoofer</bridgehead>
|
||
<para>
|
||
If you have a huge pair of front speakers you may not want to waste any money on
|
||
buying a subwoofer for a complete 5.1 sound system. If you use
|
||
<option>-channels 5</option> to request that liba52 decode 5.1 audio in 5.0,
|
||
the subwoofer channel is simply discarded. If you want to distribute the
|
||
subwoofer channel yourself you need to downmix manually with
|
||
<option>pan</option>:
|
||
<orderedlist>
|
||
<listitem><para>
|
||
Since <option>pan</option> needs to examine all six channels, specify
|
||
<option>-channels 6</option> so liba52 decodes them all.
|
||
</para></listitem>
|
||
<listitem><para>
|
||
<option>pan</option> outputs to only five channels, the first suboption is 5.
|
||
</para></listitem>
|
||
<listitem><para>
|
||
Six input channels and five output channels means six sets of five suboptions.
|
||
<itemizedlist spacing="compact">
|
||
<listitem><para>
|
||
The left front channel only replicates onto itself:
|
||
"1:0:0:0:0"
|
||
</para></listitem>
|
||
<listitem><para>
|
||
Same for the right front channel:
|
||
"0:1:0:0:0"
|
||
</para></listitem>
|
||
<listitem><para>
|
||
Same for the left rear channel:
|
||
"0:0:1:0:0"
|
||
</para></listitem>
|
||
<listitem><para>
|
||
And also the same for the right rear channel:
|
||
"0:0:0:1:0"
|
||
</para></listitem>
|
||
<listitem><para>
|
||
Center front, too:
|
||
"0:0:0:0:1"
|
||
</para></listitem>
|
||
<listitem><para>
|
||
And now we have to decide what to do with the subwoofer,
|
||
e.g. half into front right and front left:
|
||
"0.5:0.5:0:0:0"
|
||
</para></listitem>
|
||
</itemizedlist>
|
||
</para></listitem>
|
||
</orderedlist>
|
||
Combine all those options to get:
|
||
<screen>
|
||
mplayer <replaceable>dvd://1</replaceable> -channels 6 -af pan=5:1:0:0:0:0:0:1:0:0:0:0:0:1:0:0:0:0:0:1:0:0:0:0:0:1:0.5:0.5:0:0:0
|
||
</screen>
|
||
</para>
|
||
</sect2>
|
||
</sect1>
|
||
|
||
<!-- ********** -->
|
||
|
||
<sect1 id="advaudio-volume">
|
||
<title>Software Volume adjustment</title>
|
||
|
||
<para>
|
||
Some audio tracks are too quiet to be heard comfortably without amplification.
|
||
This becomes a problem when your audio equipment cannot amplify the signal for
|
||
you. The <option>-softvol</option> option directs
|
||
<application>MPlayer</application> to use an internal mixer. You can then use
|
||
the volume adjustment keys (by default <keycap>9</keycap> and
|
||
<keycap>0</keycap>) to reach much higher volume levels. Note that this does not
|
||
bypass your sound card's mixer; <application>MPlayer</application> only
|
||
amplifies the signal before sending it to your sound card.
|
||
The following example is a good start:
|
||
<screen>
|
||
mplayer <replaceable>quiet-file</replaceable> -softvol -softvol-max 300
|
||
</screen>
|
||
The <option>-softvol-max</option> option specifies the maximum allowable output
|
||
volume as a percentage of the
|
||
original volume. For example, <option>-softvol-max 200</option> would allow the
|
||
volume to be adjusted up to twice its original level.
|
||
It is safe to specify a large value with
|
||
<option>-softvol-max</option>; the higher volume will not be used until you
|
||
use the volume adjustment keys. The only disadvantage of a large value is that,
|
||
since <application>MPlayer</application> adjusts volume by a percentage of the
|
||
maximum, you will not have as precise control when using the volume adjustment
|
||
keys. Use a lower value with <option>-softvol-max</option> and/or specify
|
||
<option>-volstep 1</option> if you need higher precision.
|
||
</para>
|
||
|
||
<para>
|
||
The <option>-softvol</option> option works by controlling the
|
||
<option>volume</option> audio filter. If you want to play a file at a certain
|
||
volume from the beginning you can specify <option>volume</option> manually:
|
||
<screen>mplayer <replaceable>quiet-file</replaceable> -af volume=10</screen>
|
||
This will play the file with a ten decibel gain. Be careful when using the
|
||
<option>volume</option> filter - you could easily hurt your ears if you use
|
||
too high a value. Start low and work your way up gradually until you get a feel
|
||
for how much adjustment is required. Also, if you specify excessively high
|
||
values, <option>volume</option> may need to clip the signal to avoid sending
|
||
your sound card data that is outside the allowable range; this will result in
|
||
distorted audio.
|
||
</para>
|
||
</sect1>
|
||
|
||
<!-- ********** -->
|
||
|
||
<sect1 id="tv-input" xreflabel="TV input">
|
||
<title>TV input</title>
|
||
|
||
<para>
|
||
This section is about how to enable <emphasis role="bold">watching/grabbing
|
||
from V4L compatible TV tuner</emphasis>. See the man page for a description
|
||
of TV options and keyboard controls.
|
||
</para>
|
||
|
||
<sect2 id="tv-tips">
|
||
<title>Usage tips</title>
|
||
|
||
<para>
|
||
The full listing of the options is available on the manual page.
|
||
Here are just a few tips:
|
||
|
||
<itemizedlist>
|
||
<listitem><para>
|
||
Make sure your tuner works with another TV software in Linux, for
|
||
example <application>XawTV</application>.
|
||
</para></listitem>
|
||
<listitem><para>
|
||
Use the <option>channels</option> option. An example:
|
||
<screen>-tv channels=26-MTV1,23-TV2</screen>
|
||
Explanation: Using this option, only the 26 and 23 channels will be usable,
|
||
and there will be a nice OSD text upon channel switching, displaying the
|
||
channel's name. Spaces in the channel name must be replaced by the
|
||
"_" character.
|
||
</para></listitem>
|
||
<listitem><para>
|
||
Choose some sane image dimensions. The dimensions of the resulting image
|
||
should be divisible by 16.
|
||
</para></listitem>
|
||
<listitem>
|
||
<para>
|
||
If you capture the video with the vertical resolution higher than half
|
||
of the full resolution (i.e. 288 for PAL or 240 for NTSC), then the
|
||
'frames' you get will really be interleaved pairs of fields.
|
||
Depending on what you want to do with the video you may leave it in
|
||
this form, destructively deinterlace, or break the pairs apart into
|
||
individual fields.
|
||
</para>
|
||
<para>
|
||
Otherwise you'll get a movie which is distorted during
|
||
fast-motion scenes and the bitrate controller will be probably even unable
|
||
to retain the specified bitrate as the interlacing artifacts produce high
|
||
amount of detail and thus consume lot of bandwidth. You can enable
|
||
deinterlacing with <option>-vf pp=DEINT_TYPE</option>.
|
||
Usually <option>pp=lb</option> does a good job, but it can be matter of
|
||
personal preference.
|
||
See other deinterlacing algorithms in the manual and give it a try.
|
||
</para>
|
||
</listitem>
|
||
<listitem><para>
|
||
Crop out the dead space. When you capture the video, the areas at the edges
|
||
are usually black or contain some noise. These again consume lots of
|
||
unnecessary bandwidth. More precisely it's not the black areas themselves
|
||
but the sharp transitions between the black and the brighter video image
|
||
which do but that's not important for now. Before you start capturing,
|
||
adjust the arguments of the <option>crop</option> option so that all the
|
||
crap at the margins is cropped out. Again, don't forget to keep the resulting
|
||
dimensions sane.
|
||
</para></listitem>
|
||
<listitem><para>
|
||
Watch out for CPU load. It shouldn't cross the 90% boundary for most of the
|
||
time. If you have a large capture buffer, <application>MEncoder</application>
|
||
can survive an overload for few seconds but nothing more. It's better to
|
||
turn off the 3D OpenGL screensavers and similar stuff.
|
||
</para></listitem>
|
||
<listitem><para>
|
||
Don't mess with the system clock. <application>MEncoder</application> uses the
|
||
system clock for doing A/V sync. If you adjust the system clock (especially
|
||
backwards in time), <application>MEncoder</application> gets confused and you
|
||
will lose frames. This is an important issue if you are hooked to a network
|
||
and run some time synchronization software like NTP. You have to turn NTP
|
||
off during the capture process if you want to capture reliably.
|
||
</para></listitem>
|
||
<listitem><para>
|
||
Don't change the <option>outfmt</option> unless you know what you are doing
|
||
or your card/driver really doesn't support the default (YV12 colorspace).
|
||
In the older versions of <application>MPlayer</application>/
|
||
<application>MEncoder</application> it was necessary to specify the output
|
||
format. This issue should be fixed in the current releases and
|
||
<option>outfmt</option> isn't required anymore, and the default suits the
|
||
most purposes. For example, if you are capturing into DivX using
|
||
<systemitem class="library">libavcodec</systemitem> and specify
|
||
<option>outfmt=RGB24</option> in order to increase the quality of the captured
|
||
images, the captured image will be actually later converted back into YV12 so
|
||
the only thing you achieve is a massive waste of CPU power.
|
||
</para></listitem>
|
||
<listitem><para>
|
||
There are several ways of capturing audio. You can grab the sound either using
|
||
your sound card via an external cable connection between video card and
|
||
line-in, or using the built-in ADC in the bt878 chip. In the latter case, you
|
||
have to load the <emphasis role="bold">btaudio</emphasis> driver. Read the
|
||
<filename>linux/Documentation/sound/btaudio</filename> file (in the kernel
|
||
tree, not <application>MPlayer</application>'s) for some instructions on using
|
||
this driver.
|
||
</para></listitem>
|
||
<listitem><para>
|
||
If <application>MEncoder</application> cannot open the audio device, make
|
||
sure that it is really available. There can be some trouble with the sound
|
||
servers like aRts (KDE) or ESD (GNOME). If you have a full duplex sound card
|
||
(almost any decent card supports it today), and you are using KDE, try to
|
||
check the "full duplex" option in the sound server preference menu.
|
||
</para></listitem>
|
||
</itemizedlist>
|
||
</para>
|
||
</sect2>
|
||
|
||
<sect2 id="tv-examples">
|
||
<title>Examples</title>
|
||
|
||
<informalexample><para>
|
||
Dummy output, to AAlib :)
|
||
<screen>mplayer -tv driver=dummy:width=640:height=480 -vo aa tv://</screen>
|
||
</para></informalexample>
|
||
|
||
<informalexample><para>
|
||
Input from standard V4L:
|
||
<screen>
|
||
mplayer -tv driver=v4l:width=640:height=480:outfmt=i420 -vc rawi420 -vo xv tv://
|
||
</screen>
|
||
</para></informalexample>
|
||
|
||
<informalexample><para>
|
||
A more sophisticated example. This makes <application>MEncoder</application>
|
||
capture the full PAL image, crop the margins, and deinterlace the picture
|
||
using a linear blend algorithm. Audio is compressed with a constant bitrate
|
||
of 64kbps, using LAME codec. This setup is suitable for capturing movies.
|
||
<screen>
|
||
mencoder -tv driver=v4l:width=768:height=576 -oac mp3lame -lameopts cbr:br=64\
|
||
-ovc lavc -lavcopts vcodec=mpeg4:vbitrate=900 \
|
||
-vf crop=720:544:24:16,pp=lb -o <replaceable>output.avi</replaceable> tv://
|
||
</screen>
|
||
</para></informalexample>
|
||
|
||
<informalexample><para>
|
||
This will additionally rescale the image to 384x288 and compresses the
|
||
video with the bitrate of 350kbps in high quality mode. The vqmax option
|
||
looses the quantizer and allows the video compressor to actually reach so
|
||
low bitrate even at the expense of the quality. This can be used for
|
||
capturing long TV series, where the video quality isn't so important.
|
||
<screen>
|
||
mencoder -tv driver=v4l:width=768:height=576 \
|
||
-ovc lavc -lavcopts vcodec=mpeg4:vbitrate=350:vhq:vqmax=31:keyint=300 \
|
||
-oac mp3lame -lameopts cbr:br=48 -sws 1 -o <replaceable>output.avi</replaceable>\
|
||
-vf crop=720:540:24:18,pp=lb,scale=384:288 tv://
|
||
</screen>
|
||
It's also possible to specify smaller image dimensions in the
|
||
<option>-tv</option> option and omit the software scaling but this approach
|
||
uses the maximum available information and is a little more resistant to noise.
|
||
The bt8x8 chips can do the pixel averaging only in the horizontal direction due
|
||
to a hardware limitation.
|
||
</para></informalexample>
|
||
</sect2>
|
||
</sect1>
|
||
|
||
<!-- ********** -->
|
||
|
||
<sect1 id="tv-teletext">
|
||
<title>Teletext</title>
|
||
|
||
<para>
|
||
Teletext is currently available only in <application>MPlayer</application>
|
||
for v4l and v4l2 drivers.
|
||
</para>
|
||
|
||
<sect2 id="tv-teletext-implementation-notes">
|
||
<title>Implementation notes</title>
|
||
|
||
<para>
|
||
<application>MPlayer</application> supports regular text, graphics and navigation links.
|
||
Unfortunately, colored pages are not fully supported yet - all pages are shown as grayscaled.
|
||
Subtitle pages (also known as Closed Captions) are supported, too.
|
||
</para>
|
||
|
||
<para>
|
||
<application>MPlayer</application> starts caching all teletext pages upon
|
||
starting to receive TV input, so you do not need to wait until the requested page is loaded.
|
||
</para>
|
||
|
||
<para>
|
||
Note: Using teletext with <option>-vo xv</option> causes strange colors.
|
||
</para>
|
||
</sect2>
|
||
|
||
<sect2 id="tv-teletext-usage">
|
||
<title>Using teletext</title>
|
||
|
||
<para>
|
||
To enable teletext decoding you must specify the VBI device to get teletext data
|
||
from (usually <filename>/dev/vbi0</filename> for Linux). This can be done by specifying
|
||
<option>tdevice</option> in your configuration file, like shown below:
|
||
<screen>tv=tdevice=/dev/vbi0</screen>
|
||
</para>
|
||
|
||
<para>
|
||
You might need to specify the teletext language code for your country.
|
||
To list all available country codes use
|
||
<screen>tv=tdevice=/dev/vbi0:tlang=<replaceable>-1</replaceable></screen>
|
||
Here is an example for Russian:
|
||
<screen>tv=tdevice=/dev/vbi0:tlang=<replaceable>33</replaceable></screen>
|
||
</para>
|
||
|
||
<para>
|
||
</para>
|
||
</sect2>
|
||
|
||
</sect1>
|
||
|
||
|
||
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
||
|
||
|
||
<sect1 id="radio">
|
||
<title>广播电台</title>
|
||
|
||
<sect2 id="radio-input" xreflabel="Radio input">
|
||
<title>电台输入</title>
|
||
|
||
<para>
|
||
这一部分将说明如何从V4L兼容的电台调谐器收听电台广播。
|
||
请阅读手册中关于电台的可选项和键盘控制的描述。
|
||
</para>
|
||
|
||
<!-- ********** -->
|
||
|
||
<sect3 id="radio-compilation">
|
||
<title>编译</title>
|
||
|
||
<procedure>
|
||
<step><para>
|
||
首先, 你需要重新编译MPlayer, 使用<filename>./configure</filename>带上选项
|
||
<option>--enable-radio</option> 和(如果你想要支持捕捉)
|
||
<option>--enable-radio-capture</option>
|
||
</para></step>
|
||
<step><para>
|
||
确认你的电台调谐器可以和Linux的其他收音软件工作。 比如<application>XawTV</application>。
|
||
</para></step>
|
||
</procedure>
|
||
</sect3>
|
||
|
||
<!-- ********** -->
|
||
|
||
<sect3 id="radio-tips">
|
||
<title>使用技巧</title>
|
||
|
||
<para>
|
||
可用选项的完整列表在手册中有列出。
|
||
这里只给出一些技巧:
|
||
|
||
<itemizedlist>
|
||
<listitem><para>
|
||
使用<option>channels</option>选项。 例子:
|
||
<screen>-radio channels=104.4-Sibir,103.9-Maximum</screen>
|
||
解释: 使用该选项, 则只可使用104.4和103.9电台。 在频道切换时, 将会有个不错的OSD文字,
|
||
显示频道的名字。 频道的名字中的空格必须替换成下划线("_")。
|
||
</para></listitem>
|
||
<listitem><para>
|
||
有好几种方法可以捕捉声音。 为捕捉音频, 你可以通过连接视频卡和音频输入的外接线用你的声卡捕捉,
|
||
也可以使用saa7134芯片内置的ADC。 在后一种情况下, 你要加载<systemitem>saa7134-alsa</systemitem>
|
||
或<systemitem>saa7134-oss</systemitem>驱动。
|
||
</para></listitem>
|
||
<listitem><para>
|
||
<application>MEncoder</application>不能用于音频捕捉,
|
||
因为它需要视频流才工作。 因此你可以, 或使用ALSA项目的<application>arecord</application>,
|
||
或者使用选项<option>-ao pcm:file=file.wav</option>。 在后一种情况下,
|
||
你将听不到任何声音 (除非你用了输入线, 并且关闭了输入线静音)。
|
||
</para></listitem>
|
||
</itemizedlist>
|
||
</para>
|
||
</sect3>
|
||
|
||
<!-- ********** -->
|
||
|
||
<sect3 id="radio-examples">
|
||
<title>例子</title>
|
||
|
||
<informalexample><para>
|
||
从标准的V4L输入 (使用输入线, 捕捉开关关闭):
|
||
<screen>mplayer radio://104.4</screen>
|
||
</para></informalexample>
|
||
|
||
<informalexample><para>
|
||
从标准的V4L输入 (使用输入线, 捕捉开关关闭, V4Lv1接口):
|
||
<screen>mplayer -radio driver=v4l radio://104.4</screen>
|
||
</para></informalexample>
|
||
|
||
<informalexample><para>
|
||
播放频道列表中的第二个频道:
|
||
<screen>mplayer -radio channels=104.4=Sibir,103.9=Maximm radio://2</screen>
|
||
</para></informalexample>
|
||
|
||
<informalexample>
|
||
<para>
|
||
把声音从收音卡的内置ADC传到PCI总线。
|
||
在这个例子中, 调谐器被用成是第二块声卡(ALSA device hw:1,0)。
|
||
对于基于saa7134的卡, 必须加载 saa7134-alsa 或 saa7134-oss 模块。
|
||
<screen>
|
||
mplayer -rawaudio rate=32000 radio://2/capture \
|
||
-radio adevice=hw=1.0:arate=32000:channels=104.4=Sibir,103.9=Maximm
|
||
</screen>
|
||
<note><para>当使用ALSA设备名时, 冒号(:)必须替换成等号(=),
|
||
逗号(,)要替换成句点(.)
|
||
</para></note>
|
||
</para>
|
||
</informalexample>
|
||
</sect3>
|
||
</sect2>
|
||
|
||
</sect1>
|
||
</chapter>
|