Update to MPlayer SVN rev 32628 and FFmpeg SVN rev 25754.
[vaapi:dantemasons-mplayer.git] / DOCS / xml / zh_CN / .svn / text-base / usage.xml.svn-base
1 <?xml version="1.0" encoding="utf-8"?>
2 <!-- synced with cd-dvd.xml r21612  -->
3 <chapter id="usage">
4 <title>Usage</title>
5
6 <sect1 id="commandline">
7 <title>Command line</title>
8
9 <para>
10 <application>MPlayer</application> utilizes a complex playtree. Options passed
11 on the command line can apply to all files/URLs or just to specific ones
12 depending on their position. For example
13 <screen>mplayer -vfm ffmpeg movie1.avi movie2.avi</screen>
14 will use FFmpeg decoders for both files, but
15 <screen>
16 mplayer -vfm ffmpeg <replaceable>movie1.avi</replaceable> <replaceable>movie2.avi</replaceable> -vfm dmo
17 </screen>
18 will play the second file with a DMO decoder.
19 </para>
20
21 <para>
22 You can group filenames/URLs together using <literal>{</literal> and
23 <literal>}</literal>. It is useful with option <option>-loop</option>:
24 <screen>mplayer { 1.avi -loop 2 2.avi } -loop 3</screen>
25 The above command will play files in this order: 1, 1, 2, 1, 1, 2, 1, 1, 2.
26 </para>
27
28 <para>
29 Playing a file:
30 <synopsis>
31 <command>mplayer</command><!--
32 --> [<replaceable>options</replaceable>]<!--
33 --> [<replaceable>path</replaceable>/]<replaceable>filename</replaceable>
34 </synopsis>
35 </para>
36
37 <para>
38 Another way to play a file:
39 <synopsis>
40 <command>mplayer</command><!--
41 --> [<replaceable>options</replaceable>]<!--
42 --> <replaceable>file:///uri-escaped-path</replaceable>
43 </synopsis>
44 </para>
45
46 <para>
47 Playing more files:
48 <synopsis>
49 <command>mplayer</command><!--
50 --> [<replaceable>default options</replaceable>]<!--
51 --> [<replaceable>path</replaceable>/]<replaceable>filename1</replaceable><!--
52 --> [<replaceable>options for filename1</replaceable>]<!--
53 --> <replaceable>filename2</replaceable><!--
54 --> [<replaceable>options for filename2</replaceable>] ...
55 </synopsis>
56 </para>
57
58 <para>
59 Playing VCD:
60 <synopsis>
61 <command>mplayer</command> [<replaceable>options</replaceable>]<!--
62 --> vcd://<replaceable>trackno</replaceable><!--
63 --> [-cdrom-device <replaceable>/dev/cdrom</replaceable>]
64 </synopsis>
65 </para>
66
67 <para>
68 Playing DVD:
69 <synopsis>
70 <command>mplayer</command> [<replaceable>options</replaceable>]<!--
71 --> dvd://<replaceable>titleno</replaceable><!--
72 --> [-dvd-device <replaceable>/dev/dvd</replaceable>]
73 </synopsis>
74 </para>
75
76 <para>
77 Playing from the WWW:
78 <synopsis>
79 <command>mplayer</command> [<replaceable>options</replaceable>]<!--
80 --> http://<replaceable>site.com/file.asf</replaceable>
81 </synopsis>
82 (playlists can be used, too)
83 </para>
84
85 <para>
86 Playing from RTSP:
87 <synopsis>
88 <command>mplayer</command> [<replaceable>options</replaceable>]<!--
89 --> rtsp://<replaceable>server.example.com/streamName</replaceable>
90 </synopsis>
91 </para>
92
93 <para>
94 Examples:
95 <screen>
96 mplayer -vo x11 <replaceable>/mnt/Films/Contact/contact2.mpg</replaceable>
97 mplayer vcd://<replaceable>2</replaceable> -cdrom-device <replaceable>/dev/hdc</replaceable>
98 mplayer -afm 3 <replaceable>/mnt/DVDtrailers/alien4.vob</replaceable>
99 mplayer dvd://<replaceable>1</replaceable> -dvd-device <replaceable>/dev/hdc</replaceable>
100 mplayer -abs 65536 -delay -0.4 -nobps <replaceable>~/movies/test.avi</replaceable><!--
101 --></screen>
102 </para>
103 </sect1>
104
105
106 <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
107
108
109 <sect1 id="subosd">
110 <title>Subtitles and OSD</title>
111
112 <para>
113 <application>MPlayer</application> can display subtitles along with movie files.
114 Currently the following formats are supported:
115 <itemizedlist>
116   <listitem><para>VOBsub</para></listitem>
117   <listitem><para>OGM</para></listitem>
118   <listitem><para>CC (closed caption)</para></listitem>
119   <listitem><para>MicroDVD</para></listitem>
120   <listitem><para>SubRip</para></listitem>
121   <listitem><para>SubViewer</para></listitem>
122   <listitem><para>Sami</para></listitem>
123   <listitem><para>VPlayer</para></listitem>
124   <listitem><para>RT</para></listitem>
125   <listitem><para>SSA</para></listitem>
126   <listitem><para>PJS (Phoenix Japanimation Society)</para></listitem>
127   <listitem><para>MPsub</para></listitem>
128   <listitem><para>AQTitle</para></listitem>
129   <listitem><para>
130     <ulink url="http://unicorn.us.com/jacosub/">JACOsub</ulink>
131   </para></listitem>
132 </itemizedlist>
133 </para>
134
135 <para>
136 <application>MPlayer</application> can dump the previously listed subtitle
137 formats (<emphasis role="bold">except the three first</emphasis>) into the
138 following destination formats, with the given options:
139 <itemizedlist>
140   <listitem><para>MPsub: <option>-dumpmpsub</option></para></listitem>
141   <listitem><para>SubRip: <option>-dumpsrtsub</option></para></listitem>
142   <listitem><para>MicroDVD: <option>-dumpmicrodvdsub</option></para></listitem>
143   <listitem><para>JACOsub: <option>-dumpjacosub</option></para></listitem>
144   <listitem><para>Sami: <option>-dumpsami</option></para></listitem>
145 </itemizedlist>
146 </para>
147
148 <para>
149 <application>MEncoder</application> can dump DVD subtitles into
150 <link linkend="menc-feat-extractsub">VOBsub</link> format.
151 </para>
152
153 <para>
154 The command line options differ slightly for the different formats:
155 </para>
156
157 <formalpara>
158 <title>VOBsub subtitles</title>
159 <para>
160 VOBsub subtitles consist of a big (some megabytes) <filename>.SUB</filename>
161 file, and optional <filename>.IDX</filename> and/or <filename>.IFO</filename>
162 files. If you have files like
163 <filename><replaceable>sample.sub</replaceable></filename>,
164 <filename><replaceable>sample.ifo</replaceable></filename> (optional),
165 <filename><replaceable>sample.idx</replaceable></filename> - you have to pass
166 <application>MPlayer</application> the <option>-vobsub sample
167 [-vobsubid <replaceable>id</replaceable>]</option> options
168 (full path optional). The <option>-vobsubid</option> option is like
169 <option>-sid</option> for DVDs, you can choose between subtitle tracks
170 (languages) with it. In case that <option>-vobsubid</option> is omitted,
171 <application>MPlayer</application> will try to use the languages given by the
172 <option>-slang</option> option and fall back to the
173 <systemitem>langidx</systemitem> in the <filename>.IDX</filename> file to set
174 the subtitle language. If it fails, there will be no subtitles.
175 </para>
176 </formalpara>
177
178 <formalpara>
179 <title>Other subtitles</title>
180 <para>
181 The other formats consist of a single text file containing timing,
182 placement and text information. Usage: If you have a file like
183 <filename><replaceable>sample.txt</replaceable></filename>,
184 you have to pass the option <option>-sub
185 <replaceable>sample.txt</replaceable></option> (full path optional).
186 </para>
187 </formalpara>
188
189 <variablelist>
190 <title>Adjusting subtitle timing and placement:</title>
191 <varlistentry>
192   <term><option>-subdelay <replaceable>sec</replaceable></option></term>
193   <listitem><para>
194     Delays subtitles by <option><replaceable>sec</replaceable></option> seconds.
195     Can be negative. The value is added to movie's time position counter.
196   </para></listitem>
197 </varlistentry>
198 <varlistentry>
199   <term><option>-subfps <replaceable>RATE</replaceable></option></term>
200   <listitem><para>
201     Specify frame/sec rate of subtitle file (float number).
202   </para></listitem>
203 </varlistentry>
204 <varlistentry>
205   <term><option>-subpos <replaceable>0-100</replaceable></option></term>
206   <listitem><para>
207     Specify the position of subtitles.
208   </para></listitem>
209 </varlistentry>
210 </variablelist>
211
212 <para>
213 If you experience a growing delay between the movie and the subtitles when
214 using a MicroDVD subtitle file, most likely the framerate of the movie and
215 the subtitle file are different. Please note that the MicroDVD subtitle
216 format uses absolute frame numbers for its timing, but there is no fps
217 information in it, and therefore the <option>-subfps</option> option should
218 be used with this format. If you like to solve this problem permanently,
219 you have to manually convert the subtitle file framerate.
220 <application>MPlayer</application> can do this
221 conversion for you:
222
223 <screen>
224 mplayer -dumpmicrodvdsub -fps <replaceable>subtitles_fps</replaceable> -subfps <replaceable>avi_fps</replaceable> \
225     -sub <replaceable>subtitle_filename</replaceable> <replaceable>dummy.avi</replaceable>
226 </screen>
227 </para>
228
229 <para>
230 About DVD subtitles, read the <link linkend="dvd">DVD</link> section.
231 </para>
232 </sect1>
233
234
235 <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
236
237
238 <sect1 id="control">
239 <title>Control</title>
240
241 <para>
242 <application>MPlayer</application> has a fully configurable, command
243 driven, control layer which lets you control
244 <application>MPlayer</application> with keyboard, mouse, joystick or remote
245 control (using LIRC). See the man page for the complete list of keyboard controls.
246 </para>
247
248 <!-- ********** -->
249
250 <sect2 id="ctrl-cfg">
251 <title>Controls configuration</title>
252
253 <para>
254 <application>MPlayer</application> allows you bind any key/button to any
255 <application>MPlayer</application> command using a simple config file.
256 The syntax consist of a key name followed by a command. The default config file location is
257 <filename>$HOME/.mplayer/input.conf</filename> but it can be overridden
258 using the <option>-input <replaceable>conf</replaceable></option> option
259 (relative path are relative to <filename>$HOME/.mplayer</filename>).
260 </para>
261
262 <para>
263 You can get a full list of supported key names by running
264 <command>mplayer -input keylist</command>
265 and a full list of available commands by running
266 <command>mplayer -input cmdlist</command>.
267 </para>
268
269 <example id="input_control_file">
270 <title>A simple input control file</title>
271 <programlisting>
272 ##
273 ## MPlayer input control file
274 ##
275
276 RIGHT seek +10
277 LEFT seek -10
278 - audio_delay 0.100
279 + audio_delay -0.100
280 q quit
281 &gt; pt_step 1
282 &lt; pt_step -1
283 ENTER pt_step 1 1<!--
284 --></programlisting>
285 </example>
286 </sect2>
287
288 <!-- ********** -->
289
290 <sect2 id="lirc">
291 <title>Control from LIRC</title>
292
293 <para>
294 Linux Infrared Remote Control - use an easy to build home-brewed IR-receiver,
295 an (almost) arbitrary remote control and control your Linux box with it!
296 More about it on the <ulink url="http://www.lirc.org">LIRC homepage</ulink>.
297 </para>
298
299 <para>
300 If you have the LIRC package installed, <filename>configure</filename> will
301 autodetect it. If everything went fine, <application>MPlayer</application>
302 will print "<systemitem>Setting up LIRC support...</systemitem>"
303 on startup. If an error occurs it will tell you. If there is no message about
304 LIRC there is no support compiled in. That's it :-)
305 </para>
306
307 <para>
308 The application name for <application>MPlayer</application> is - surprise -
309 <filename>mplayer</filename>. You can use any <application>MPlayer</application>
310 commands and even pass more than one command by separating them with
311 <literal>\n</literal>.
312 Do not forget to enable the repeat flag in <filename>.lircrc</filename> when
313 it makes sense (seek, volume, etc). Here is an excerpt from a sample
314 <filename>.lircrc</filename>:
315 </para>
316
317 <programlisting>
318 begin
319      button = VOLUME_PLUS
320      prog = mplayer
321      config = volume 1
322      repeat = 1
323 end
324
325 begin
326     button = VOLUME_MINUS
327     prog = mplayer
328     config = volume -1
329     repeat = 1
330 end
331
332 begin
333     button = CD_PLAY
334     prog = mplayer
335     config = pause
336 end
337
338 begin
339     button = CD_STOP
340     prog = mplayer
341     config = seek 0 1\npause
342 end<!--
343 --></programlisting>
344
345 <para>
346 If you do not like the standard location for the lirc-config file
347 (<filename>~/.lircrc</filename>) use the <option>-lircconf
348 <replaceable>filename</replaceable></option> switch to specify another
349 file.
350 </para>
351 </sect2>
352
353 <!-- ********** -->
354
355 <sect2 id="slave-mode">
356 <title>Slave mode</title>
357
358 <para>
359 The slave mode allows you to build simple frontends to
360 <application>MPlayer</application>. When run with the
361 <option>-slave</option> option <application>MPlayer</application> will
362 read commands separated by a newline (\n) from stdin.
363 The commands are documented in the
364 <ulink url="../../tech/slave.txt">slave.txt</ulink> file.
365 </para>
366 </sect2>
367 </sect1>
368
369
370 <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
371
372
373 <sect1 id="streaming">
374 <title>Streaming from network or pipes</title>
375
376 <para>
377 <application>MPlayer</application> can play files from the network, using the
378 HTTP, FTP, MMS or RTSP/RTP protocol.
379 </para>
380
381 <para>
382 Playing works simply by passing the URL on the command line.
383 <application>MPlayer</application> honors the <envar>http_proxy</envar>
384 environment variable, using a proxy if available. Proxies can also be forced:
385 <screen>
386 mplayer <replaceable>http_proxy://proxy.micorsops.com:3128/http://micorsops.com:80/stream.asf</replaceable>
387 </screen>
388 </para>
389
390 <para>
391 <application>MPlayer</application> can read from stdin
392 (<emphasis>not</emphasis> named pipes). This can for example be used to
393 play from FTP:
394 <screen>
395 wget <replaceable>ftp://micorsops.com/something.avi</replaceable> -O - | mplayer -
396 </screen>
397 </para>
398
399 <note><para>
400 It is also recommended to enable <option>-cache</option> when playing
401 from the network:
402 <screen>
403 wget <replaceable>ftp://micorsops.com/something.avi</replaceable> -O - | mplayer -cache 8192 -
404 </screen>
405 </para></note>
406
407 <!-- ********** -->
408
409 <sect2 id="streaming-save">
410 <title>Saving streamed content</title>
411
412 <para>
413 Once you succeed in making <application>MPlayer</application> play
414 your favorite internet stream, you can use the option
415 <option>-dumpstream</option> to save the stream into a file.
416 For example:
417 <screen>
418 mplayer <replaceable>http://217.71.208.37:8006</replaceable> -dumpstream -dumpfile <replaceable>stream.asf</replaceable>
419 </screen>
420 will save the content streamed from
421 <replaceable>http://217.71.208.37:8006</replaceable> into
422 <replaceable>stream.asf</replaceable>.
423 This works with all protocols supported by
424 <application>MPlayer</application>, like MMS, RTSP, and so forth.
425 </para>
426 </sect2>
427 </sect1>
428
429
430 <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
431
432
433 <sect1 id="drives">
434 <title>CD/DVD驱动器</title>
435
436 <para>
437 现代的CD-ROM驱动器能达到很高的速度,然而一些CD-ROM也可以在降低速度下运行。
438 有几条原因可能使你考虑改变CD-ROM的读盘速度:
439 </para>
440
441 <itemizedlist>
442 <listitem><para>
443   有报告称告诉读取可产生错误,尤其是制作恶劣的CD-ROM。降低速度可以防止这些
444   情况下的数据丢失。
445 </para></listitem>
446
447 <listitem><para>
448   许多CD-ROM驱动器有很讨厌的噪音,低俗可以降低这些噪音。
449 </para></listitem>
450 </itemizedlist>
451
452 <!-- ********** -->
453
454 <sect2 id="drives_linux">
455 <title>Linux</title>
456
457 <para>
458 你可以使用<command>hdparm</command>,<command>setcd</command>或
459 <command>cdctl</command>以减慢IDE CD-ROM的驱动器。使用方法如下:
460 <screen>hdparm -E <replaceable>[speed]</replaceable> <replaceable>[cdrom device]</replaceable></screen>
461 <screen>setcd -x <replaceable>[speed]</replaceable> <replaceable>[cdrom device]</replaceable></screen>
462 <screen>cdctl -bS <replaceable>[speed]</replaceable></screen>
463 </para>
464
465 <para>
466 如果你使用SCSI模拟,你必须把设置应用到真正的IDE驱动器,不是被
467 模拟的SCSI设备。
468 </para>
469
470 <para>
471 如果你有root权限,下面的命令也可能有帮助:
472 <screen>echo file_readahead:2000000 &gt; /proc/ide/<replaceable>[cdrom device]</replaceable>/settings</screen>
473 </para>
474
475 <para>
476 这将预读取的文件设置为2MB,这对有划痕的CD-ROM有帮助。如果你设置
477 的太大,驱动器会不断来回转动,极大降低性能。
478 推荐你使用<command>hdparm</command>调整你的CD-ROM:
479 <screen>hdparm -d1 -a8 -u1 <replaceable>[cdrom device]</replaceable></screen>
480 </para>
481
482 <para>
483 这开启了DMA读取,预读,以及IRQ遮盖(对于详细解释阅读
484 <command>hdparm</command>man页)。
485 </para>
486
487 <para>
488 请阅读
489 "<filename>/proc/ide/<replaceable>[cdrom device]</replaceable>/settings</filename>"
490 以很好调整你的CD-ROM。
491 </para>
492
493 <para>
494 SCSI驱动器没有统一设置参数的方法(你知道?告诉我们!),有一个工具
495 <ulink url="http://das.ist.org/~georg/">Plextor SCSI drives</ulink>可参照。
496 </para>
497 </sect2>
498
499 <!-- ********** -->
500
501 <sect2 id="drives_freebsd">
502 <title>FreeBSD</title>
503
504 <para>speed:
505 <screen>
506 cdcontrol [-f <replaceable>device</replaceable>] speed <replaceable>[speed]</replaceable>
507 </screen>
508 </para>
509
510 <para>DMA:
511 <screen>
512 sysctl hw.ata.atapi_dma=1
513 </screen>
514 </para>
515
516 </sect2>
517
518 </sect1>
519
520
521 <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
522
523
524 <sect1 id="dvd">
525 <title>DVD回放</title>
526
527 <para>
528 对于完整的可用选项,请阅读man页。
529 播放标准DVD的语法如下:
530 <screen>
531 mplayer dvd://<replaceable>&lt;track&gt;</replaceable> [-dvd-device <replaceable>&lt;device&gt;</replaceable>]
532 </screen>
533 </para>
534
535 <para>
536 例如:
537 <screen>mplayer dvd://1 -dvd-device /dev/hdc</screen>
538 </para>
539
540 <para>
541 如果你使用dvdnav支持编译<application>MPlayer</application>,语法是一样的,但你要用
542 dvdnav://而不用dvd://。
543 </para>
544
545 <para>
546 默认的DVD设备是<filename>/dev/dvd</filename>。如果你的设置不同,创建
547 个连接或者在命令行中用<option>-dvd-device</option>指定正确的设备。
548 </para>
549
550 <para>
551 对于DVD回放及解密,<application>MPlayer</application>使用
552 <systemitem>libdvdread</systemitem>及<systemitem>libdvdcss</systemitem>
553 这两个库在
554 <application>MPlayer</application>的源码树中,你不必单独安装。你也可以使用
555 全系统可用的版本,但这种做法不被推荐,因为它能导致错误,库不兼容以及更慢的
556 速度。
557 </para>
558
559 <note><para>
560 对于DVD解码问题,尝试禁用supermount,或者其它相应特性。一些RPC-2驱动器
561 可能还需要设置区域代码。
562 </para></note>
563
564 <formalpara>
565 <title>DVD结构</title>
566 <para>
567 DVD磁盘的每个簇有带有ECC/CRC的2048字节。每个轨上采用UDF文件格式,包含各种文
568 件(小的.IFO及.BUK文件以极大的(1GB)的.VOB文件)。它们是真正的文件能从被挂
569 载的未加密的DVD中复制/播放。
570 </para>
571 </formalpara>
572
573 <para>
574 .IFO文件包含电影的浏览信息(章/标题/视角图,语言表等),它们被用于读及解析
575 .VOB的内容(影片)。.BUK文件是它们的备份。他们到处使用<emphasis role="bold">簇</emphasis>,
576 所以你需要指定光盘上真正的簇地址以完成DVD浏览或对内容进行解密。
577 </para>
578
579 <para>
580 DVD支持通过原始的对设备基于簇的访问。不幸的是,(在Linux中)要得到一个文件
581 的簇地址,你必须是超级用户。那就是我们不使用内核的文件系统的原因,我们在用
582 户层对此进行了重新实现。<systemitem>libdvdread</systemitem> 0.9.x完成了此项
583 工作。我们并不需要内核中的UDF文件系统驱动因为它们已经有了自己内置的UDF文件
584 </para>
585
586 <para>
587 有时<filename>/dev/dvd</filename>对用户不可读,所以
588 <systemitem>libdvdread</systemitem>的作者实现了一个模拟层,其实现了将簇地址
589 提交到文件名+偏移量中,以模拟在挂载的文件系统甚至是硬盘上的直接访问。
590 </para>
591
592 <para>
593 <systemitem>libdvdread</systemitem>对于直接访问甚至支持挂载点而不是设备名并
594 检查<filename>/proc/mounts</filename>以得到设备名称。其被开发在Solaris上,
595 在那系统上设备名是动态分配的。
596 </para>
597
598 <formalpara>
599 <title>DVD解密</title>
600 <para>
601 DVD解密通过<systemitem>libdvdcss</systemitem>完成。这个方法可以通过
602 <envar>DVDCSS_METHOD</envar>环境变量设置,具体细节参考man页。
603 </para>
604 </formalpara>
605
606 <para>
607 RPC-1 DVD驱动器只使用软件对区域设置进行保护。RPC-2驱动器有一个硬件保护,只准
608 许做5次更改。你可能需要或被推荐把firmware升级到RPC-1,如果你有个RPC-2 DVD驱动
609 器。你可以在因特网上寻找firmware的升级,
610 <ulink url="http://forum.rpc-1.com/dl_all.php">此firmware论坛</ulink>
611 对你的搜索可能是个好起点。如果没有针对你的设备的firmware升级,使用
612 <ulink url="http://linvdr.org/projects/regionset/">区域工具</ulink>
613 来设置你DVD的区域码(在Linux下)。
614 <emphasis role="bold">警告</emphasis>:你只可以设置5次区域。
615 </para>
616 </sect1>
617
618
619 <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
620
621
622 <sect1 id="vcd">
623 <title>VCD回放</title>
624
625 <para>
626 对于可用选项的详细列表,请阅读man页。对于标准视频CD (VCD)的语法如下:
627 <screen>mplayer vcd://<replaceable>&lt;track&gt;</replaceable> [-cdrom-device <replaceable>&lt;device&gt;</replaceable>]</screen>
628 例如:
629 <screen>mplayer vcd://2 -cdrom-device /dev/hdc</screen>
630 默认的VCD设备是<filename>/dev/cdrom</filename>。如果你的设置不同,建
631 立个连接或者在命令行通过<option>-cdrom-device</option>选项指定正确设备。
632 </para>
633
634 <note><para>
635 至少Plextor及一些Toshiba SCSI CD-ROM驱动器对读取VCD有着恐怖的性能。这是因为
636 针对这些设备的CDROMREADRAW <systemitem>ioctl</systemitem>没有完成。如果你有
637 SCSI编程知识,请<ulink url="../../tech/patches.txt">帮我们</ulink>实现对SCSI
638 VCD的支持。
639 </para></note>
640
641 <para>
642 同时,你可以通过
643 In the meantime you can extract data from VCDs with
644 <ulink url="http://ftp.ntut.edu.tw/ftp/OS/Linux/packages/X/viewers/readvcd/">readvcd</ulink>
645 从VCD提取数据并用<application>MPlayer</application>播放最终文件。
646 </para>
647
648 <formalpara>
649 <title>VCD结构</title>
650 <para>
651 视频CD (VCD)由CD-ROM XA簇组成,例如CD-ROM 模式 2
652 表格1及2轨:
653 <itemizedlist>
654 <listitem><para>
655   第一个轨道处于模式2表格2格式下,这意味着他使用L2错误恢复。此轨道含有
656   ISO-9660文件系统,其拥有2048字节/簇。此文件系统含有VCD属性数据信息,
657   以及经常用于菜单上的静态桢。对菜单的MPEG块也能存于这第一个轨道上,但
658   MPEG不得不被分散成一系列的150个簇的块。ISO-9660文件系统可以包含其它
659   对于VCD操作不重要的文件或程序。
660 </para></listitem>
661
662 <listitem><para>
663   第二及余下的轨道通常是原始的2324字节/簇的MPEG(影片)轨道,每个簇包含
664   一个MPEG PS数据包。这些处于模式2表格1格式,所以他们没簇存储更多数据,
665   损失了一些纠错。在一个VCD的第一个轨道后也包含CD-DA轨道也是合法的。在
666   一些操作系统中,有些技巧是这些非ISO-9660轨道出现在文件系统中。在另外
667   一些操作系统中如GNU/Linux,这还(未)被实现。在此,MPEG数据
668   <emphasis role="bold">不能被挂载</emphasis>。因为大部分电影在这种轨道
669   内,你应先试<option>vcd://2</option>。
670 </para></listitem>
671
672 <listitem><para>
673   还存在没有第一个轨道的VCD(单一轨道根本没有文件系统)。他们仍然是可
674   播放的,但不能被挂载。
675 </para></listitem>
676
677 <listitem><para>
678   视频CD的定义被称为Philips"白皮书",它通常并不出现在网上因为它要从
679   Philips购买。对于视频CD更详细的资料可从
680   <ulink url="http://www.vcdimager.org/pub/vcdimager/manuals/0.7/vcdimager.html#SEC4">vcdimager文档</ulink>
681   获取。
682 </para></listitem>
683 </itemizedlist>
684 </para>
685 </formalpara>
686
687 <formalpara>
688 <title>关于.DAT文件</title>
689 <para>
690 被挂载的VCD上处于第一个轨道上的~600MB的文件并不是真正的文件!它是所谓的ISO网
691 关,其被创建以便Windows处理这些轨道(Windows根本不允许应用程序直接访问原始设
692 备)。在Linux下你不能复制或播放这些文件(它们包含垃圾)。在Windows下,这是可
693 能的因为他的iso9660驱动模拟了在文件内直接读取轨道。要播放.DAT文件,你需要内核
694 驱动,岂可再PowerDVD的Linux版本中找到。其有一个更改的iso9660文件系统
695 (<filename>vcdfs/isofs-2.4.X.o</filename>)驱动,你可以通过<application>MPlayer</application>
696 复制甚至播放.DAT文件。但在Linux内核的标准的iso9660驱动上它不能工作!另外使用
697 使用<option>vcd://</option>。对于VCD复制另外的方法是内核新的
698 <ulink url="http://www.elis.rug.ac.be/~ronsse/cdfs/">cdfs</ulink>驱动(不是
699 官方内核的一部分)其将CD会话显示为镜像文件及<ulink url="http://cdrdao.sf.net/">cdrdao</ulink>,
700 一个逐位的CD抓轨/复制程序。
701 </para>
702 </formalpara>
703 </sect1>
704
705
706 <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
707
708
709 <sect1 id="edl" xreflabel="Edit Decision Lists (EDL)">
710 <title>Edit Decision Lists (EDL)</title>
711
712 <para>
713 The edit decision list (EDL) system allows you to automatically skip
714 or mute sections of videos during playback, based on a movie specific
715 EDL configuration file.
716 </para>
717
718 <para>
719 This is useful for those who may want to watch a film in "family-friendly"
720 mode. You can cut out any violence, profanity, Jar-Jar Binks .. from a movie
721 according to your own personal preferences. Aside from this, there are other
722 uses, like automatically skipping over commercials in video files you watch.
723 </para>
724
725 <para>
726 The EDL file format is pretty bare-bones. There is one command per line that
727 indicates what to do (skip/mute) and when to do it (using pts in seconds).
728 </para>
729
730 <!-- ********** -->
731
732 <sect2 id="edl_using">
733 <title>Using an EDL file</title>
734
735 <para>
736 Include the <option>-edl &lt;filename&gt;</option> flag when you run
737 <application>MPlayer</application>, with the name of the EDL file you
738 want applied to the video.
739 </para>
740 </sect2>
741
742 <!-- ********** -->
743
744 <sect2 id="edl_making">
745 <title>Making an EDL file</title>
746
747 <para>
748 The current EDL file format is:
749 <programlisting>[begin second] [end second] [action]</programlisting>
750 Where the seconds are floating-point numbers and the action is either
751 <literal>0</literal> for skip or <literal>1</literal> for mute. Example:
752 <programlisting>
753 5.3   7.1    0
754 15    16.7   1
755 420   422    0
756 </programlisting>
757 This will skip from second 5.3 to second 7.1 of the video, then mute at
758 15 seconds, unmute at 16.7 seconds and skip from second 420 to second 422
759 of the video. These actions will be performed when the playback timer
760 reaches the times given in the file.
761 </para>
762
763 <para>
764 To create an EDL file to work from, use the <option>-edlout
765 &lt;filename&gt;</option> flag. During playback, just hit <keycap>i</keycap> to
766 mark the beginning and end of a skip block.
767 A corresponding entry will be written to the file for that time.
768 You can then go back and fine-tune the generated EDL file as well as
769 change the default operation which is to skip the block described by each line.
770 </para>
771 </sect2>
772 </sect1>
773
774
775 <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
776
777
778 <sect1 id="advaudio-surround">
779 <title>Surround/Multichannel playback</title>
780
781 <sect2 id="advaudio-surround-DVD">
782 <title>DVDs</title>
783
784 <para>
785 Most DVDs and many other files include surround sound.
786 <application>MPlayer</application> supports surround playback but does not
787 enable it by default because stereo equipment is by far more common. To play a
788 file that has more than two channels of audio use <option>-channels</option>.
789 For example, to play a DVD with 5.1 audio:
790 <screen>mplayer dvd://1 -channels 6</screen>
791 Note that despite the name "5.1" there are actually six discrete channels.
792 If you have surround sound equipment it is safe to put the
793 <option>channels</option> option in your <application>MPlayer</application>
794 configuration file <filename>~/.mplayer/config</filename>. For example, to make
795 quadraphonic playback the default, add this line:
796 <programlisting>channels=4</programlisting>
797 <application>MPlayer</application> will then output audio in four channels when
798 all four channels are available.
799 </para>
800 </sect2>
801
802
803 <sect2 id="advaudio-surround-stereoinfour">
804 <title>Playing stereo files to four speakers</title>
805
806 <para>
807 <application>MPlayer</application> does not duplicate any channels by default,
808 and neither do most audio drivers. If you want to do that manually:
809 <screen>mplayer <replaceable>filename</replaceable> -af channels=2:2:0:1:0:0</screen>
810 See the section on
811 <link linkend="advaudio-channels-copying">channel copying</link> for an
812 explanation.
813 </para>
814 </sect2>
815
816
817 <sect2 id="advaudio-surround-passthrough">
818 <title>AC-3/DTS Passthrough</title>
819
820 <para>
821 DVDs usually have surround audio encoded in AC-3 (Dolby Digital) or DTS
822 (Digital Theater System) format. Some modern audio equipment is capable of
823 decoding these formats internally. <application>MPlayer</application> can be
824 configured to relay the audio data without decoding it. This will only work if
825 you have a S/PDIF (Sony/Philips Digital Interface) jack in your sound card, or
826 if you are passing audio over HDMI.
827 </para>
828
829 <para>
830 If your audio equipment can decode both AC-3 and DTS, you can safely enable
831 passthrough for both formats. Otherwise, enable passthrough for only the format
832 your equipment supports.
833 </para>
834
835 <itemizedlist>
836 <title>To enable passthrough on the command line:</title>
837 <listitem><para>
838   For AC-3 only, use <option>-ac hwac3</option>
839 </para></listitem>
840 <listitem><para>
841   For DTS only, use <option>-ac hwdts</option>
842 </para></listitem>
843 <listitem><para>
844   For both AC-3 and DTS, use <option>-afm hwac3</option>
845 </para></listitem>
846 </itemizedlist>
847
848 <itemizedlist>
849 <title>To enable passthrough in the <application>MPlayer</application>
850   configuration file: </title>
851 <listitem><para>
852   For AC-3 only, use <option>ac=hwac3,</option>
853 </para></listitem>
854 <listitem><para>
855   For DTS only, use <option>ac=hwdts,</option>
856 </para></listitem>
857 <listitem><para>
858   For both AC-3 and DTS, use <option>afm=hwac3</option>
859 </para></listitem>
860 </itemizedlist>
861
862 <para>
863 Note that there is a comma (",") at the end of
864 <option>ac=hwac3,</option> and <option>ac=hwdts,</option>. This will make
865 <application>MPlayer</application> fall back on the codecs it normally uses when
866 playing a file that does not have AC-3 or DTS audio.
867 <option>afm=hwac3</option> does not need a comma;
868 <application>MPlayer</application> will fall back anyway when an audio family
869 is specified.
870 </para>
871 </sect2>
872
873
874 <sect2 id="hwmpa-surround-passthrough">
875 <title>MPEG audio Passthrough</title>
876
877 <para>
878 Digital TV transmissions (such as DVB and ATSC) and some DVDs usually have
879 MPEG audio streams (in particular MP2).
880 Some MPEG hardware decoders such as full-featured DVB cards and DXR2
881 adapters can natively decode this format.
882 <application>MPlayer</application> can be configured to relay the audio data
883 without decoding it.
884 </para>
885
886 <para>
887 To use this codec:
888 <screen> mplayer -ac hwmpa </screen>
889 </para>
890 </sect2>
891
892
893 <sect2 id="advaudio-surround-matrix">
894 <title>Matrix-encoded audio</title>
895
896 <para>
897 <emphasis>***TODO***</emphasis>
898 </para>
899
900 <para>
901 This section has yet to be written and cannot be completed until somebody
902 provides sample files for us to test. If you have any matrix-encoded audio
903 files, know where to find some, or have any information that could be helpful,
904 please send a message to the
905 <ulink url="http://lists.mplayerhq.hu/mailman/listinfo/mplayer-docs">MPlayer-DOCS</ulink>
906 mailing list. Put "[matrix-encoded audio]" in the subject line.
907 </para>
908
909 <para>
910 If no files or further information are forthcoming this section will be dropped.
911 </para>
912
913 <para>
914 Good links:
915 <itemizedlist>
916 <listitem><para>
917   <ulink url="http://electronics.howstuffworks.com/surround-sound5.htm">http://electronics.howstuffworks.com/surround-sound5.htm</ulink>
918 </para></listitem>
919 <listitem><para>
920   <ulink url="http://www.extremetech.com/article2/0,1697,1016875,00.asp">http://www.extremetech.com/article2/0,1697,1016875,00.asp</ulink>
921 </para></listitem>
922 </itemizedlist>
923 </para>
924 </sect2>
925
926
927 <sect2 id="advaudio-surround-hrtf">
928 <title>Surround emulation in headphones</title>
929
930 <para>
931 <application>MPlayer</application> includes an HRTF (Head Related Transfer
932 Function) filter based on an
933 <ulink url="http://sound.media.mit.edu/KEMAR.html">MIT project</ulink>
934 wherein measurements were taken from microphones mounted on a dummy human head.
935 </para>
936
937 <para>
938 Although it is not possible to exactly imitate a surround system,
939 <application>MPlayer</application>'s HRTF filter does provide more spatially
940 immersive audio in 2-channel headphones. Regular downmixing simply combines all
941 the channels into two; besides combining the channels, <option>hrtf</option>
942 generates subtle echoes, increases the stereo separation slightly, and alters
943 the volume of some frequencies. Whether HRTF sounds better may be dependent on
944 the source audio and a matter of personal taste, but it is definitely worth
945 trying out.
946 </para>
947
948 <para>
949 To play a DVD with HRTF:
950 <screen>mplayer dvd://1 -channels 6 -af hrtf</screen>
951 </para>
952
953 <para>
954 <option>hrtf</option> only works well with 5 or 6 channels. Also,
955 <option>hrtf</option> requires 48 kHz audio. DVD audio is already 48 kHz, but if
956 you have a file with a different sampling rate that you want to play using
957 <option>hrtf</option> you must resample it:
958 <screen>
959 mplayer <replaceable>filename</replaceable> -channels 6 -af resample=48000,hrtf
960 </screen>
961 </para>
962 </sect2>
963
964
965 <sect2 id="advaudio-surround-troubleshooting">
966 <title>Troubleshooting</title>
967
968 <para>
969 If you do not hear any sound out of your surround channels, check your mixer
970 settings with a mixer program such as <application>alsamixer</application>;
971 audio outputs are often muted and set to zero volume by default.
972 </para>
973 </sect2>
974 </sect1>
975
976 <!-- ********** -->
977
978 <sect1 id="advaudio-channels">
979 <title>Channel manipulation</title>
980
981 <sect2 id="advaudio-channels-general">
982 <title>General information</title>
983
984 <para>
985 Unfortunately, there is no standard for how channels are ordered. The orders
986 listed below are those of AC-3 and are fairly typical; try them and see if your
987 source matches. Channels are numbered starting with 0.
988
989 <orderedlist spacing="compact">
990 <title>mono</title>
991   <listitem override="0"><para>center</para></listitem>
992 </orderedlist>
993
994 <orderedlist spacing="compact">
995 <title>stereo</title>
996   <listitem override="0"><para>left</para></listitem>
997   <listitem><para>right</para></listitem>
998 </orderedlist>
999
1000 <orderedlist spacing="compact">
1001 <title>quadraphonic</title>
1002   <listitem override="0"><para>left front</para></listitem>
1003   <listitem><para>right front</para></listitem>
1004   <listitem><para>left rear</para></listitem>
1005   <listitem><para>right rear</para></listitem>
1006 </orderedlist>
1007
1008 <orderedlist spacing="compact">
1009 <title>surround 4.0</title>
1010   <listitem override="0"><para>left front</para></listitem>
1011   <listitem><para>right front</para></listitem>
1012   <listitem><para>center rear</para></listitem>
1013   <listitem><para>center front</para></listitem>
1014 </orderedlist>
1015
1016 <orderedlist spacing="compact">
1017 <title>surround 5.0</title>
1018   <listitem override="0"><para>left front</para></listitem>
1019   <listitem><para>right front</para></listitem>
1020   <listitem><para>left rear</para></listitem>
1021   <listitem><para>right rear</para></listitem>
1022   <listitem><para>center front</para></listitem>
1023 </orderedlist>
1024
1025 <orderedlist spacing="compact">
1026 <title>surround 5.1</title>
1027   <listitem override="0"><para>left front</para></listitem>
1028   <listitem><para>right front</para></listitem>
1029   <listitem><para>left rear</para></listitem>
1030   <listitem><para>right rear</para></listitem>
1031   <listitem><para>center front</para></listitem>
1032   <listitem><para>subwoofer</para></listitem>
1033 </orderedlist>
1034 </para>
1035
1036 <para>
1037 The <option>-channels</option> option is used to request the number of
1038 channels from the audio decoder. Some audio codecs use the number of specified
1039 channels to decide if downmixing the source is necessary. Note that this does
1040 not always affect the number of output channels. For example, using
1041 <option>-channels 4</option> to play a stereo MP3 file will still result in
1042 2-channel output since the MP3 codec will not produce the extra channels.
1043 </para>
1044
1045 <para>
1046 The <option>channels</option> audio filter can be used to create or remove
1047 channels and is useful for controlling the number of channels sent to the sound
1048 card. See the following sections for more information on channel manipulation.
1049 </para>
1050 </sect2>
1051
1052
1053 <sect2 id="advaudio-channels-mono">
1054 <title>Playing mono with two speakers</title>
1055
1056 <para>
1057 Mono sounds a lot better when played through two speakers - especially when
1058 using headphones. Audio files that truly have one channel are automatically
1059 played through two speakers; unfortunately, most files with mono sound are
1060 actually encoded as stereo with one channel silent. The easiest and most
1061 foolproof way to make both speakers output the same audio is the
1062 <option>extrastereo</option> filter:
1063 <screen>mplayer <replaceable>filename</replaceable> -af extrastereo=0</screen>
1064 </para>
1065
1066 <para>
1067 This averages both channels, resulting in both channels being half as loud as
1068 the original. The next sections have examples of other ways to do this without a
1069 volume decrease, but they are more complex and require different options
1070 depending on which channel to keep. If you really need to maintain the volume,
1071 it may be easier to experiment with the <option>volume</option> filter and find
1072 the right value. For example:
1073 <screen>
1074 mplayer <replaceable>filename</replaceable> -af extrastereo=0,volume=5
1075 </screen>
1076 </para>
1077 </sect2>
1078
1079
1080 <sect2 id="advaudio-channels-copying">
1081 <title>Channel copying/moving</title>
1082
1083 <para>
1084 The <option>channels</option> filter can move any or all channels.
1085 Setting up all the suboptions for the <option>channels</option>
1086 filter can be complicated and takes a little care.
1087
1088 <orderedlist spacing="compact">
1089 <listitem><para>
1090   Decide how many output channels you need. This is the first suboption.
1091 </para></listitem>
1092 <listitem><para>
1093   Count how many channel moves you will do. This is the second suboption. Each
1094   channel can be moved to several different channels at the same time, but keep
1095   in mind that when a channel is moved (even if to only one destination) the
1096   source channel will be empty unless another channel is moved into it. To copy
1097   a channel, keeping the source the same, simply move the channel into both the
1098   destination and the source. For example:
1099   <programlisting>
1100 channel 2 --> channel 3
1101 channel 2 --> channel 2<!--
1102   --></programlisting>
1103 </para></listitem>
1104 <listitem><para>
1105   Write out the channel copies as pairs of suboptions. Note that the first
1106   channel is 0, the second is 1, etc. The order of these suboptions does not
1107   matter as long as they are properly grouped into
1108   <replaceable>source:destination</replaceable> pairs.
1109 </para></listitem>
1110 </orderedlist>
1111 </para>
1112
1113 <bridgehead>Example: one channel in two speakers</bridgehead>
1114 <para>
1115 Here is an example of another way to play one channel in both speakers. Suppose
1116 for this example that the left channel should be played and the right channel
1117 discarded. Following the steps above:
1118 <orderedlist>
1119 <listitem><para>
1120   In order to provide an output channel for each of the two speakers, the first
1121   suboption must be "2".
1122 </para></listitem>
1123 <listitem><para>
1124   The left channel needs to be moved to the right channel, and also must be
1125   moved to itself so it won't be empty. This is a total of two moves, making
1126   the second suboption "2" as well.
1127 </para></listitem>
1128 <listitem><para>
1129   To move the left channel (channel 0) into the right channel (channel 1), the
1130   suboption pair is "0:1", "0:0" moves the left channel onto itself.
1131 </para></listitem>
1132 </orderedlist>
1133 Putting that all together gives:
1134 <screen>
1135 mplayer <replaceable>filename</replaceable> -af channels=2:2:0:1:0:0
1136 </screen>
1137 </para>
1138
1139 <para>
1140 The advantage this example has over <option>extrastereo</option> is that the
1141 volume of each output channel is the same as the input channel. The disadvantage
1142 is that the suboptions must be changed to "2:2:1:0:1:1" when the desired audio
1143 is in the right channel. Also, it is more difficult to remember and type.
1144 </para>
1145
1146 <bridgehead>Example: left channel in two speakers shortcut</bridgehead>
1147 <para>
1148 There is actually a much easier way to use the <option>channels</option> filter
1149 for playing the left channel in both speakers:
1150 <screen>mplayer <replaceable>filename</replaceable> -af channels=1</screen>
1151 The second channel is discarded and, with no further suboptions, the single
1152 remaining channel is left alone. Sound card drivers automatically play
1153 single-channel audio in both speakers. This only works when the desired channel
1154 is on the left.
1155 </para>
1156
1157 <bridgehead>Example: duplicate front channels to the rear</bridgehead>
1158 <para>
1159 Another common operation is to duplicate the front channels and play them back
1160 on the rear speakers of a quadraphonic setup.
1161 <orderedlist>
1162 <listitem><para>
1163   There should be four output channels. The first suboption is "4".
1164 </para></listitem>
1165 <listitem><para>
1166   Each of the two front channels needs to be moved to the corresponding rear
1167   channel and also to itself. This is four moves, so the second suboption is "4".
1168 </para></listitem>
1169 <listitem><para>
1170   The left front (channel 0) needs to moved to the left rear (channel 2):
1171   "0:2".  The left front also needs to be moved to itself: "0:0". The right
1172   front (channel 1) is moved to the right rear (channel 3): "1:3", and also to
1173   itself: "1:1".
1174 </para></listitem>
1175 </orderedlist>
1176 Combine all the suboptions to get:
1177 <screen>
1178 mplayer <replaceable>filename</replaceable> -af channels=4:4:0:2:0:0:1:3:1:1
1179 </screen>
1180 </para>
1181 </sect2>
1182
1183
1184 <sect2 id="advaudio-channels-mixing">
1185 <title>Channel mixing</title>
1186
1187 <para>
1188 The <option>pan</option> filter can mix channels in user-specified proportions.
1189 This allows for everything the <option>channels</option> filter can do and
1190 more. Unfortunately, the suboptions are much more complicated.
1191 <orderedlist>
1192 <listitem><para>
1193   Decide how many channels to work with. You may need to specify this with
1194   <option>-channels</option> and/or <option>-af channels</option>.
1195   Later examples will show when to use which.
1196 </para></listitem>
1197 <listitem><para>
1198   Decide how many channels to feed into <option>pan</option> (further decoded
1199   channels are discarded). This is the first suboption, and it also controls how
1200   many channels to employ for output.
1201 </para></listitem>
1202 <listitem>
1203   <para>
1204   The remaining suboptions specify how much of each channel gets mixed into each
1205   other channel. This is the complicated part. To break the task down, split the
1206   suboptions into several sets, one set for each input channel. Each suboption
1207   within a set corresponds to an output channel. The number you specify will be
1208   the percentage of the input channel that gets mixed into the output channel.
1209   </para>
1210   <para>
1211   <option>pan</option> accepts values from 0 to 512, yielding 0% to 51200% of
1212   the original volume. Be careful when using values greater than 1. Not only
1213   can this give you very high volume, but if you exceed the sample range of
1214   your sound card you may hear painful pops and clicks. If you want you can
1215   follow <option>pan</option> with <option>,volume</option> to enable clipping,
1216   but it is best to keep the values of <option>pan</option> low enough that
1217   clipping is not necessary.
1218   </para>
1219 </listitem>
1220 </orderedlist>
1221 </para>
1222
1223 <bridgehead>Example: one channel in two speakers</bridgehead>
1224 <para>
1225 Here is yet another example for playing the left channel in two speakers. Follow
1226 the steps above:
1227 <orderedlist>
1228 <listitem><para>
1229   <option>pan</option> should output two channels, so the first
1230   suboption is "2".
1231 </para></listitem>
1232 <listitem><para>
1233   Since we have two input channels, there will be two sets of suboptions.
1234   Since there are also two output channels,
1235   there will be two suboptions per set.
1236   The left channel from the file should go with full volume to
1237   the new left and the right channels.
1238   Thus the first set of suboptions is "1:1".
1239   The right channel should be discarded, so the second would be "0:0".
1240   Any 0 values at the end can be left out, but for ease of
1241   understanding we will keep them.
1242 </para></listitem>
1243 </orderedlist>
1244 Putting those options together gives:
1245 <screen>mplayer <replaceable>filename</replaceable> -af pan=2:1:1:0:0</screen>
1246 If the right channel is desired instead of the left, the suboptions to
1247 <option>pan</option> will be "2:0:0:1:1".
1248 </para>
1249
1250
1251 <bridgehead>Example: left channel in two speakers shortcut</bridgehead>
1252 <para>
1253 As with <option>channels</option>, there is a shortcut that only works with the
1254 left channel:
1255 <screen>mplayer <replaceable>filename</replaceable> -af pan=1:1</screen>
1256 Since <option>pan</option> has only one channel of input (the other channel is
1257 discarded), there is only one set with one suboption, which specifies that the
1258 only channel gets 100% of itself.
1259 </para>
1260
1261 <bridgehead>Example: downmixing 6-channel PCM</bridgehead>
1262 <para>
1263 <application>MPlayer</application>'s decoder for 6-channel PCM is not capable of
1264 downmixing. Here is a way to downmix PCM using <option>pan</option>:
1265 <orderedlist>
1266 <listitem><para>
1267   The number of output channels is 2, so the first suboption is "2".
1268 </para></listitem>
1269 <listitem><para>
1270   With six input channels there will be six sets of options. Fortunately,
1271   since we only care about the output of the first two channels, we only need to
1272   make two sets; the remaining four sets can be omitted. Beware that not all
1273   multichannel audio files have the same channel order! This example
1274   demonstrates downmixing a file with the same channels as AC-3 5.1:
1275   <programlisting>
1276 0 - front left
1277 1 - front right
1278 2 - rear left
1279 3 - rear right
1280 4 - center front
1281 5 - subwoofer<!--
1282   --></programlisting>
1283   The first set of suboptions lists the percentages of the original volume, in
1284   order, which each output channel should receive from the
1285   front left channel: "1:0".
1286   The front right channel should go into the right output: "0:1".
1287   The same for the rear channels: "1:0" and "0:1".
1288   The center channel goes into both output channels with half volume:
1289   "0.5:0.5", and the subwoofer goes into both with full volume: "1:1".
1290 </para></listitem>
1291 </orderedlist>
1292 Put all that together, for:
1293 <screen>
1294 mplayer <replaceable>6-channel.wav</replaceable> -af pan=2:1:0:0:1:1:0:0:1:0.5:0.5:1:1
1295 </screen>
1296 The percentages listed above are only a rough example. Feel free to tweak them.
1297 </para>
1298
1299 <bridgehead>Example: Playing 5.1 audio on big speakers without a subwoofer</bridgehead>
1300 <para>
1301 If you have a huge pair of front speakers you may not want to waste any money on
1302 buying a subwoofer for a complete 5.1 sound system. If you use
1303 <option>-channels 5</option> to request that liba52 decode 5.1 audio in 5.0,
1304 the subwoofer channel is simply discarded. If you want to distribute the
1305 subwoofer channel yourself you need to downmix manually with
1306 <option>pan</option>:
1307 <orderedlist>
1308 <listitem><para>
1309   Since <option>pan</option> needs to examine all six channels, specify
1310   <option>-channels 6</option> so liba52 decodes them all.
1311 </para></listitem>
1312 <listitem><para>
1313   <option>pan</option> outputs to only five channels, the first suboption is 5.
1314 </para></listitem>
1315 <listitem><para>
1316   Six input channels and five output channels means six sets of five suboptions.
1317   <itemizedlist spacing="compact">
1318   <listitem><para>
1319     The left front channel only replicates onto itself:
1320     "1:0:0:0:0"
1321   </para></listitem>
1322   <listitem><para>
1323     Same for the right front channel:
1324     "0:1:0:0:0"
1325   </para></listitem>
1326   <listitem><para>
1327     Same for the left rear channel:
1328     "0:0:1:0:0"
1329   </para></listitem>
1330   <listitem><para>
1331     And also the same for the right rear channel:
1332     "0:0:0:1:0"
1333   </para></listitem>
1334   <listitem><para>
1335     Center front, too:
1336     "0:0:0:0:1"
1337   </para></listitem>
1338   <listitem><para>
1339     And now we have to decide what to do with the subwoofer,
1340     e.g. half into front right and front left:
1341     "0.5:0.5:0:0:0"
1342   </para></listitem>
1343   </itemizedlist>
1344 </para></listitem>
1345 </orderedlist>
1346 Combine all those options to get:
1347 <screen>
1348 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
1349 </screen>
1350 </para>
1351 </sect2>
1352 </sect1>
1353
1354 <!-- ********** -->
1355
1356 <sect1 id="advaudio-volume">
1357 <title>Software Volume adjustment</title>
1358
1359 <para>
1360 Some audio tracks are too quiet to be heard comfortably without amplification.
1361 This becomes a problem when your audio equipment cannot amplify the signal for
1362 you. The <option>-softvol</option> option directs
1363 <application>MPlayer</application> to use an internal mixer. You can then use
1364 the volume adjustment keys (by default <keycap>9</keycap> and
1365 <keycap>0</keycap>) to reach much higher volume levels. Note that this does not
1366 bypass your sound card's mixer; <application>MPlayer</application> only
1367 amplifies the signal before sending it to your sound card.
1368 The following example is a good start:
1369 <screen>
1370 mplayer <replaceable>quiet-file</replaceable> -softvol -softvol-max 300
1371 </screen>
1372 The <option>-softvol-max</option> option specifies the maximum allowable output
1373 volume as a percentage of the
1374 original volume. For example, <option>-softvol-max 200</option> would allow the
1375 volume to be adjusted up to twice its original level.
1376 It is safe to specify a large value with
1377 <option>-softvol-max</option>; the higher volume will not be used until you
1378 use the volume adjustment keys. The only disadvantage of a large value is that,
1379 since <application>MPlayer</application> adjusts volume by a percentage of the
1380 maximum, you will not have as precise control when using the volume adjustment
1381 keys. Use a lower value with <option>-softvol-max</option> and/or specify
1382 <option>-volstep 1</option> if you need higher precision.
1383 </para>
1384
1385 <para>
1386 The <option>-softvol</option> option works by controlling the
1387 <option>volume</option> audio filter. If you want to play a file at a certain
1388 volume from the beginning you can specify <option>volume</option> manually:
1389 <screen>mplayer <replaceable>quiet-file</replaceable> -af volume=10</screen>
1390 This will play the file with a ten decibel gain. Be careful when using the
1391 <option>volume</option> filter - you could easily hurt your ears if you use
1392 too high a value. Start low and work your way up gradually until you get a feel
1393 for how much adjustment is required. Also, if you specify excessively high
1394 values, <option>volume</option> may need to clip the signal to avoid sending
1395 your sound card data that is outside the allowable range; this will result in
1396 distorted audio.
1397 </para>
1398 </sect1>
1399
1400 <!-- ********** -->
1401
1402 <sect1 id="tv-input" xreflabel="TV input">
1403 <title>TV input</title>
1404
1405 <para>
1406 This section is about how to enable <emphasis role="bold">watching/grabbing
1407 from V4L compatible TV tuner</emphasis>. See the man page for a description
1408 of TV options and keyboard controls.
1409 </para>
1410
1411 <sect2 id="tv-tips">
1412 <title>Usage tips</title>
1413
1414 <para>
1415 The full listing of the options is available on the manual page.
1416 Here are just a few tips:
1417
1418 <itemizedlist>
1419 <listitem><para>
1420   Make sure your tuner works with another TV software in Linux, for
1421   example <application>XawTV</application>.
1422 </para></listitem>
1423 <listitem><para>
1424   Use the <option>channels</option> option. An example:
1425   <screen>-tv channels=26-MTV1,23-TV2</screen>
1426   Explanation: Using this option, only the 26 and 23 channels will be usable,
1427   and there will be a nice OSD text upon channel switching, displaying the
1428   channel's name. Spaces in the channel name must be replaced by the
1429   "_" character.
1430 </para></listitem>
1431 <listitem><para>
1432   Choose some sane image dimensions. The dimensions of the resulting image
1433   should be divisible by 16.
1434 </para></listitem>
1435 <listitem>
1436   <para>
1437   If you capture the video with the vertical resolution higher than half
1438   of the full resolution (i.e. 288 for PAL or 240 for NTSC), then the
1439   'frames' you get will really be interleaved pairs of fields.
1440   Depending on what you want to do with the video you may leave it in
1441   this form, destructively deinterlace, or break the pairs apart into
1442   individual fields.
1443   </para>
1444   <para>
1445   Otherwise you'll get a movie which is distorted during
1446   fast-motion scenes and the bitrate controller will be probably even unable
1447   to retain the specified bitrate as the interlacing artifacts produce high
1448   amount of detail and thus consume lot of bandwidth. You can enable
1449   deinterlacing with <option>-vf pp=DEINT_TYPE</option>.
1450   Usually <option>pp=lb</option> does a good job, but it can be matter of
1451   personal preference.
1452   See other deinterlacing algorithms in the manual and give it a try.
1453   </para>
1454 </listitem>
1455 <listitem><para>
1456   Crop out the dead space. When you capture the video, the areas at the edges
1457   are usually black or contain some noise. These again consume lots of
1458   unnecessary bandwidth. More precisely it's not the black areas themselves
1459   but the sharp transitions between the black and the brighter video image
1460   which do but that's not important for now. Before you start capturing,
1461   adjust the arguments of the <option>crop</option> option so that all the
1462   crap at the margins is cropped out. Again, don't forget to keep the resulting
1463   dimensions sane.
1464 </para></listitem>
1465 <listitem><para>
1466   Watch out for CPU load. It shouldn't cross the 90% boundary for most of the
1467   time. If you have a large capture buffer, <application>MEncoder</application>
1468   can survive an overload for few seconds but nothing more. It's better to
1469   turn off the 3D OpenGL screensavers and similar stuff.
1470 </para></listitem>
1471 <listitem><para>
1472   Don't mess with the system clock. <application>MEncoder</application> uses the
1473   system clock for doing A/V sync. If you adjust the system clock (especially
1474   backwards in time), <application>MEncoder</application> gets confused and you
1475   will lose frames. This is an important issue if you are hooked to a network
1476   and run some time synchronization software like NTP. You have to turn NTP
1477   off during the capture process if you want to capture reliably.
1478 </para></listitem>
1479 <listitem><para>
1480   Don't change the <option>outfmt</option> unless you know what you are doing
1481   or your card/driver really doesn't support the default (YV12 colorspace).
1482   In the older versions of <application>MPlayer</application>/
1483   <application>MEncoder</application> it was necessary to specify the output
1484   format. This issue should be fixed in the current releases and
1485   <option>outfmt</option> isn't required anymore, and the default suits the
1486   most purposes. For example, if you are capturing into DivX using
1487   <systemitem class="library">libavcodec</systemitem> and specify
1488   <option>outfmt=RGB24</option> in order to increase the quality of the captured
1489   images, the captured image will be actually later converted back into YV12 so
1490   the only thing you achieve is a massive waste of CPU power.
1491 </para></listitem>
1492 <listitem><para>
1493   There are several ways of capturing audio. You can grab the sound either using
1494   your sound card via an external cable connection between video card and
1495   line-in, or using the built-in ADC in the bt878 chip. In the latter case, you
1496   have to load the <emphasis role="bold">btaudio</emphasis> driver. Read the
1497   <filename>linux/Documentation/sound/btaudio</filename> file (in the kernel
1498   tree, not <application>MPlayer</application>'s) for some instructions on using
1499   this driver.
1500 </para></listitem>
1501 <listitem><para>
1502   If <application>MEncoder</application> cannot open the audio device, make
1503   sure that it is really available. There can be some trouble with the sound
1504   servers like aRts (KDE) or ESD (GNOME). If you have a full duplex sound card
1505   (almost any decent card supports it today), and you are using KDE, try to
1506   check the "full duplex" option in the sound server preference menu.
1507 </para></listitem>
1508 </itemizedlist>
1509 </para>
1510 </sect2>
1511
1512 <sect2 id="tv-examples">
1513 <title>Examples</title>
1514
1515 <informalexample><para>
1516 Dummy output, to AAlib :)
1517 <screen>mplayer -tv driver=dummy:width=640:height=480 -vo aa tv://</screen>
1518 </para></informalexample>
1519
1520 <informalexample><para>
1521 Input from standard V4L:
1522 <screen>
1523 mplayer -tv driver=v4l:width=640:height=480:outfmt=i420 -vc rawi420 -vo xv tv://
1524 </screen>
1525 </para></informalexample>
1526
1527 <informalexample><para>
1528 A more sophisticated example. This makes <application>MEncoder</application>
1529 capture the full PAL image, crop the margins, and deinterlace the picture
1530 using a linear blend algorithm. Audio is compressed with a constant bitrate
1531 of 64kbps, using LAME codec. This setup is suitable for capturing movies.
1532 <screen>
1533 mencoder -tv driver=v4l:width=768:height=576 -oac mp3lame -lameopts cbr:br=64\
1534     -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=900 \
1535     -vf crop=720:544:24:16,pp=lb -o <replaceable>output.avi</replaceable> tv://
1536 </screen>
1537 </para></informalexample>
1538
1539 <informalexample><para>
1540 This will additionally rescale the image to 384x288 and compresses the
1541 video with the bitrate of 350kbps in high quality mode. The vqmax option
1542 looses the quantizer and allows the video compressor to actually reach so
1543 low bitrate even at the expense of the quality. This can be used for
1544 capturing long TV series, where the video quality isn't so important.
1545 <screen>
1546 mencoder -tv driver=v4l:width=768:height=576 \
1547     -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=350:vhq:vqmax=31:keyint=300 \
1548     -oac mp3lame -lameopts cbr:br=48 -sws 1 -o <replaceable>output.avi</replaceable>\
1549     -vf crop=720:540:24:18,pp=lb,scale=384:288 tv://
1550 </screen>
1551 It's also possible to specify smaller image dimensions in the
1552 <option>-tv</option> option and omit the software scaling but this approach
1553 uses the maximum available information and is a little more resistant to noise.
1554 The bt8x8 chips can do the pixel averaging only in the horizontal direction due
1555 to a hardware limitation.
1556 </para></informalexample>
1557 </sect2>
1558 </sect1>
1559
1560 <!-- ********** -->
1561
1562 <sect1 id="tv-teletext">
1563 <title>Teletext</title>
1564
1565 <para>
1566   Teletext is currently available only in <application>MPlayer</application>
1567   for v4l and v4l2 drivers.
1568 </para>
1569
1570 <sect2 id="tv-teletext-implementation-notes">
1571 <title>Implementation notes</title>
1572
1573 <para>
1574 <application>MPlayer</application> supports regular text, graphics and navigation links.
1575 Unfortunately, colored pages are not fully supported yet - all pages are shown as grayscaled.
1576 Subtitle pages (also known as Closed Captions) are supported, too.
1577 </para>
1578
1579 <para>
1580 <application>MPlayer</application> starts caching all teletext pages upon
1581 starting to receive TV input, so you do not need to wait until the requested page is loaded.
1582 </para>
1583
1584 <para>
1585 Note: Using teletext with <option>-vo xv</option> causes strange colors.
1586 </para>
1587 </sect2>
1588
1589 <sect2 id="tv-teletext-usage">
1590 <title>Using teletext</title>
1591
1592 <para>
1593 To enable teletext decoding you must specify the VBI device to get teletext data
1594 from (usually <filename>/dev/vbi0</filename> for Linux). This can be done by specifying
1595 <option>tdevice</option> in your configuration file, like shown below:
1596 <screen>tv=tdevice=/dev/vbi0</screen>
1597 </para>
1598
1599 <para>
1600 You might need to specify the teletext language code for your country.
1601 To list all available country codes use
1602 <screen>tv=tdevice=/dev/vbi0:tlang=<replaceable>-1</replaceable></screen>
1603 Here is an example for Russian:
1604 <screen>tv=tdevice=/dev/vbi0:tlang=<replaceable>33</replaceable></screen>
1605 </para>
1606
1607 <para>
1608 </para>
1609 </sect2>
1610
1611 </sect1>
1612
1613
1614 <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
1615
1616
1617 <sect1 id="radio">
1618 <title>广播电台</title>
1619
1620 <sect2 id="radio-input" xreflabel="Radio input">
1621 <title>电台输入</title>
1622
1623 <para>
1624 这一部分将说明如何从V4L兼容的电台调谐器收听电台广播。
1625 请阅读手册中关于电台的可选项和键盘控制的描述。
1626 </para>
1627
1628 <!-- ********** -->
1629
1630 <sect3 id="radio-compilation">
1631 <title>编译</title>
1632
1633 <procedure>
1634 <step><para>
1635   首先, 你需要重新编译MPlayer, 使用<filename>./configure</filename>带上选项
1636   <option>--enable-radio</option> 和(如果你想要支持捕捉)
1637   <option>--enable-radio-capture</option>
1638 </para></step>
1639 <step><para>
1640   确认你的电台调谐器可以和Linux的其他收音软件工作。 比如<application>XawTV</application>。
1641 </para></step>
1642 </procedure>
1643 </sect3>
1644
1645 <!-- ********** -->
1646
1647 <sect3 id="radio-tips">
1648 <title>使用技巧</title>
1649
1650 <para>
1651 可用选项的完整列表在手册中有列出。
1652 这里只给出一些技巧:
1653
1654 <itemizedlist>
1655 <listitem><para>
1656   使用<option>channels</option>选项。 例子:
1657   <screen>-radio channels=104.4-Sibir,103.9-Maximum</screen>
1658   解释: 使用该选项, 则只可使用104.4和103.9电台。 在频道切换时, 将会有个不错的OSD文字,
1659   显示频道的名字。 频道的名字中的空格必须替换成下划线("_")。
1660 </para></listitem>
1661 <listitem><para>
1662   有好几种方法可以捕捉声音。 为捕捉音频, 你可以通过连接视频卡和音频输入的外接线用你的声卡捕捉,
1663   也可以使用saa7134芯片内置的ADC。 在后一种情况下, 你要加载<systemitem>saa7134-alsa</systemitem>
1664   或<systemitem>saa7134-oss</systemitem>驱动。
1665 </para></listitem>
1666 <listitem><para>
1667   <application>MEncoder</application>不能用于音频捕捉,
1668   因为它需要视频流才工作。 因此你可以, 或使用ALSA项目的<application>arecord</application>,
1669   或者使用选项<option>-ao pcm:file=file.wav</option>。 在后一种情况下,
1670   你将听不到任何声音 (除非你用了输入线, 并且关闭了输入线静音)。
1671 </para></listitem>
1672 </itemizedlist>
1673 </para>
1674 </sect3>
1675
1676 <!-- ********** -->
1677
1678 <sect3 id="radio-examples">
1679 <title>例子</title>
1680
1681 <informalexample><para>
1682 从标准的V4L输入 (使用输入线, 捕捉开关关闭):
1683 <screen>mplayer radio://104.4</screen>
1684 </para></informalexample>
1685
1686 <informalexample><para>
1687 从标准的V4L输入 (使用输入线, 捕捉开关关闭, V4Lv1接口):
1688 <screen>mplayer -radio driver=v4l radio://104.4</screen>
1689 </para></informalexample>
1690
1691 <informalexample><para>
1692 播放频道列表中的第二个频道:
1693 <screen>mplayer -radio channels=104.4=Sibir,103.9=Maximm radio://2</screen>
1694 </para></informalexample>
1695
1696 <informalexample>
1697 <para>
1698 把声音从收音卡的内置ADC传到PCI总线。
1699 在这个例子中, 调谐器被用成是第二块声卡(ALSA device hw:1,0)。
1700 对于基于saa7134的卡, 必须加载 saa7134-alsa 或 saa7134-oss 模块。
1701 <screen>
1702 mplayer -rawaudio rate=32000 radio://2/capture \
1703     -radio adevice=hw=1.0:arate=32000:channels=104.4=Sibir,103.9=Maximm
1704 </screen>
1705 <note><para>当使用ALSA设备名时, 冒号(:)必须替换成等号(=),
1706 逗号(,)要替换成句点(.)
1707 </para></note>
1708 </para>
1709 </informalexample>
1710 </sect3>
1711 </sect2>
1712
1713 </sect1>
1714 </chapter>