Sync by Lu Ran <hephooey@fastmail.fm>.

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@9269 b3059339-0415-0410-9bf9-f77b7e298cf2
This commit is contained in:
diego 2003-02-04 08:54:58 +00:00
parent 830495b742
commit ab2b470b76
9 changed files with 782 additions and 710 deletions

View File

@ -137,7 +137,14 @@ HREF="http://expita.com/nomime.html">д
</UL>
<H3><A NAME="compilation">B.4.3 编译问题</A></H3>
<H3><A NAME="configure">B.4.3 配置问题</A></H3>
<P>如果你在运行<CODE>./configure</CODE>时有问题,或者什么东西的自动检测失败,检查<CODE>configure.log</CODE>。你可能会在那里找到
答案,比如你的机器上存在同一个库的多个版本混合存在的问题。或者你忘记安装开发包(那些-dev后缀的)。如果你认为有bug在你的bug报告
中附上<CODE>configure.log</CODE></P>
<H3><A NAME="compilation">B.4.4 编译问题</A></H3>
请附上下列文件:
@ -154,10 +161,6 @@ HREF="http://expita.com/nomime.html">д
<LI><CODE>libao2/config.mak</CODE></LI>
</UL>
<H3><A NAME="configure">B.4.4 配置问题</A></H3>
附上<CODE>configure.log</CODE>.
<H3><A NAME="playback">B.4.5 播放的问题</A></H3>
<P>请包括MPlayer的冗长水平为1的输出但是记住当你把它粘贴到你的邮件中时<B>不要删减输出内容</B>。开发者们需要所有的信息来正确的分析问题。
@ -211,7 +214,8 @@ HREF="http://expita.com/nomime.html">д
<P>请建立下面的命令文件:</P>
<P><CODE>disass $pc-32 $pc+32<BR>
<P><CODE>bt<BR>
disass $pc-32 $pc+32<BR>
info all-registers</CODE></P>
<P>然后直接在你的命令行下执行下列命令:</P>

View File

@ -54,7 +54,14 @@ HREF="http://das.ist.org/~georg/">Plextor
<H2><A NAME="dvd">4.2 DVD播放</A></H2>
<P>可用选项的完整列表请查阅man page。</P>
<P>可用选项的完整列表参见man page。播放标准的数字多功能碟片(DVD)的语法如下:</P>
<P><CODE>mplayer -dvd &lt;track&gt; [-dvd-device &lt;device&gt;]</CODE></P>
<P>示例:<CODE>mplayer -dvd 1 -dvd-device /dev/hdc</CODE></P>
<P>默认的DVD设备是<CODE>/dev/dvd</CODE>。如果你的设置不同,作一个符号链接,或者在命令行中用<CODE>-dvd-device</CODE>选项
指定一个正确的设备。</P>
<H4>新式的DVD支持(mpdvdkit2)</H4>
@ -147,6 +154,10 @@ DVD
<P><B>注意:</B>至少对于Plextor和一些Toshiba的SCSI CD-ROM驱动器在读取VCD的时候慢的恐怖。这是因为CDROMREADRAW ioctl在这些
驱动器上没有完全实现。如果你有SCSI编程方面的支持<A HREF="tech/patches.txt">帮助我们</A>实现普遍的SCSI设备的VCD支持。</P>
<P>此外你还可以使用<A HREF="http://140.132.1.204/OS/Linux/packages/X/viewers/readvcd/">readvcd</A>提取VCD中的数据并用
MPlayer播放获得的文件。</P>
<H4>VCD结构</H4>
<P>VCD碟片由一个或多个音轨组成</P>

View File

@ -15,16 +15,19 @@
<H3><A NAME="video_codecs">2.2.1 视频编解码器</A></H3>
<P>查阅<A HREF="http://www.mplayerhq.hu/DOCS/codecs-status.html">编解码器状态表</A>来了解完整的,每日更新的列表。</P>
<P>检查<A HREF="http://www.mplayerhq.hu/DOCS/codecs-status.html">codec status table</A>来获得完整的,每日更新的
列表。大部分的编解码器可以从我们的主页下载,在我们的<A
HREF="http://www.mplayerhq.hu/MPlayer/releases/codecs/">编解码器页</A>可以找到他们。</P>
<P>所有之中最重要的:</P>
<UL>
<LI>MPEG1(VCD)和MPEG2(DVD)视频</LI>
<LI>DivX的本地的解码器;-)OpenDivXDivX4DivX5M$ MPEG4 v1v2和其它的MPEG4变种</LI>
<LI>Windows Media Video 7(WMV1)的本地的解码器和Windows Media Video 8(WMV2)的Win32 DLL解码器它们两个都用于.wmv文件</LI>
<LI>Windows Media Video 7/8(WMV1/WMV2)的本地的解码器和Windows Media Video 9(WMV3)的Win32 DLL解码器它们都用于.wmv文件</LI>
<LI><B>本地的Sorenson(SVQ1)解码器</B></LI>
<LI><B>Win32/QT Sorenson 3 (SVQ3) decoder</B></LI>
<LI>3ivx解码器</LI>
<LI>3ivx v1, v2解码器</LI>
<LI>Cinepak和Intel Indeo解码器(3.1,3.2,4.1,5.0)</LI>
<LI>MJPEGAVIDVCR2ASV2和其它硬件格式</LI>
<LI>VIVO 1.02.0I263和其它h263(+)的变种</LI>
@ -61,10 +64,11 @@ OpenDivX 4.0 alpha 47
<P><B>注意:</B>如果你的<CODE>-vo</CODE>驱动支持直接渲染,那么<CODE>-vc divx4</CODE>可以是很快甚至最快的解决方案。</P>
<P>这个编解码器可以在<A HREF="http://avifile.sourceforge.net">avifile</A>下载解压之后以root权限运行<CODE>./install.sh</CODE>
<P>Divx4/5的二进制编解码器库可以从<A HREF="http://avifile.sourceforge.net">avifile</A>或者<A
HREF="http://www.divx.com">divx.com</A>下载解压之后以root权限运行<CODE>./install.sh</CODE>
另外别忘了把<CODE>/usr/local/lib</CODE>添加到你的<CODE>/etc/ld.so.conf</CODE>中然后运行<CODE>ldconfig</CODE></P>
<P>想得到核心库的CVS版本可以这样做</P>
<P>想得到老的OpenDivx的核心库的CVS版本可以这样做</P>
<OL>
<LI><CODE>cvs -d:pserver:anonymous@cvs.projectmayo.com:/cvsroot login</CODE></LI>
@ -97,7 +101,7 @@ HREF="ftp://ftp.mplayerhq.hu/MPlayer/contrib/divx-mf/Makefile">Makefile</A>
<H4><A NAME="libavcodec">2.2.1.2 FFmpeg DivX/libavcodec</A></H4>
<P><A HREF="http://ffmpeg.sourceforge.net">FFmpeg</A>包括一组<B>开放源码的</B>解码器包,能够以兼容方式解码以
H263/MJPEG/RV10/DivX3/DivX4/DivX5/MP41/MP42/WMV1编码格式编码的视频流。它不仅能对其中一些进行编码
H263/MJPEG/RV10/DivX3/DivX4/DivX5/MP41/MP42/WMV1/WMV2/HuffYUV编码格式编码的视频流。它不仅能对其中一些进行编码,
同时提供比Win32解码器或DivX.com的DivX4/5库更高的速度</P>
<P>它包含很多不错的解码器尤其重要的是MPEG4的几个变种DivX 3DivX 4DivX 5Windows Media Video 7(WMV1)。另外一个有趣的东西是WMA解码器。</P>
@ -137,7 +141,7 @@ HREF="http://www.3ivx.com">3ivx
<LI>给文件改名/做符号链接,去掉代表平台构架之类的东西,让他们看起来像这样:<CODE>vid_cvid.xa, vid_h263.xa, vid_iv50.xa</CODE></LI>
</OL>
<P>XAnim的视频解码器族号码是10因此你可以使用<CODE>-vfm 10</CODE>选项让MPlayer尽可能的使用他们</P>
<P>XAnim属于视频编解码器族<I>xanim</I>,所以你可能需要使用<CODE>-vfm xanim</CODE></P>
<P>测试过的解码器包括:<B>Indeo 3.2</B><B>4.1</B><B>5.0</B><B>CVID</B><B>3ivX</B><B>h263</B></P>
@ -225,7 +229,7 @@ MPlayer
<LI>Sorenson 1(fourcc <I>SVQ1</I>) - 由<B>本地编解码器</B>解码。<BR>
实际上有两个SVQ1的(几乎等价的)解码器一个在MPlayer中还有一个在libavcodec。你可以通过<CODE>-vc svq1</CODE>
<CODE>-vc ffsvq1</CODE>选项调用它们中的任意一个。有些文件可能只能在其中一个上工作,而另一个就行,所以
两个解码器都试试。</LI>
两个解码器都试试。这个解码器是由<A HREF="http://www.xinehq.de">xine</A>的作者编写(完成反向工程)的。</LI></LI>
<LI>Sorenson 3(fourcc <I>SVQ3</I>) - 由<B>Win32的QuickTime库</B>解码。</LI>
</UL>
@ -370,7 +374,7 @@ MPlayer֧
</OL>
<P><B>注意:</B>如果没有<CODE>Filename</CODE>项而<CODE>DisplayName</CODE>中包含类似<CODE>device:dmo</CODE>的东西,
那么这是一个DMO-CodecMPlayer目前不支持</P>
那么这是一个DMO-Codec</P>
<P><B>老方法:</B>做个深呼吸然后开始搜索注册表...</P>
<OL>

View File

@ -65,6 +65,7 @@
<LI><A HREF="formats.html#ogg">2.1.1.12 OGG/OGM文件</A></LI>
<LI><A HREF="formats.html#sdp">2.1.1.13 SDP文件</A></LI>
<LI><A HREF="formats.html#pva">2.1.1.14 PVA文件</A></LI>
<LI><A HREF="formats.html#gif">2.1.1.15 GIF文件</A></LI>
</UL>
</LI>
<LI><A HREF="formats.html#audio_formats">2.1.2 音频格式</A>
@ -130,6 +131,7 @@
<LI><A HREF="video.html#xv_ati">2.3.1.2.1.4 ATI显卡</A></LI>
<LI><A HREF="video.html#xv_neomagic">2.3.1.2.1.5 NeoMagic显卡</A></LI>
<LI><A HREF="video.html#xv_trident">2.3.1.2.1.6 Trident显卡</A></LI>
<LI><A HREF="video.html#xv_trident">2.3.1.2.1.7 Kyro/PowerVR显卡</A></LI>
</UL>
</LI>
<LI><A HREF="video.html#dga">2.3.1.2.2 DGA</A></LI>
@ -142,7 +144,14 @@
<LI><A HREF="video.html#aalib">2.3.1.2.9 AAlib -- 文本方式显示</A></LI>
<LI><A HREF="video.html#vesa">2.3.1.2.10 VESA -- VESA BIOS的输出</A></LI>
<LI><A HREF="video.html#x11">2.3.1.2.11 X11</A></LI>
<LI><A HREF="video.html#vidix">2.3.1.2.12 VIDIX</A></LI>
<LI><A HREF="video.html#vidix">2.3.1.2.12 VIDIX</A>
<UL>
<LI><A HREF="video.html#vidix_ati"> 2.3.1.2.12.1 ATI cards</A></LI>
<LI><A HREF="video.html#vidix_matrox"> 2.3.1.2.12.2 Matrox cards</A></LI>
<LI><A HREF="video.html#vidix_trident"> 2.3.1.2.12.3 Trident cards</A></LI>
<LI><A HREF="video.html#vidix_3dlabs"> 2.3.1.2.12.4 3DLabs cards</A></LI>
</UL>
</LI>
<LI><A HREF="video.html#directfb">2.3.1.2.13 DirectFB</A></LI>
<LI><A HREF="video.html#dfbmga">2.3.1.2.14 DirectFB/Matrox(dfbmga)</A></LI>
</UL>
@ -277,39 +286,21 @@
<LI><A HREF="encoding.html">7. 用MEncoder编码</A>
<UL>
<LI><A HREF="encoding.html#2pass">7.1 2或3-pass的MPEG-4("DIVX")编码</A></LI>
<LI><A HREF="encoding.html#rescaling">7.2 电影再缩放</A></LI>
<LI><A HREF="encoding.html#copying">7.3 流复制</A></LI>
<LI><A HREF="encoding.html#fixing">7.4 修复索引损坏的AVI文件</A></LI>
<LI><A HREF="encoding.html#libavcodec">7.5 用libavcodec编解码器族进行编码</A></LI>
<LI><A HREF="encoding.html#image_files">7.6 用输入的多幅图像文件(JPEGs或者PNGs)进行编码</A></LI>
<LI><A HREF="encoding.html#vobsub">7.7 将DVD字幕提取为Vobsub文件</A></LI>
<LI><A HREF="encoding.html#aspect">7.8 保持屏幕高宽比</A></LI>
<LI><A HREF="encoding.html#mpeg">7.2 编码为MPEG格式</A></LI>
<LI><A HREF="encoding.html#rescaling">7.3 电影再缩放</A></LI>
<LI><A HREF="encoding.html#copying">7.4 流复制</A></LI>
<LI><A HREF="encoding.html#fixing">7.5 修复索引损坏的AVI文件</A></LI>
<UL>
<LI><A HREF="encoding.html#appending">7.5.1 合并多个AVI文件</A></LI>
</UL>
<LI><A HREF="encoding.html#libavcodec">7.6 用libavcodec编解码器族进行编码</A></LI>
<LI><A HREF="encoding.html#image_files">7.7 用输入的多幅图像文件(JPEGs或者PNGs)进行编码</A></LI>
<LI><A HREF="encoding.html#vobsub">7.8 将DVD字幕提取为Vobsub文件</A></LI>
<LI><A HREF="encoding.html#aspect">7.9 保持屏幕高宽比</A></LI>
</UL>
</LI>
<LI><A HREF="#mailing_lists">附录A -- 邮件列表</A></LI>
<LI><A HREF="bugreports.html">Appendix B -- 如何报告bugs</A>
<UL>
<LI><A HREF="bugreports.html#fix">B.1 如何修复bugs</A></LI>
<LI><A HREF="bugreports.html#report">B.2 如何报告bugs</A></LI>
<LI><A HREF="bugreports.html#where">B.3 向哪里报告bugs</A></LI>
<LI><A HREF="bugreports.html#what">B.4 报告什么</A>
<UL>
<LI><A HREF="bugreports.html#system">B.4.1 系统信息</A></LI>
<LI><A HREF="bugreports.html#hardware">B.4.2硬件和驱动</A></LI>
<LI><A HREF="bugreports.html#compilation">B.4.3 编译问题</A></LI>
<LI><A HREF="bugreports.html#configure">B.4.4 配置问题</A></LI>
<LI><A HREF="bugreports.html#playback">B.4.5 播放问题</A></LI>
<LI><A HREF="bugreports.html#crash">B.4.6 崩溃</A>
<UL>
<LI><A HREF="bugreports.html#debug">B.4.6.1 如何保存一个可重复的崩溃的信息</A></LI>
<LI><A HREF="bugreports.html#core">B.4.6.2 如何从一个core dump中提取有意义的信息</A></LI>
</UL>
</LI>
</UL>
</LI>
<LI><A HREF="bugreports.html#advusers">B.5 我知道我正在干什么...</A></LI>
</UL>
</LI>
<LI><A HREF="bugreports.html">附录B -- 如何报告bugs</A></LI>
<LI><A HREF="#known_bugs">附录C -- 已知bug</A></LI>
<LI><A HREF="skin.html">附录D - MPlayer skin的格式</A>
<UL>
@ -401,8 +392,7 @@ OpenGL
<LI>编码/多路传输成具有适当索引的交错的AVI文件</LI>
<LI>从外部音频流创建文件</LI>
<LI>1, 2或3 pass编码</LI>
<LI><B>VBR</B>的MP3音频 - <B>重要提示:</B> VBR MP3音频不总是能被Windows的播放器正常的播放另一方面目前MEncoder的
CBR编码文件在Win32播放器上完全无法播放:)</LI>
<LI><B>VBR</B>的MP3音频 - <B>重要提示:</B> VBR MP3音频不总是能被Windows的播放器正常的播放</LI>
<LI>PCM音频</LI>
<LI>流复制</LI>
<LI>输入的自动A/V同步(基于PTS使用-mc 0选项来禁用)</LI>
@ -471,7 +461,7 @@ OpenGL
<UL>
<LI><B>binutils</B> -- 建议版本<B>2.11.x</B>。这个程序负责生成MMX/3DNow!/etc指令因此十分重要。</LI>
<LI><B>gcc</B> -- 建议版本是:<B>2.95.3</B><B>2.95.4</B><B>3.1</B><B>永远不要</B>使用2.96或者3.0.x
<LI><B>gcc</B> -- 建议版本是:<B>2.95.3</B>(或者<B>2.95.4</B>)和<B>3.2+</B><B>永远不要</B>使用2.96或者3.0.x
他们产生错误的MPlayer的代码。如果你决定更换2.96的gcc那么不要只是因为新而决定采用3.0.x3.0.x的早期版本甚至比2.96更buggy。
因此不如降级到2.95.x(也把libstdc++降级,其它程序可能需要它)或者根本不升/降级(但这种情况下请对运行时的问题作好准备)。
如果你一定要使用3.x.x请使用最新的版本早先的发行版本有各种各样的错误确信你使用的至少是3.1,它通过测试且工作正常。
@ -655,7 +645,7 @@ HREF="codecs.html#software_ac3">
<H2><A NAME="gui">1.3 GUI有吗</A></H2>
<P>GUI需要GTK(它不是GTK的但是面板是的)。skin被保存为PNG格式因此你需要安装gtklibpng(和他们的devel包)。
<P>GUI需要GTK 1.2.x(它不是GTK的但是面板是的)。skin被保存为PNG格式因此你需要安装gtklibpng(和他们的devel包一般是gtk-dev和libpng-dev)。
你必须在运行<CODE>./configure</CODE>时使用<CODE>--enable-gui</CODE>来编译它的代码。然后你可以用下列方法之一打开GUI方式</P>
<UL>
<LI>在你的config文件中添加<CODE>gui=yes</CODE></LI>
@ -675,6 +665,8 @@ MPlayer
MPlayer能在播放电影的同时显示字幕。目前支持下列格式</P>
<UL>
<LI>VobSub</LI>
<LI>OGM</LI>
<LI>CC (closed caption)</LI>
<LI>Microdvd</LI>
<LI>SubRip</LI>
<LI>SubViewer</LI>
@ -687,7 +679,7 @@ MPlayer
<LI>JACOsub</LI>
</UL>
<P>MPlaye可以把上面列出的字幕格式转换成下列的格式使用下列选项</P>
<P>MPlaye可以把上面列出的字幕格式(除了前三个)转换成下列的格式,使用下列选项:</P>
<UL>
<LI>MPsub: <CODE>-dumpmpsub</CODE></LI>
@ -737,7 +729,7 @@ MPlayer
<H3><A NAME="mpsub">1.4.1 MPlayer自己的字幕格式(MPsub)</A></H3>
<P>MPlayer引入一种称为<B>MPsub</B>的新的字幕格式。它是我(Gabucino)设计。基本上,其主要的特性是基于<I>动态</I>时间
<P>MPlayer引入一种称为<B>MPsub</B>的新的字幕格式。它由Gabucino设计。基本上,其主要的特性是基于<I>动态</I>时间
(虽然它有基于帧的模式)。例如(引自<A HREF="http://www.mplayerhq.hu/DOCS/tech/mpsub.sub">DOCS/tech/mpsub.sub</A>)</P>
<P><CODE><I># first number : wait this much after previous subtitle disappeared<BR>
@ -806,12 +798,14 @@ konwert(Debian)
<H3><A NAME="menu">1.4.3 OSD菜单</A></H3>
<P>MPlayer有一个完整的用户可定义的OSD菜单接口。</P>
<P>MPlayer有一个完全用户自定义的OSD菜单接口。</P>
<P><B>注意:</B>Preferences菜单目前不能使用!</P>
<H4>安装</H4>
<OL>
<LI>编译MPlayer时在<CODE>./configure</CODE>时加上<CODE>--enable-new-conf --enable-menu</CODE>参数</LI>
<LI>编译MPlayer时在<CODE>./configure</CODE>时加上<CODE>--enable-menu</CODE>参数</LI>
<LI>确保你安装了OSD字体</LI>
<LI><CODE>etc/menu.conf</CODE>复制到你的<CODE>.mplayer</CODE>目录</LI>
<LI><CODE>etc/input.conf</CODE>复制到你的<CODE>.mplayer</CODE>目录或者系统通用的MPlayer配置目录(默认为:<CODE>/usr/local/etc/mplayer</CODE>)</LI>
@ -1361,7 +1355,7 @@ HREF="http://www.sun.com/sparc/vis/mediaLib.html">mLib</A>
<P>mediaLib的VIS加速功能用于mpeg2视频解码和视频输出驱动的颜色转换。</P>
<H2><A NAME="sgi">6.5 Silicon Graphics / IRIX</A></H2>
<H2><A NAME="sgi">6.4 Silicon Graphics / IRIX</A></H2>
<P>你可以安装GNU的install程序并且(如果你没有把它放在你的系统路径中)指定它的位置:</P>
@ -1394,7 +1388,7 @@ HREF="http://www.sun.com/sparc/vis/mediaLib.html">mLib</A>
<P>然后继续编译和安装。</P>
<H2><A NAME="qnx">6.6 QNX</A></H2>
<H2><A NAME="qnx">6.5 QNX</A></H2>
<P>能工作。你需要下载SDL for QNX并安装它。然后使用<CODE>-vo sdl:photon</CODE><CODE>-ao sdl:nto</CODE>
选项运行MPlayer速度应该很快。</P>
@ -1402,7 +1396,7 @@ HREF="http://www.sun.com/sparc/vis/mediaLib.html">mLib</A>
<P><CODE>-vo x11</CODE>输出将比Linux更加缓慢因为QNX只有一个十分缓慢的的X<I>仿真</I>。使用SDL。</P>
<H2><A NAME="cygwin"></A>6.7 Cygwin</H2>
<H2><A NAME="cygwin"></A>6.6 Cygwin</H2>
<P>Cygwin的移植仍然很不成熟。目前还不支持Win32 DLLs和OpenGL。SDL据说会扭曲声音和图像或者在某些系统上导致崩溃。<A
HREF="tech/patches.txt">补丁</A>总是欢迎的。最好的效果是使用本地的DirectX视频输出驱动(<CODE>-vo directx</CODE>)
@ -1426,7 +1420,7 @@ HREF="http://www.videolan.org/vlc/dx7headers.tgz">DirectX 7ͷ
<P>DVD同样可以用下面的命令DVD设备设置成你的CD-ROM驱动器</P>
<P><CODE>mplayer -dvd &lt;title&gt; -dvd-device d:</CODE></P>
<P><CODE>mplayer -dvd &lt;title&gt; -dvd-device '\\.\d:'</CODE></P>
<P>QuickTime DLL据说也能工作。用<CODE>--enable-qtx-codecs</CODE>编译并把编解码器放到默认的Windows DLL位
置,<CODE>C:\WINNT\system32</CODE>或者<CODE>C:\Windows\system</CODE>取决于你的Windows的版本。</P>

View File

@ -61,8 +61,22 @@ MEncoder
&nbsp;&nbsp;&nbsp;&nbsp;mencoder -dvd 2 -ovc lavc
-lavcopts vcodec=mpeg4:vpass=2 -oac copy -o movie.avi</CODE></P>
<H2><A NAME="mpeg">7.2 编码为MPEG格式</A></H2>
<H2><A NAME="rescaling">7.2 电影再缩放</A></H2>
<P>MEncoder可以生成MPEG(MPEG-PS)格式的输出文件。它们可能只能用于libavcodec的<I>mpeg1video</I>编解码器,因为一般播放器 -
- 除了MPlayer -- 认为MPEG文件中包含的是MPEG1视频流和MPEG1 layer 2(MP2)音频流。</P>
<P>这个特性目前来说没有什么用处而且可能还有很多bug其重要性在于目前MEncoder无法编码MPEG1 layer 2 (MP2)的音频,而它正是别的播放
器认为MPEG文件中应该有的。</P>
<P>要改变MEncoder的输出文件格式可以使用<CODE>-of mpeg</CODE>选项。</P>
<P>示例:<BR>
&nbsp;&nbsp;<CODE>mencoder -of mpeg -ovc lavc -lavcopts vcodec=mpeg1video
-oac copy &lt;other options&gt; media.avi -o output.mpg</CODE></P>
<H2><A NAME="rescaling">7.3 电影再缩放</A></H2>
<P>把电影图象的尺寸重新设置的需要经常出现。原因可能很多例如减小输出文件的大小网络带宽等等很多人甚至再把DVD或SVCD编码为到DivX
的AVI的时候也重新缩放<B>这是错误的</B>。在这么做之前,请先阅读<A HREF="#aspect">保持屏幕高宽比</A>部分。</P>
@ -76,7 +90,7 @@ MEncoder
output.avi</CODE></P>
<H2><A NAME="copying">7.3 流复制</A></H2>
<H2><A NAME="copying">7.4 流复制</A></H2>
<P>MEncoder能用两种方式处理输入流<B>编码</B>或者<B>复制</B>他们。这部分是关于<B>复制</B>的。</P>
@ -90,7 +104,7 @@ MEncoder
</UL>
<H2><A NAME="fixing">7.4 修复索引或者交错损坏的AVI </A></H2>
<H2><A NAME="fixing">7.5 修复索引或者交错损坏的AVI </A></H2>
<P>最容易的事情。我们简单地复制视频和音频流并用MEncoder产生索引。当然这不能修复视频和/或者音频流中可能的错误。
这同样也可以修复交错损坏的文件,
@ -98,8 +112,17 @@ MEncoder
<P>命令:<CODE>mencoder -idx input.avi -ovc copy -oac copy -o output.avi</CODE></P>
<H3><A NAME="appending">7.5.1 合并多个AVI文件</A></H3>
<H2><A NAME="libavcodec">7.5 用libavcodec编解码器族编码</A></H2>
<P>作为修复损坏的AVI文件的副产物MEncoder可以用来修复两个或多个AVI文件合并生成的文件</P>
<P>命令:<CODE>cat 1.avi 2.avi | mencoder -noidx -ovc copy -oac copy -o output.avi -</CODE></P>
<P><B>注意:</B>这要求1.avi和2.avi使用同样的编解码器分辨率流速率等等并且至少1.avi不是损坏的。你可能需要先修复你的
AVI输入文件按照<A HREF="#fixing">上面</A>所说的方法。</P>
<H2><A NAME="libavcodec">7.6 用libavcodec编解码器族编码</A></H2>
<P><A HREF="codecs.html#libavcodec">libavcodec</A>提供简单编码许多有趣的视频和音频格式(目前其音频编码器还不支持)的方法。
你能编码下列的编码格式:</P>
@ -122,7 +145,7 @@ MEncoder
-lavcopts vcodec=mjpeg -oac copy</CODE></P>
<H2><A NAME="image_files">7.6 用输入的多幅图象文件(JPEGPNG或TGA)进行编码</A></H2>
<H2><A NAME="image_files">7.7 用输入的多幅图象文件(JPEGPNG或TGA)进行编码</A></H2>
<P>MEncoder具有从一个或多个JPEGPNG或TGA文件创建电影的能力。通过简单的framecopy它能创建MJPEG(Motion JPEG)
MPNG(Motion PNG )或MTGA(Motion TGA)文件。</P>
@ -144,27 +167,24 @@ MPNG(Motion PNG )
output.avi</CODE></P></P>
<P><I>用当前目录中的一些JPEG文件创建DivX4文件</I><BR>
&nbsp;&nbsp;<CODE>mencoder frame001.jpg,frame002.jpg -mf on:w=800:h=600:fps=25 -ovc divx4 -o
output.avi</CODE></P>
&nbsp;&nbsp;<CODE>mencoder -mf on:w=800:h=600:fps=25 -ovc divx4 -o output.avi \*.jpg</CODE></P>
<P><I>用当前目录中的所有JPEG文件创建Motion JPEG(MJPEG)文件:</I><BR>
&nbsp;&nbsp;<CODE>mencoder \*.jpg -mf on:w=800:h=600:fps=25 -ovc copy
-o output.avi</CODE></P>
&nbsp;&nbsp;<CODE>mencoder -mf on:w=800:h=600:fps=25 -ovc copy -o output.avi \*.jpg</CODE></P>
<P><I>用当前目录中的所有PNG文件创建一个非压缩的文件</I><BR>
&nbsp;&nbsp;<CODE>mencoder \*.png -mf on:w=800:h=600:fps=25:type=png -ovc raw -o
output.avi</CODE></P>
&nbsp;&nbsp;<CODE>mencoder -mf on:w=800:h=600:fps=25:type=png -ovc rawrgb -o output.avi \*.png</CODE></P>
<P><B>注意:</B>宽度必须是4的整数倍这是RAW RGB AVI格式的一个限制。</P>
<P><I>用当前目录中的所有PNG文件创建Motion PNG(MPNG)文件:</I><BR>
&nbsp;&nbsp;<CODE>mencoder \*.png -mf on:w=800:h=600:fps=25:type=png -ovc copy
-o output.avi</CODE></P>
&nbsp;&nbsp;<CODE>mencoder -mf on:w=800:h=600:fps=25:type=png -ovc copy -o output.avi \*.png</CODE></P>
<P><I>用当前目录中的所有TGA文件创建Motion TGA(MTGA)文件:</I><BR>
&nbsp;&nbsp;<CODE>mencoder \*.tga -mf on:w=800:h=600:fps=25:type=tga -ovc copy
-o output.avi</CODE></P>
&nbsp;&nbsp;<CODE>mencoder -mf on:w=800:h=600:fps=25:type=tga -ovc copy -o output.avi \*.tga</CODE></P>
<H2><A NAME="vobsub">7.7 将DVD字幕提取为Vobsub文件</A></H4>
<H2><A NAME="vobsub">7.8 将DVD字幕提取为Vobsub文件</A></H4>
<P>MEncoder有把DVD字幕提取到Vobsub格式的文件的能力。包括以<CODE>.idx</CODE><CODE>.sub</CODE>结尾的一对
文件而且通常打包在一个单一的<CODE>.rar</CODE>文档中。MPlayer能使用<CODE>-vobsub</CODE><CODE>-vobsubid</CODE>
@ -195,7 +215,7 @@ MPNG(Motion PNG )
&nbsp;&nbsp;<CODE>mencoder movie.mpg -ifo movie.ifo -vobsubout subtitles
-vobsuboutindex 0 -vobsuboutid fr -sid 1</CODE></P>
<H2><A NAME="aspect">7.8 保持屏幕高宽比</A></H2>
<H2><A NAME="aspect">7.9 保持屏幕高宽比</A></H2>
<P>DVD和SVCD(也就是MPEG1/2)文件通常包含屏幕高宽比的值,它描述播放器如何正确缩放视频流,保证人不会长鸡蛋脑袋
(ex.: 480x480 + 4:3 = 640x480)。但当编码成AVI(DivX)文件时你必须清醒的认识到AVI的文件头中没有储存这个数据。重新缩放电影

View File

@ -166,6 +166,23 @@ CBR
<P>PVA规格的描述可以在下面地址下载<A
HREF="http://www.technotrend.de/download/av_format_v1.pdf">http://www.technotrend.de/download/av_format_v1.pdf</A></P>
<H4><A NAME="gif">2.1.1.15 GIF files</A></H4>
<P><B>GIF</B>格式是网页图象的普遍格式有两种版本的GIF规格GIF87a和GIF89a。主要的区别在于GIF89a允许动画。MPlayer通过
使用libungif库或者另一个libgif-compatible的库支持这两种规格。非动画的GIF显示为单帧的视频。(使
<CODE>-loop</CODE><CODE>-fixed-vo</CODE>选项来显示更长的时间。)</P>
<P>MPlayer目前不支持在GIF文件中搜索。GIF文件并不一定有一个固定的帧大小或者帧速率。而且每一帧都有独立的大小并且
应该被放在一个固定的地方并且有固定的尺寸。帧速率是通过使用每一帧前面的一个控制块以百分之一秒为单位控制这一帧显示
的时间长短来实现的。</P>
<P>标准的GIF文件包含24-bit的RGB帧和最多8-bit的索引调色板。这些帧大多以LZW格式压缩但有些GIF编码器生成未压缩的
帧以避免LZW压缩的专利问题。</P>
<P>如果你的发行版没有包含libungif可以从<A HREF="http://prtr-13.ucsc.edu/~badger/software/libungif/index.shtml">libungif主页</A>
下载。技术细节你可以参考<A HREF="http://www.w3.org/Graphics/GIF/spec-gif89a.txt">GIF89a规格</A>.</P>
<H3><A NAME="audio_formats">2.1.2 音频格式</A></H3>

File diff suppressed because it is too large Load Diff

View File

@ -21,7 +21,7 @@
<DD>OSS(ioctl)驱动(支持硬件AC3输出)</DD>
<DT>sdl</DT>
<DD>SDL驱动(支持<B>ESD</B><B>ARTS</B>等等)</DD>
<DD>SDL驱动(支持<B>ESD</B><B>ARTS</B>之类的音频守护进程)</DD>
<DT>nas</DT>
<DD>NAS(Network Audio System)驱动</DD>
@ -42,14 +42,14 @@
<DD>本地的ESD驱动(主要针对GNOME用户)</DD>
</DL>
<P>事实上,Linux声卡驱动有兼容问题。这是因为MPlayer使用一个正常编码的声卡驱动实现的特性来实现音频/视频同步。遗憾的是有些驱动的作者
<P>Linux下的声卡驱动有兼容问题。这是因为MPlayer使用一个<EM>正确</EM>编码的声卡驱动内建的特性来实现音频/视频同步。遗憾的是有些驱动的作者
不在乎这个功能它在播放MP3和实现声音效果时并不需要。</P>
<P>别的媒体播放器比如aviplay或者xine可能在这些驱动上工作没有问题因为他们使用内部计时器的“简单”方法。注意时间表明他们的方法没有
MPlayer的方法有效率。</P>
<P>别的媒体播放器比如<A HREF="http://avifile.sourceforge.net">aviplay</A>或者<A
HREF="http://xine.sourceforge.net">xine</A>可能在这些驱动上工作没有问题因为他们使用内部计时器的“简单”方法。
测试表明他们的方法没有MPlayer的方法有效率。</P>
<P>使用一个正确编制的音频驱动的时候MPlayer将永远不会产生音频相关的A/V不同步除非你的文件完全损坏。有些用来绕过这些问题的选项
在man page里面有描述)。</P>
<P>使用一个正确编制的音频驱动的时候MPlayer将永远不会产生音频相关的A/V不同步除非你的文件制作的相当糟糕。(man page里面有解决的办法)。</P>
<P>如果你碰巧遇到一个不好的音频驱动,尝试使用<CODE>-autosync</CODE>选项它应该可以解决你的问题。详细的信息参见man page。</P>
@ -57,90 +57,187 @@ MPlayer
<UL>
<LI>如果你有OSS驱动先尝试<CODE>-ao oss</CODE>(这是默认的)。如果你遇到毛刺,停止或者任何不正常的事情,
尝试<CODE>-ao sdl</CODE>(注意你需要安装SDL库和头文件)。许多情况下SDL的音频驱动都会有帮助也支持ESD
ARTS和升/降采样率。(ESD是GNOME的音频守护进程ARTS是KDE的)。</LI>
尝试<CODE>-ao sdl</CODE>(注意你需要安装SDL库和头文件)。许多情况下SDL的音频驱动都会有帮助也支持ESD(GNOME)ARTS(KDE)。</LI>
<LI>如果你使用ALSA 0.5的版本,那么你几乎总是不得不使用<CODE>-ao alsa5</CODE>因为ALSA 0.5的OSS仿真很buggy
会导致<B>MPlayer崩溃</B>并出现这样的信息:<BR>
<CODE>DEMUXER: Too many (945 in 8390980 bytes) video packets in the buffer!</CODE></LI>
<LI>在Solaris上<CODE>-ao sun</CODE>选项选择使用SUN的音频驱动否则视频音频都无法工作。</LI>
<LI>如果从CD-ROM上播放时声音跳跃打开IRQ unmasking也就是使用命令<CODE>hdparm -u1 /dev/cdrom</CODE>(<CODE>man hdparm</CODE>)。这
一般来说时有益的,进一步的描述在<A HREF="cd-dvd.html#drives">CD-ROM部分</A></LI>
</UL>
<P><B>Solaris</B>上,必须用<CODE>-ao sun</CODE>选项,否则视频音频都无法工作。</P>
<H4><A NAME="experiences">2.3.2.2 声卡体验,推荐</A></H4>
<TABLE BORDER=0 WIDTH="100%">
<TR><TD COLSPAN=3><B>VIA板载芯片(via82cxxx)只能48kHz</B></TD></TR>
<TR><TD></TD><TD>驱动:</TD><TD><A HREF="http://sourceforge.net/project/showfiles.php?group_id=3242&amp;release_id=59602">sourceforge.net</A></TD></TR>
<P>Linux下的声卡驱动主要是自由版本的OSS。这些驱动在2.5的开发树中已经被<A HREF="http://www.alsa-project.org">ALSA</A>(Advanced
Linux Sound Architecture)取代如果你的发行版中还没有使用ALSA而你的声卡又有问题你可能应该试试。ALSA的驱动一般来说
兼容性表现和特性方面都比OSS要好但也有些声卡只有<A HREF="http://www.opensound.com/">4Front Technologies</A>的商业版本的
OSS驱动才支持他们也支持一些非Linux系统。</P>
<TABLE BORDER="1" WIDTH="100%">
<TR><TD COLSPAN=3><B>Aureal Vortex 2 </B></TD></TR>
<TR><TD>&nbsp;&nbsp;&nbsp;&nbsp;</TD><TD>OSS</TD><TD>没有驱动</TD></TR>
<TR><TD></TD><TD>OSS/Pro</TD><TD>OK</TD></TR>
<TR><TD></TD><TD>ALSA</TD><TD>没有驱动</TD></TR>
<TR><TD></TD><TD>Max kHz</TD><TD>48</TD></TR>
<TR><TD></TD><TD>驱动:</TD><TD><A HREF="http://aureal.sourceforge.net">aureal.sourceforge.net </A></TD></TR>
<TR><TD></TD><TD>驱动2</TD><TD><A HREF="http://makacs.poliod.hu/~pontscho/aureal/au88xx-1.1.3.tar.bz2">Pontscho的主页</A><BR>
(<I>缓冲大小增加到32k</I>)</TD></TR>
<TR>
<TH ROWSPAN="2"><B>声卡</B></TH>
<TH COLSPAN="4"><B>驱动</B></TH>
<TH ROWSPAN="2"><B>最大kHz</B></TH>
<TH ROWSPAN="2"><B>最大声道数</B></TH>
<TH ROWSPAN="2"><B>最大打开数</B></TH>
</TR>
<TR><TD COLSPAN=3><B>GUS PnP</B></TD></TR>
<TR><TD></TD><TD>OSS</TD><TD>没有驱动</TD></TR>
<TR><TD></TD><TD>OSS/Pro</TD><TD>OK</TD></TR>
<TR><TD></TD><TD>ALSA</TD><TD>OK</TD></TR>
<TR><TD></TD><TD>Max kHz</TD><TD>48</TD></TR>
<TR>
<TH><B>OSS/Free</B></TH>
<TH><B>ALSA</B></TH>
<TH><B>OSS/Pro</B></TH>
<TH><B>其他</B></TH>
</TR>
<TR><TD COLSPAN=3><B>SB Live!</B></TD></TR>
<TR><TD></TD><TD>OSS</TD><TD>模拟方式很好SP与DIF不能工作</TD></TR>
<TR><TD></TD><TD>ALSA</TD><TD>两个都很好</TD></TR>
<TR><TD></TD><TD>Max kHz</TD><TD>192</TD></TR>
<TR>
<TD><B>VIA板载芯片(via82cxxx)只能48kHz</B></TD>
<TD><A HREF="http://sourceforge.net/project/showfiles.php?group_id=3242&amp;release_id=59602">via82cxxx_audio</A></TD>
<TD>snd-via82xx</TD>
<TD>&nbsp;</TD>
<TD>&nbsp;</TD>
<TD>4-48 kHz或者只能使用48 kHz取决于芯片</TD>
<TD>&nbsp;</TD>
<TD>&nbsp;</TD>
</TR>
<TR><TD COLSPAN=3><B>SB AWE 64</B></TD></TR>
<TR><TD></TD><TD>OSS</TD><TD>max 44kHz</TD></TR>
<TR><TD></TD><TD>ALSA</TD><TD>48kHz听起来很糟</TD></TR>
<TR><TD></TD><TD>Max kHz</TD><TD>48</TD></TR>
<TR>
<TD><B>Aureal Vortex 2</B></TD>
<TD>没有</TD>
<TD>没有</TD>
<TD>OK</TD>
<TD><A HREF="http://aureal.sourceforge.net">Linux Aureal Drivers</A><BR>
<A HREF="http://makacs.poliod.hu/~pontscho/aureal/au88xx-1.1.3.tar.bz2">缓冲大小增加到32k</A></TD>
<TD>48</TD>
<TD>4.1</TD>
<TD>5+</TD>
</TR>
<TR><TD COLSPAN=3><B>Gravis UltraSound ACE</B></TD></TR>
<TR><TD></TD><TD>OSS</TD><TD>不是很好</TD></TR>
<TR><TD></TD><TD>ALSA</TD><TD>OK</TD></TR>
<TR><TD></TD><TD>Max kHz</TD><TD>44</TD></TR>
<TR>
<TD><B>SB Live!</B></TD>
<TD>模拟方式OKSP与DIF不能工作</TD>
<TD>都OK</TD>
<TD>都OK</TD>
<TD><A HREF="http://opensource.creative.com">Creative的OSS驱动(支持SP/DIF)</A></TD>
<TD>192</TD>
<TD>4.0/5.1</TD>
<TD>32</TD>
</TR>
<TR><TD COLSPAN=3><B>Gravis UltraSound MAX</B></TD></TR>
<TR><TD></TD><TD>OSS</TD><TD>OK</TD></TR>
<TR><TD></TD><TD>ALSA</TD><TD>OK()</TD></TR>
<TR><TD></TD><TD>Max kHz</TD><TD>48</TD></TR>
<TR>
<TD><B>SB 128 PCI(es1371)</B></TD>
<TD>OK</TD>
<TD>?</TD>
<TD>&nbsp;</TD>
<TD>&nbsp;</TD>
<TD>48</TD>
<TD>立体声</TD>
<TD>2</TD>
</TR>
<TR><TD COLSPAN=3><B>ESS 688</B></TD></TR>
<TR><TD></TD><TD>OSS</TD><TD>OK</TD></TR>
<TR><TD></TD><TD>ALSA</TD><TD>OK()</TD></TR>
<TR><TD></TD><TD>Max kHz</TD><TD>48</TD></TR>
<TR>
<TD><B>SB AWE 64</B></TD>
<TD>最大44kHz</TD>
<TD>48kHz听起来很糟</TD>
<TD>&nbsp;</TD>
<TD>&nbsp;</TD>
<TD>48</TD>
<TD>&nbsp;</TD>
<TD>&nbsp;</TD>
</TR>
<TR><TD COLSPAN=3><B>C-Media声卡(那种?)</B></TD></TR>
<TR><TD></TD><TD>OSS</TD><TD>不是很好(有嘶嘶声) ()</TD></TR>
<TR><TD></TD><TD>ALSA</TD><TD>OK()</TD></TR>
<TR><TD></TD><TD>Max kHz</TD><TD></TD></TR>
<TR>
<TD><B>GUS PnP</B></TD>
<TD>没有</TD>
<TD>OK</TD>
<TD>OK</TD>
<TD>&nbsp;</TD>
<TD>48</TD>
<TD>&nbsp;</TD>
<TD>&nbsp;</TD>
</TR>
<TR>
<TD><B>Gravis UltraSound ACE</B></TD>
<TD>不OK</TD>
<TD>OK</TD>
<TD>&nbsp;</TD>
<TD>&nbsp;</TD>
<TD>44</TD>
<TD>&nbsp;</TD>
<TD>&nbsp;</TD>
</TR>
<TR>
<TD><B>Gravis UltraSound MAX</B></TD>
<TD>OK</TD>
<TD>OK (?)</TD>
<TD>&nbsp;</TD>
<TD>&nbsp;</TD>
<TD>48</TD>
<TD>&nbsp;</TD>
<TD>&nbsp;</TD>
</TR>
<TR>
<TD><B>ESS 688</B></TD>
<TD>OK</TD>
<TD>OK(?)</TD>
<TD>&nbsp;</TD>
<TD>&nbsp;</TD>
<TD>48</TD>
<TD>&nbsp;</TD>
<TD>&nbsp;</TD>
</TR>
<TR><TD COLSPAN=3><B>Yamaha声卡(*ymf*) </B></TD></TR>
<TR><TD></TD><TD>OSS</TD><TD>不是很好()(<CODE>-ao sdl</CODE>)</TD></TR>
<TR><TD></TD><TD>ALSA</TD><TD>仅在使用ALSA 0.5的OSS仿真<B></B><CODE>-ao sdl</CODE>()()时很好</TD></TR>
<TR><TD></TD><TD>Max kHz</TD><TD></TD></TR>
<TR>
<TD><B>C-Media声卡(哪一种?)</B></TD>
<TD>不OK(有咝咝声)(?)</TD>
<TD>OK(?)</TD>
<TD>&nbsp;</TD>
<TD>&nbsp;</TD>
<TD>?</TD>
<TD>&nbsp;</TD>
<TD>&nbsp;</TD>
</TR>
<TR>
<TD><B>Yamaha声卡(*ymf*)</B></TD>
<TD>不OK(?)(可能应该用<CODE>-ao sdl</CODE>)</TD>
<TD>只有使用ALSA 0.5的OSS模拟<B>并使用</B><CODE>-ao sdl</CODE>(!)(?)时OK</TD>
<TD>&nbsp;</TD>
<TD>&nbsp;</TD>
<TD>?</TD>
<TD>&nbsp;</TD>
<TD>&nbsp;</TD>
</TR>
<TR>
<TD><B>使用envy24芯片的声卡(比如Terratec EWS88MT)</B></TD>
<TD>?</TD>
<TD>?</TD>
<TD>OK</TD>
<TD>&nbsp;</TD>
<TD>?</TD>
<TD>&nbsp;</TD>
<TD>&nbsp;</TD>
</TR>
<TR><TD COLSPAN=3><B>使用envy24芯片(Terratec EWS88MT之类)的声卡</B></TD></TR>
<TR><TD></TD><TD>OSS</TD><TD></TD></TR>
<TR><TD></TD><TD>OSS/Pro</TD><TD>OK</TD></TR>
<TR><TD></TD><TD>ALSA</TD><TD></TD></TR>
<TR><TD></TD><TD>Max kHz</TD><TD></TD></TR>
<TR>
<TD><B>PC扬声器或者DAC</B></TD>
<TD>OK (使用SDL驱动<CODE>-ao sdl</CODE>)</TD>
<TD>none</TD>
<TD>&nbsp;</TD>
<TD><A HREF="http://www.geocities.com/stssppnn/pcsp.html">Linux PC扬声器的OSS驱动</a></TD>
<TD>驱动可以模拟到44.1,可能更高。</TD>
<TD>单声道</TD>
<TD>1</TD>
</TR>
<TR><TD COLSPAN=3><B>PC Speaker或者DAC</B></TD></TR>
<TR><TD></TD><TD>OSS</TD><TD>OK(使用SDL驱动<CODE>-ao sdl</CODE>)</TD></TR>
<TR><TD></TD><TD>ALSA</TD><TD>没有驱动</TD></TR>
<TR><TD></TD><TD>Max kHz</TD><TD>驱动模拟44.1,也许更高。</TD></TR>
<TR><TD></TD><TD>驱动:</TD><TD><A HREF="ftp://ftp.infradead.org/pub/pcsp">ftp://ftp.infradead.org/pub/pcsp</A></TD></TR>
</TABLE>
<P>在Linux上高度推荐2.4.x的内核。2.2的内核没有经过测试。</P>
<P>如果从CD-ROM播放时声音跳跃开启IRQ unmasking例如。<CODE>hdparm -u1 /dev/cdrom</CODE>(<CODE>man hdparm</CODE>)。
这在大多数情况下有好处,更详细的描述在<A HREF="cd-dvd.html#drives">CD-ROM部分</A></P>
<P>对这个文件的反馈是受欢迎的。请告诉我们你的声卡是如何与MPlayer共同工作的。</P>
<H4><A NAME="af">2.3.2.3 Audio filters</A></H4>
@ -154,15 +251,15 @@ ARTS
<P>声音将先通过resample滤镜然后通过pan滤镜。注意列表中不能包含任何空格否则它将会失败。</P>
<P>滤镜通常有开关用来改变他们的行为。这些开关在下面的章节会详细的解释。当开关被省略是滤镜将执行默认的设置。这里是一个
使用带相应开关的滤镜的例子:</P>
<P>滤镜通常有选项用来改变他们的行为。这些选项在下面的章节会详细的解释。当选项被省略是滤镜将执行默认的设置。这里是一个
使用带相应选项的滤镜的例子:</P>
<P>&nbsp;&nbsp;<CODE>mplayer -af resample=11025,pan=1:0.5:0.5 -channels 1
-srate 11025 media.avi</CODE></P>
<P>将resample滤镜的输出频率设置为11025Hz并使用pan滤镜把音频混合到一个声道。</P>
<P>这个滤镜层的运行由<CODE>-af-adv</CODE>开关控制。这个开关有两个子选项:</P>
<P>这个滤镜层的运行由<CODE>-af-adv</CODE>选项控制。这个选项有两个子选项:</P>
<DL>
<DT><CODE>force</CODE><DT>
@ -190,22 +287,22 @@ ARTS
</DD>
<DT><CODE>list</CODE></DT>
<DD>是-af开关的别名。</DD>
<DD>是-af选项的别名。</DD>
</DL>
<P>滤镜层同样会影响下面的一般开关
<P>滤镜层同样会影响下面的一般选项
<DL>
<DT><CODE>-v</CODE></DT>
<DD>增加冗余级别使大部分滤镜显示处附加的状态信息。</DD>
<DT><CODE>-channels</CODE></DT>
<DD>这个选项设置你的声卡使用的输出声道数。它同样会影响从媒体解码处的声道数。如果媒体包含的声道数少于要求的声道数
<DD>这个选项设置你想让你的声卡使用的输出声道数。它同样会影响从媒体解码处的声道数。如果媒体包含的声道数少于要求的声道数
channels插件(见下面)将自动插入。定向将使用channels滤镜的默认定向。</DD>
<DT><CODE>-srate</CODE></DT>
<DD>这个选项选择你的声卡的采样率如果你的声卡的采样率与当前媒体不同resample插件(见下面)将插入到音频滤镜层中
<DD>这个选项选择你想让你的声卡使用的采样率如果你的声卡的采样率与当前媒体不同resample插件(见下面)将插入到音频滤镜层中
来补偿这个差别。</DD>
<DT><CODE>-format</CODE><DT>
<DD>这个选项设置声卡和音频滤镜层的采样格式如果你的声卡要求的采样格式域当前媒体不同一个format插件(见下面)将自动插入
<DD>这个选项设置声卡和音频滤镜层之间使用的采样格式如果你的声卡要求的采样格式域当前媒体不同一个format滤镜(见下面)将自动插入
来进行调整。</DD>
</DL>
@ -213,15 +310,15 @@ channels
<H5><A NAME="af_resample">2.3.2.3.1 升/降采样率</A></H5>
<P>MPlayer完全支持使用<CODE>resample</CODE>插件进行声音的升/降采样率。当你使用固定采样率的声卡或者被只兼容
最大44.1kHz的老声卡郁闷时可以使用它。这个滤镜会在需要时自动开启,但它也可以用命令行显式的开启。他有三个开关</P>
最大44.1kHz的老声卡郁闷时可以使用它。这个滤镜会在需要时自动开启,但它也可以用命令行显式的开启。他有三个选项</P>
<DL>
<DT><CODE>srate &lt;8000-192000&gt;</CODE></DT>
<DD>是一个整数用来设置输出的采样频率以Hz为单位。有效范围从8kHz到192kHz。如果输入输出的采样频率相同或者这个参数
<DD>是一个整数用来设置输出的采样频率以Hz为单位。有效范围从8kHz到192kHz。如果输入输出的采样频率相同或者这个选项
被省略滤镜降自动卸载。高的采样频率通常会提高声音的质量,特别是跟别的滤镜一起使用的时候。</DD>
<DT><CODE>sloppy</CODE></DT>
<DD>是一个可选的二进制参数使输出频率可以与<CODE>srate</CODE>给定的频率稍有不同。这个开关用于开始播放的过程非常慢的情况。
<DD>是一个可选的二进制选项使输出频率可以与<CODE>srate</CODE>给定的频率稍有不同。这个选项用于开始播放的过程非常慢的情况。
它是默认打开的。</DD>
<DT><CODE>type &lt;0-2&gt;</CODE><DT>
@ -240,14 +337,14 @@ channels
<H5><A NAME="af_channels">2.3.2.3.2 改变声道数</A></H5>
<P><CODE>channels</CODE>滤镜用来添加和去除声道,它也可以用来实现声道的定向与复制。当音频滤镜层的输出与输入层不同
或者当别的滤镜需要它是它将自动开启。当不需要是这个滤镜会自行卸载。开关的数目是可变的:</P>
或者当别的滤镜需要它是它将自动开启。当不需要是这个滤镜会自行卸载。选项的数目是可变的:</P>
<DL>
<DT><CODE>nch &lt;1-6&gt;</CODE></DT>
<DD><CODE>1</CODE><CODE>6</CODE>间的整数用来设定输出的声道数。这个开关的必须的,不设置会导致运行时错误。</DD>
<DD><CODE>1</CODE><CODE>6</CODE>间的整数用来设定输出的声道数。这个选项的必须的,不设置会导致运行时错误。</DD>
<DT><CODE>nr &lt;1-6&gt;</CODE></DT>
<DD><CODE>1</CODE><CODE>6</CODE>之间的整数用来指定定向的数量,这个参数是可选的,如果省略将使用默认的定向。</DD>
<DD><CODE>1</CODE><CODE>6</CODE>之间的整数用来指定定向的数量,这个选项是可选的,如果省略将使用默认的定向。</DD>
<DT><CODE>from1:to1:from2:to2:from3:to3...</CODE></DT>
<DD><CODE>0</CODE><CODE>5</CODE>之间的一对数定义每个声道被定向到哪里。</DD>
@ -275,13 +372,13 @@ channels
<DL>
<DT><CODE>bps &lt;number&gt;</CODE></DT>
<DD>可以是<CODE>1</CODE>, <CODE>2</CODE>或者<CODE>4</CODE>代表样本的字节数。这个开关是必须的,不设置会
<DD>可以是<CODE>1</CODE>, <CODE>2</CODE>或者<CODE>4</CODE>代表样本的字节数。这个选项是必须的,不设置会
导致运行时错误。</DD>
<DT><CODE>f &lt;format&gt;</CODE></DT>
<DD>是描述样本格式的字符串。字符串应该是下面这些东西的组合:<CODE>alaw</CODE>, <CODE>mulaw</CODE>或者<CODE>imaadpcm</CODE>,
<CODE>float</CODE>或者<CODE>int</CODE>, <CODE>unsigned</CODE>或者<CODE>signed</CODE>, <CODE>le</CODE>或者<CODE>be</CODE>
(低位优先或高位优先)。这个开关是必须的,不设置会导致运行时错误。</DD>
(低位优先或高位优先)。这个选项是必须的,不设置会导致运行时错误。</DD>
</DL>
<P>示例:<BR>
@ -293,7 +390,7 @@ channels
<H5><A NAME="af_delay">2.3.2.3.4 延迟</A></H5>
<P><CODE>delay</CODE>滤镜延迟声音到达扬声器的时间使得不同的声道能同时到达听众的位置。这个功能只当你有两个以上的扬声器
才有用,这个滤镜的参数的数目是可变的:</P>
才有用,这个滤镜的选项的数目是可变的:</P>
<DL>
<DT><CODE>d1:d2:d3...</CODE></DT>
@ -320,9 +417,9 @@ channels
<H5><A NAME="af_volume">2.3.2.3.5 软件音量控制</A></H5>
<P>软件音量控制通过<CODE>volume</CODE>音频滤镜实现,小心使用这个滤镜因为他会降低声音的信噪比。在大多数情况下最好是
把PCM音量开到最大不使用这个滤镜而是通过混音器的主音量控制来控制你的扬声器的输出级别。如果你的电脑连有外部放大器。
(这几乎是普遍现象),可以通过调节主音量和放大器上的音量旋钮直到背景的咝咝声消失来使噪音级别达到最小。
这个滤镜有两个开关</P>
把PCM音量开到最大不使用这个滤镜而是通过混音器的主音量控制来控制你的扬声器的输出级别。如果你的声卡使用数字PCM混音器而不是
模拟的,而你又听到有扭曲现象,就改用主混音器。如果你的电脑连有外部放大器。(这几乎是普遍现象),可以通过调节主音量和放大器
上的音量旋钮直到背景的咝咝声消失来使噪音级别达到最小。这个滤镜有两个选项</P>
<DL>
<DT><CODE>v &lt;-200 - +60&gt;</CODE></DT>
@ -330,7 +427,7 @@ channels
<DT><CODE>c</CODE></DT>
<DD>二进制控制项用来打开和关闭软修饰。软修饰可以在使用很高音量的时候使声音变得更加平滑。如果扬声器的动态区域很低
可以打开这个开关。但你必须明白这个特性会造成扭曲而且应该使作为最终手段。</DD>
可以打开这个选项。但你必须明白这个特性会造成扭曲而且应该使作为最终手段。</DD>
</DL>
<P>示例:<BR>
@ -365,7 +462,7 @@ channels
最高频带的中心频率的时候最高频带的特性不是对称的。这个问题可以通过使用resample滤镜在声音到达本滤镜之前
升高样本频率来解决。</P>
<P>这个滤镜有10个参数</P>
<P>这个滤镜有10个选项</P>
<DL>
<DT><CODE>g1:g2:g3...g10</CODE></DT>
@ -388,11 +485,11 @@ channels
<LI>在一个环绕音效系统中改变中央扬声器的“宽度”。</LI>
</OL>
<P>这个滤镜很难使用,而且在获得想要的效果之前需要动些脑筋。这个滤镜的开关数取决于输出的声道数:</P>
<P>这个滤镜很难使用,而且在获得想要的效果之前需要动些脑筋。这个滤镜的选项数取决于输出的声道数:</P>
<DL>
<DT><CODE>nch &lt;1-6&gt;</CODE></DT>
<DD><CODE>1</CODE><CODE>6</CODE>之间的整数,用来设置输出的声道数。这个开关是必须的,如果省略将导致
<DD><CODE>1</CODE><CODE>6</CODE>之间的整数,用来设置输出的声道数。这个选项是必须的,如果省略将导致
运行时错误。</DD>
<DT><CODE>l00:l01:l02:..l10:l11:l12:...ln0:ln1:ln2:...</CODE></DT>
@ -414,7 +511,7 @@ channels
<P><CODE>sub</CODE>插件给音频增加一个副低音声道。用来产生副低音声道的数据是0声道和1声道音频数据的平均混合。
混合后的声音进过4阶Butterworth滤波器低通过滤默认去掉60Hz以上的声音然后添加到音频流的一个单独声道中。
警告当你播放5.1杜比数字音效的DVD时禁用这个滤镜否则它使副低音的声音发生混乱。这个滤镜有两个参数</P>
警告当你播放5.1杜比数字音效的DVD时禁用这个滤镜否则它使副低音的声音发生混乱。这个滤镜有两个选项</P>
<DL>
<DT><CODE>fc &lt;20-300&gt;</CODE></DT>
@ -434,7 +531,7 @@ channels
<H5><A NAME="af_surround">2.3.2.3.9 环绕音效解码</A></H5>
<P>矩阵编码的环绕音效可以通过<CODE>surround</CODE>滤镜解码。杜比环绕就是矩阵编码格式的一个例子。很多两声道的音频
实际上包含了矩阵编码。为了使用这个特性你需要一个至少支持4声道的声卡。这个滤镜有1个参数</P>
实际上包含了矩阵编码。为了使用这个特性你需要一个至少支持4声道的声卡。这个滤镜有1个选项</P>
<DL>
<DT><CODE>d &lt;0-1000&gt;</CODE></DT>
@ -454,15 +551,15 @@ channels
<H2><STRONG>注意:音频插件已经被音频滤镜取代,很快会被删去。</STRONG></H2>
<H4><A NAME="插件s">2.3.2.4 音频滤镜(已过时)</A></H4>
<P>MPlayer支持音频插件。音频插件s用于在声音到达声卡之前改变音频数据的属性。他们用<CODE>-aop</CODE>开关加上
<CODE>list=插件1,插件2,...</CODE>参数打开。必须有<CODE>list</CODE>参数用来确定应该使用哪些插件,以及他们执行的顺序。例如:</P>
<P>MPlayer支持音频插件。音频插件s用于在声音到达声卡之前改变音频数据的属性。他们用<CODE>-aop</CODE>选项加上
<CODE>list=插件1,插件2,...</CODE>选项打开。必须有<CODE>list</CODE>选项用来确定应该使用哪些插件,以及他们执行的顺序。例如:</P>
<P>&nbsp;&nbsp;<CODE>mplayer media.avi -aop list=resample,format</CODE></P>
<P>将让声音先通过resample插件然后再经过format插件。</P>
<P>插件也有改变他们行为的开关。这些开关在下面将详细地解释。如果开关被省略,插件将按照默认设置运行。
这是一个关于如何组合使用指定参数的插件的例子:</P>
<P>插件也有改变他们行为的选项。这些选项在下面将详细地解释。如果选项被省略,插件将按照默认设置运行。
这是一个关于如何组合使用指定选项的插件的例子:</P>
<P>&nbsp;&nbsp;<CODE>mplayer media.avi -aop
list=resample,format:fout=44100:format=0x8</CODE></P>
@ -475,8 +572,8 @@ channels
<H5><A NAME="resample">2.3.2.4.1 升/降采样率</A></H5>
<P>MPlayer完全支持对声音升/降采样率。如果你使用固定采样率的声卡或者如果你被只兼容
最大44.1kHz的老声卡郁闷时可以使用这个插件。是否使用这个插件是<B>自动检测的</B>
这个插件有一个参数<CODE>fout</CODE>用于设置期望的输出的采样率。默认是48kHz单位是&lt;Hz&gt;</P>
最大44.1kHz的老声卡郁闷时可以使用这个插件。是否使用这个插件是<EM>自动检测的</EM>
这个插件有一个选项<CODE>fout</CODE>用于设置期望的输出的采样率。单位是&lt;Hz&gt;默认是48kHz</P>
<P>用法:<BR>
&nbsp;&nbsp;<CODE>mplayer media.avi -aop list=resample:fout=&lt;required
@ -497,7 +594,7 @@ channels
<H5><A NAME="format">2.3.2.4.3 采样格式转换</A></H5>
<P>如果你的声卡驱动不支持带符号的16位<CODE>int</CODE>数据类型,这个插件能被用来把它转换为一个你的
声卡能理解的格式。它有一个参数<CODE>format</CODE>,可以设置为你在<CODE>libao2/afmt.h</CODE>中找到的数字。
声卡能理解的格式。它有一个选项<CODE>format</CODE>,可以设置为你在<CODE>libao2/afmt.h</CODE>中找到的数字。
这个插件几乎很少会用到而且是面向高级用户的。记住这个插件仅仅改变采样格式而不改变采样频率或者声道数。</P>
<P>用法:<BR>
@ -510,15 +607,16 @@ channels
<P>这个插件将声音延迟,被计划当做如何开发新的插件的例子。它不能用于任何以用户观点来说有用的东西,
在这里被提到只是为了完整的缘故。不要使用这个插件除非你是开发者。</P>
<P>如果你有一个文件总是A/V同步失败使用<CODE>+/-</CODE>实时调整就可以建议使用OSD调节更加方便。</P>
<H5><A NAME="volume">2.3.2.4.5 软件音量控制</A></H5>
<P>这个插件是音量控制功能的软件替代用于哪些使用蹩脚的混音设备的机器。如果你想要改变MPlayer
的输出音量而不改变混音器中PCM音量的设置也可以使用这个插件。它有一个<CODE>volume</CODE>参数初始的音量水平。
<P>这个插件是音量控制功能的软件替代用于哪些使用蹩脚的混音设备的机器。如果你想要改变MPlayer的输
出音量而不改变混音器中PCM音量的设置也可以使用这个插件。它有一个<CODE>volume</CODE>选项设置初始的音量水平。
初始音量水平能取0到255之间的值默认值是101相当于放大0分贝。谨慎使用这个插件因为它会降低声音的信噪比。
在大多数情况下最好是把PCM音量设为最大,放弃这个插件并且通过混音器的主音量控制来控制你的扬声器输出水平。
如果有连接到计算机的外部功放(这几乎是普遍情况),噪音水平能通过调整在主音量级别和功放上的旋钮而最大限度的减少,
直到去除嘶嘶的背景噪音。</P>
在大多数情况下最好是把PCM音量设为最大,放弃这个插件并且通过混音器的主音量控制来控制你的扬声器输出水平。如果你的声卡使用
数字PCM混音器而不是模拟的而你又听到有扭曲现象就改用主混音器。如果有连接到计算机的外部功放(这几乎是普遍情况),噪音水平
能通过调整在主音量级别和功放上的旋钮而最大限度的减少,直到去除嘶嘶的背景噪音。</P>
<P>用法:<BR>
&nbsp;&nbsp;<CODE>mplayer media.avi -aop
@ -541,7 +639,7 @@ channels
&nbsp;&nbsp;<CODE>mplayer media.avi -aop list=extrastereo</CODE><BR>
&nbsp;&nbsp;<CODE>mplayer media.avi -aop list=extrastereo:mul=3.45</CODE></P>
<P>默认参数(<CODE>mul</CODE>)是默认值为2.5的浮点数。如果你把它设置到0.0,你将获得单声道(两个声道的平均值)。
<P>默认选项(<CODE>mul</CODE>)是默认值为2.5的浮点数。如果你把它设置到0.0,你将获得单声道(两个声道的平均值)。
如果你把它设置到1.0,声音不变,如果你把它设置为-1.0,左右声道将被交换。</P>

View File

@ -169,17 +169,21 @@
<H4><A NAME="xv_trident">2.3.1.2.1.6 Trident显卡</A></H4>
<P>如果你想要在Trident显卡上使用xv它在4.1.0下不工作尝试XFree最新的CVS或者等候XFree 4.2.0。最新的CVS加入了Cyberblade XP显卡的全屏xv支持。</P>
<P>如果你想要在Trident显卡上使用xv它在4.1.0下不工作尝试XFree最新的CVS或者等候XFree 4.2.0。最新的CVS加入了Cyberblade XP显卡的全屏Xv支持。</P>
<H4><A NAME="xv_powervr">2.3.1.2.1.7 Kyro/PowerVR cards</A></H4>
<P>如果你想在一块基于Kyro的显卡(例如Hercules Prophet 4000XT)上使用Xv你应该从<A HREF="http://www.powervr.com/">PowerVR的网站</A>上下载驱动。</P>
<H4><A NAME="dga">2.3.1.2.2 DGA</A></H4>
<H4><A NAME="dga_summary">2.3.1.2.2.1 总论</A></H4>
<H5>引言</H5>
<P>这部分文档试图花些篇幅来解释DGA大概是什么以及MPlayer的DGA视频输出驱动能干什么(和不能干什么)。</P>
<H4><A NAME="dga_summary">2.3.1.2.2.2 DGA是什么</A></H4>
<H5>DGA是什么</H5>
<P>DGA是Direct Graphics Access的简称是一种使程序绕过X-服务器直接修改帧缓冲显存的方法。从技术角度说这是通过把帧缓冲显存映射到你的处理器的内存范围之内。
只有你有超级用户权限的时候内核才允许这种操作。用root登录或者给MPlayer的执行文件设置SUID位(推荐使用!)可以做到这一点。</P>
@ -190,10 +194,10 @@
<P>DGA2结合了XVidMode扩展的特性而且也允许切换显示的色彩深度。因此虽然一般使用32位色X服务器你也能切换到15位色深反之亦然。</P>
<P>然而DGA也有一些弊端。它似乎有些依赖于你使用的图形芯片和X服务器中控制该芯片的视频驱动。因此它并不是对所有的系统都起作用...</P>
<P>然而DGA也有一些弊端。它似乎有些依赖于你使用的图形芯片和X服务器中控制该芯片的视频驱动。因此它并不是对所有的系统都起作用</P>
<H4><A NAME="dga_installation">2.3.1.2.2.3 为MPlayer安装DGA支持</A></H4>
<H5>为MPlayer安装DGA支持</H5>
<P>首先确保X装载了DGA扩展察看/var/log/XFree86.0.log:</P>
@ -201,7 +205,7 @@
<P>可见强烈推荐XFree86 4.0.x或更高版本MPlayer的DGA驱动在./configure时会自动检测到否则你可以用--enable-dga强行编译它。</P>
<P>如果你的驱动不能切换到一个较小的分辨率,尝试使用选项-vm(只用于X 3.3.x)-fs-bpp-zoom找一个适合你的电影的视频模式。目前没有转换功能:(</P>
<P>如果你的驱动不能切换到一个较小的分辨率,尝试使用-vm(只用于X 3.3.x)-fs-bpp-zoom选项找一个适合你的电影的视频模式。目前没有转换功能:(</P>
<P>成为root。DGA需要root权限来直接写显存。如果你想用普通用户运行它给MPlayer设置SUID root权限</P>
@ -229,16 +233,29 @@
哪些方式可用。它能在这里找到:
<CODE>/var/log/XFree86.0.log</CODE></P>
<P>modeline定义分辨率的一些例子参见附录A。</P>
<P>下面的例子对于一块Riva128芯片工作良好使用X server的驱动模块<CODE>nv.o</CODE></P>
<PRE>
Section "Modes"
Identifier "Modes[0]"
Modeline "800x600" 40 800 840 968 1056 600 601 605 628
Modeline "712x600" 35.0 712 740 850 900 400 410 412 425
Modeline "640x480" 25.175 640 664 760 800 480 491 493 525
Modeline "400x300" 20 400 416 480 528 300 301 303 314 Doublescan
Modeline "352x288" 25.10 352 368 416 432 288 296 290 310
Modeline "352x240" 15.750 352 368 416 432 240 244 246 262 Doublescan
Modeline "320x240" 12.588 320 336 384 400 240 245 246 262 Doublescan
EndSection
</PRE>
<H4><A NAME="dga_mplayer">2.3.1.2.2.5 DGA &amp; MPlayer</A></H4>
<H5>DGA &amp; MPLAYER</H5>
<P>MPlayer在有两种方法使用DGASDL驱动能使用它(-vo sdl:dga)DGA驱动(-vo dga)页使用它。上面说的内容对两者都有效;
在下列的几段中我将解释MPlayer中DGA驱动是如何工作的。</P>
<H4><A NAME="dga_features">2.3.1.2.2.6 DGA驱动的特性</A></H4>
<H5>特性</H5>
<P>DGA驱动通过命令行中的-vo dga选项调用。默认操作是转换成与原来的视频尽可能接近的分辨率。它将忽略-vm和-fs选项(开启视频模式切换和全屏方式)
-- 它总试图通过切换显示模式尽可能多的覆盖你的屏幕这样阻碍你的CPU使用一个单一的附加的周期来放大图像。
@ -256,7 +273,7 @@
然而,使用双重缓冲可能导致较大的速度下降(在我的K6-II+ 525上它多占用20%的CPU时间)下降程度取决于DGA操作你的硬件的方法。</P>
<H4><A NAME="dga_speed">2.3.1.2.2.7 速度问题</A></H4>
<H5>速度问题</H5>
<P>一般来说DGA帧缓冲至少应该跟X11驱动一样快同时还有全屏图象的附加好处。对MPlayer打印出的百分比速度的评价应该小心
比如X11驱动它们并不包括X-服务器真正绘制所用的时间。开一个终端连到你的机器的串口上运行top命令看看你的机器真正在干什么...</P>
@ -270,7 +287,7 @@
<P>我曾见过一些AVI文件能在Pentium MMX 266上播放。AMD K6-2 CPU在400 MHZ以上的应该可以工作。</P>
<H4><A NAME="dga_bugs">2.3.1.2.2.8 已知的bugs</A></H4>
<H5>已知的BUG</H5>
<P>据一些XFree的开发者说DGA像头野兽。他们告诉你不要使用它。并非对任何芯片的驱动它的操作都是没有瑕疵的。</P>
@ -281,45 +298,10 @@
<LI>一些驱动显示奇怪的颜色。</LI>
<LI>一些驱动错误报告他们映射到处理器地址空间中的显存数量这样vo-dga将无法使用双重缓冲(SIS?)。</LI>
<LI>一些驱动好像根本找不到一个可用的模式。在这种情况下DGA驱动将crash并报告100000x100000的无效模式之类的东西...</LI>
<LI>OSD只能在双重缓冲开启的时候才能工作</LI>
<LI>OSD只能在双重缓冲开启的时候才正常工作(否则会闪烁)</LI>
</UL>
<H4><A NAME="dga_future">2.3.1.2.2.9 未来的工作</A></H4>
<UL>
<LI>为OSD提供新的X11的渲染接口</LI>
<LI>我的TODO列表在什么地方????:-(((</LI>
</UL>
<H4><A NAME="dga_modelines">2.3.1.2.2.A 一些modelines</A></H4>
<PRE>
Section "Modes"
Identifier "Modes[0]"
Modeline "800x600" 40 800 840 968 1056 600 601 605 628
Modeline "712x600" 35.0 712 740 850 900 400 410 412 425
Modeline "640x480" 25.175 640 664 760 800 480 491 493 525
Modeline "400x300" 20 400 416 480 528 300 301 303 314 Doublescan
Modeline "352x288" 25.10 352 368 416 432 288 296 290 310
Modeline "352x240" 15.750 352 368 416 432 240 244 246 262 Doublescan
Modeline "320x240" 12.588 320 336 384 400 240 245 246 262 Doublescan
EndSection
</PRE>
<P>这些条目在我的Riva128芯片上工作的很好使用nv.o的X服务器驱动模块。</P>
<H4><A NAME="dga_bug_reports">2.3.1.2.2.B 报告bug</A></H4>
<P>如果你在使用DGA驱动时遇到麻烦发送一个bug报告给我(e-mail地址在下面)。请用-v选项启动MPlayer并且在bug报告中包括所有以vo_dga开始的输出行</P>
<P>请一并附带你使用的X11的版本显卡和你的CPU类型。X11驱动模块(在XF86-Config中定义)也可能有帮助。谢谢!</P>
<P><I>Acki (acki@acki-netz.dewww.acki-netz.de)</I></P>
<H4><A NAME="sdl">2.3.1.2.3 SDL</A></H4>
<P>SDL(Simple Directmedia Layer)基本上是一种统一的视频/音频接口。使用它的程序只要知道SDL而不需要了解SDL实际上使用的视频或音频驱动。
@ -356,7 +338,7 @@
<TR><TD></TD><TD><CODE>W与S</CODE></TD><TD></TD><TD>*和/的映射(音量控制)</TD></TR>
</TABLE>
<H4>已知的bug</H4>
<H5>已知的BUG</H5>
<UL>
<LI>在sdl:aalib控制台驱动下按下的键将永远重复。(使用-vo aa)它是SDL中的bug我无法改变它(用SDL 1.2.1测试)。</LI>
@ -366,15 +348,17 @@
<H4><A NAME="svgalib">2.3.1.2.4 SVGAlib</A></H4>
<H4>安装</H4>
<H5>安装</H5>
<P>你必须安装svgalib和它的开发包来使MPlayer编译它的SVGAlib驱动(自动检测,但是也能强制使用)
别忘了编辑/etc/vga/libvga.config来配合你的显卡&amp;监视器。</P>
<H4>注意</H4>
<H5>注意</H5>
<P>一定不要用-fs选项因为它将导致使用软件缩放速度会很慢如果你确实需要使用<CODE>-sws 4</CODE>选项,
质量会有点差,但是无论如何它更快。</P>
<H4>EGA(4bpp)支持</H4>
<H5>EGA(4BPP)支持</H5>
<P>SVGAlib结合了EGAlib使得MPlayer有可能用16种颜色播放任何电影下列的配制中可以使用</P>
@ -392,6 +376,10 @@
&nbsp; &nbsp;<CODE>-sws 4</CODE><BR>
也许自动纠正长宽比的功能需要关闭:<BR>
&nbsp; &nbsp;<CODE>-noaspect</CODE></P>
<P><B>注意:</B>根据我的经验用<CODE>-vop eq=-20:0</CODE>稍稍降低亮度可以在EGA屏幕上获得最好的图象质量。在我的
机器上我也要降低音频采样率因为声音在44kHz时很差<CODE>-srate 22050</CODE>.</P>
<P>你只有打开<CODE>expand</CODE>滤镜才能使用OSD和字幕。具体参数参见man page。</P>
<H4><A NAME="fbdev">2.3.1.2.5 帧缓冲输出(FBdev)</A></H4>
@ -438,10 +426,10 @@
<H4><A NAME="mga_vid">2.3.1.2.6 Matrox帧缓冲(mga_vid)</A></H4>
<P>这一段是关于Matrox G200/G400/G450/G550 BES (Back-End Scaler)的支持mga_vid内核驱动。它现在是由我(A'rpi)开发
<P>这一段是关于Matrox G200/G400/G450/G550 BES (Back-End Scaler)的支持mga_vid内核驱动。它现在是由A'rpi开发
它有三重缓冲的硬件VSYNC支持。它在帧缓冲控制台下和X下都可以工作。</P>
<P><B>警告</B>在非Linux系统上要使用<A HREF="#vidix">VIDIX</A>实现mga_vid</P>
<P><B>警告</B>在非Linux系统(在FreeBSD上测试过)上,要使用<A HREF="#vidix">VIDIX</A>实现mga_vid</P>
<P><B>安装:</B></P>
@ -531,8 +519,7 @@ MPlayer
</DL>
<P>注意渲染效果是十分消耗CPU的特别是使用AA-on-X(在X上使用aalib)在标准的非帧缓冲控制台上的CPU消耗是最小的
用SVGATextMode设置一个大的文本模式然后再欣赏电影(大力神显卡的第二个接口就不错:))(任何人能加强fbdev做hgafb?
的转化与抖动的效率将是不错的:)</P>
用SVGATextMode设置一个大的文本模式然后再欣赏电影(大力神显卡的第二个接口就不错:))(但我建议你用<CODE>-vop 1bpp</CODE>选项在hgafb上获得图象;)</P>
<P>如果你的计算机速度不足以渲染所有帧就使用<CODE>-framedrop</CODE>选项</P>
@ -556,7 +543,7 @@ MPlayer
<P>因此,你有可能通过这个驱动得到电视输出。<BR>
(我猜想电视至少经常地是使用独立的头或者独立的输出)。</P>
<H4>优点:</H4>
<H5>优点:</H5>
<UL>
<LI><B>即使Linux不能识别</B>你的视频硬件你或许还能看电影。</LI>
@ -569,7 +556,7 @@ MPlayer
(使用一般的计时公式)。要启用这个特性你必须设定你的显示器的<B>所有</B>选项。</LI>
</UL>
<H4>缺点:</H4>
<H5>缺点:</H5>
<UL>
<LI>它只能在<B>x86系统</B>上工作。</LI>
@ -579,13 +566,13 @@ MPlayer
<P>使用<B>GCC 2.96</B>就不要使用这个驱动!它不能工作!</P>
<P><B>这些命令行的选项目前可用于VESA</B></P>
<H5>可用于VESA命令行选项</H5>
<DL>
<DT><CODE>-vo vesa:opts</CODE></DT>
<DD>当前能识别的: <B>dga</B>强迫dga方式<B>nodga</B>禁用dga方式。在dga模式下你可以通过使用<CODE>-double</CODE>选项来使用双重缓冲。注意:你能省略这些参数来开启<B>自动检测</B>dga方式。</DD>
</DL>
<H4>已知的问题和绕过办法:</H4>
<H5>已知的问题和绕过办法</H5>
<UL>
<LI>如果你在你的Linux机器上安装了<B>NLS</B>并且从文本方式运行VESA驱动那么MPlayer终止后你将看到<B>ROM字体</B>而不是本地的字体。
@ -620,6 +607,8 @@ MPlayer
<H4><A NAME="vidix">2.3.1.2.12 VIDIX</A></H4>
<H5>引言</H5>
<P>VIDIX是<B>VID</B>eo <B>I</B>nterface for *ni<B>X</B>的缩写。<BR>
VIDIX被设计和引入作为快速的用户空间驱动的接口提供类似mga_vid为了Matrox显卡提供的这样视频性能的。它也十分易于移植。</P>
@ -627,7 +616,7 @@ MPlayer
它给芯片提供BES(BackEnd scalers)或OV(Video Overlays)之类的高层接口。它不为那些图像服务器该做的事情提供底层接口。
(我不想跟X11开发组在切换图像模式上竞争)。即这接口的主要目的是充分提高视频播放的速度。</P>
<H4>用法</H4>
<H5>用法</H5>
<UL>
<LI>你能使用独立的视频输出驱动:<CODE>-vo xvidix</CODE><BR>
@ -640,7 +629,7 @@ MPlayer
实际上什么视频输出驱动与<B>VIDIX</B>配合使用并不重要。
<H4>要求</H4>
<H5>要求</H5>
<UL>
<LI>视频显卡应该工作于图形方式(我所以写<B>应该</B>只是因为我在文本方式下测试了它 -- 它能工作但是输出效果很可怕 ;) 对它还是使用AAlib)。<BR>
@ -648,7 +637,7 @@ MPlayer
<LI>MPlayer的视频输出驱动应该知道活动的视频方式和能够告诉达到VIDIX副驱动服务器的一些视频特性。</LI>
</UL>
<H4>使用方式</H4>
<H5>使用方法</H5>
<P>当VIDIX被用作<B>副驱动</B>时(<CODE>-vo vesa:vidix</CODE>)视频方式的配置由视频输出设备执行(简单来说就是<B>vo_server</B>)。
因此你能对MPlayer使用与vo_server同样的命令行指令。此外它能使用<CODE>-double</CODE>作为全局的参数。
@ -667,14 +656,52 @@ MPlayer
只有在你绝对确信它能工作而MPlayer没有自动选择它时你才能这么做。请把情况报告给开发者。
正确的使用方法是使用没有参数的VIDIX来使用驱动的自动检测。</P>
<P>VIDIX是十分新的技术所以在你的系统(OS=abc CPU=xyz)上它极有可能不能正常工作。在这种情况下,你唯一的解决办法是移植它(主要libdha)。
<P>VIDIX是一项新技术所以它极有可能在你的系统上不能正常工作。在这种情况下,你唯一的解决办法是移植它(主要libdha)。
但它在X11能正常工作的那些系统的上有正常工作的希望。</P>
<P>因为VIDIX需要对硬件直接访问所以你或者以root运行它或者给MPlayer的二进制程序设置SUID位(<B>警告:这有安全风险</B>)。或者,你
可以使用一个特别的内核模块,像这样:</P>
<OL>
<LI>下载svgalib的<A HREF="http://www.arava.co.il/matan/svgalib/">开发版本</A>(比如1.9.17)。</LI>
<LI><B>或者</B><A
HREF="http://www.mplayerhq.hu/~alex/svgalib_helper-1.9.17-mplayer.tar.bz2">这里</A>.下载一个Alex做的
供MPlayer使用的版本(不需要svgalib的源代码就可以编译)。</LI>
<LI>编译<CODE>svgalib_helper</CODE>目录中的模块(如果你是从svgalib的网页上下载的源代码可以在<CODE>svgalib-1.9.17/kernel/</CODE>
录下找到它)然后insmod。</LI>
<LI><CODE>svgalib_helper</CODE>目录移到<CODE>mplayer/main/libdha/svgalib_helper</CODE>.</LI>
<LI>如果你是从svgalib的站点下载的源代码需要删掉<CODE>libdha/Makefile</CODE>中包含"svgalib_helper"字符串
的CFLAGS行前面的注释号。</LI>
<LI>重新编译安装libdha.</LI>
</OL>
<BLOCKQUOTE>
<B>警告:安全风险</B><BR>
不幸的是你<B>必须</B><B>ROOT</B>权限才能使用VIDIX因为需要直接硬件写入。至少给MPlayer的可执行文件设置<B>SUID</B>位。</P>
</BLOCKQUOTE>
<H4><A NAME="vidix_ati">2.3.1.2.12.1 ATI显卡</A></H4>
<P>目前大部分ATI显卡都实现了本地支持从Mach64到最新的Radeon。</P>
<P>编译生成两个二进制文件用于Radeon的<CODE>radeon_vid</CODE>和用于Rage 128显卡的<CODE>rage128_vid</CODE>。你可以
强制使用其中一个或者让VIDIX系统自动载入所有可用的驱动。</P>
<H4><A NAME="vidix_matrox">2.3.1.2.12.2 Matrox显卡</A></H4>
<P>Matrox G200,G400,G450和G550据报告可以工作。</P>
<P>这个驱动支持视频均衡器比且应该几乎和<A HREF="#mga_vid">Matrox帧缓冲</A>一样快。</P>
<H4><A NAME="vidix_trident">2.3.1.12.3 Trident显卡</A></H4>
<P>有一个可用于Trident Cyberblade/i1芯片的驱动它们一般出现在VIA的Epia主板上。</P>
<P>这个驱动有Alastair M. Robinson编写并维护他在他的<A HREF="http://www.blackfiveservices.co.uk/EPIAVidix.shtml">主页</A>
提供他的最新版本的驱动下载。这个驱动会很快被加到MPlayer中所以CVS应该已经包含最新驱动了。</P>
<H4><A NAME="vidix_3dlabs">2.3.1.2.12.4 3DLabs显卡</A></H4>
<P>尽管有一个用于3DLabs GLINT R3和Permedia3芯片的驱动但没有人测试过所以欢迎报告信息。</P>
<H4><A NAME="directfb">2.3.1.2.13 DirectFB</A></H4>
<P><I>"DirectFB是设计用于嵌入系统的图形库。它能利用最小的资源开销提供最大的硬件加速效果。"</I> -- 引自<A
@ -720,9 +747,9 @@ HREF="http://www.sci.fi/~syrjala/directfb/readme.txt">
./configure --with-extraincdir=&lt;DVB source directory&gt;/ost/include
</PRE>
<P>然后就可以正常编译安装。</P>
<P>然后正常编译安装。</P>
<H4>使用方法</H4>
<H5>使用方法</H5>
<P>硬件解码(播放标准的MPEG1/2文件)使用下列命令:</P>
@ -779,7 +806,7 @@ for 3:4 TV: -vop lavc,expand=-1:576:-1:-1:1,scale=-1:0,dvbscale
for 16:9 TV: -vop lavc,expand=-1:576:-1:-1:1,scale=-1:0,dvbscale=1024
</PRE>
<H4>将来</H4>
<H5>将来</H5>
<P>如果你有使用问题或想要了解特性通告或者参加这个问题的讨论,加入我们的<A HREF="http://mplayerhq.hu/mailman/listinfo/mplayer-dvb">MPlayer-DVB</A>的邮件列表。
请记住列表的语言是英语。</P>
@ -799,7 +826,7 @@ em8300 MPEG
HREF="http://dxr3.sourceforge.net/">DXR3 &amp; Hollywood Plus for Linux</A>的站点找到驱动和安装指导。Configure应该自动检测到你的显卡
编译应该没有任何问题。</P>
<H4>用法:</H4>
<H5>用法</H5>
<DL>
<DT><CODE>-vo dxr3:prebuf:sync:norm=x:&lt;device&gt;</CODE></DT>
@ -858,7 +885,7 @@ lavc=&lt;quality&gt;:25</CODE>
驱动通过把每帧图像编码成为jpeg格式和然后把它发送到显卡来工作。在jpeg编码时要使用<B>libavcodec</B>,而且必须使用。</P>
用特殊的<I>cinerama</I>模式你可以通过两个投影仪和两块MJPEG卡用真正的宽银幕方式观看电影。根据分辨率和质量的设置这个
驱动可能要求极强的CPU处理能力如果你的机器太慢的话记住使用<CODE>-framedrop</CODE>注意我的AMD K6-2 350MHz(加上
<CODE>-framedrop</CODE>选项)足够看VCD尺寸的东西和经过缩小的电影。
<CODE>-framedrop</CODE>选项)足够看VCD尺寸的东西和经过缩小的电影。</P>
<P>这个驱动需要一个内核驱动,可以在<A HREF="http://mjpeg.sourceforge.net">http://mjpeg.sourceforge.net</A>找到,
你必须先让它工作。MJPEG卡的存在能被configure脚本自动检测到如果自动检测失败用这个命令强制检测
@ -867,7 +894,7 @@ lavc=&lt;quality&gt;:25</CODE>
./configure --enable-zr
</PRE>
<P>驱动的输出可以用一些选项设置在man page里面可以找到一份长长的可用选项的描述一个比较短的选项列表可以运行这个命令获得
<P>驱动的输出可以用一些选项设置在man page里面可以找到一份长长的可用选项的描述一个比较短的选项列表可以运行这个命令获得</P>
<PRE>
mplayer -zrhelp
@ -877,14 +904,14 @@ lavc=&lt;quality&gt;:25</CODE>
<P>缩放和OSD (on screen display)这类功能这个驱动不能处理,但可以用视频滤镜来完成,例如你有一个分辨率是<CODE>512x272</CODE>
的电影而你希望用你的DC10+用全屏幕观看,主要有三种可能的方法,你可以把电影宽度缩放到<CODE>768</CODE><CODE>384</CODE>
或者<CODE>192</CODE>。考虑到运行速度和质量的原因,我会选择使用快速二次线型软件缩放滤镜把电影缩放到<CODE>384x204</CODE>
命令行是这样的
命令行是这样的</P>
<PRE>
mplayer -vo zr -sws 0 -vop scale=384:204 movie.avi
</PRE>
<P>画面的切割可以用<CODE>crop</CODE>滤镜也可以用驱动自己完成。假设电影太宽了,在你的机器上显示不了,那么你会想要用
<CODE>-zrcrop</CODE>来切割电影的宽度,那么你应该输入下面的命令
<CODE>-zrcrop</CODE>来切割电影的宽度,那么你应该输入下面的命令</P>
<PRE>
mplayer -vo zr -zrcrop 720x320+80+0 benhur.avi
@ -899,7 +926,7 @@ lavc=&lt;quality&gt;:25</CODE>
<P>多个<CODE>-zrcrop</CODE>就会调用<I>cinerama</I>模式,你可以把电影投射到几个电视或者投影仪上来制造一个大银幕,设想你有
两个投影仪,左边那个连到你的机器的<CODE>/dev/video1</CODE>而右边那个连到你的机器的<CODE>/dev/video0</CODE>上的DC10+上,
电影的分辨率是<CODE>704x288</CODE>,同时假设你希望右边的投影仪显示黑白效果而右边的投影仪显示的用质量<CODE>10</CODE>来显示jpeg帧
那么你需要使用下列命令:
那么你需要使用下列命令:</P>
<PRE>
mplayer -vo zr -zrdev /dev/video0 -zrcrop 352x288+352+0 -zrxdoff 0 -zrbw \
@ -914,7 +941,8 @@ lavc=&lt;quality&gt;:25</CODE>
<H4><A NAME="blinken">2.3.1.4.2 Blinkenlights</A></H4>
<P>这个驱动可以使用Blinkenlights UPD兼容协议播放。如果你不知道Blinkenlights是什么你就不需要这个驱动。</P>
<P>这个驱动可以使用Blinkenlights UPD兼容协议播放。如果你不知道<A
HREF="http://www.blinkenlights.de/">Blinkenlights</A>是什么,你就不需要这个驱动。</P>
<H4><A NAME="tv-out">2.3.1.5 电视输出支持</A></H4>