annotate DOCS/zh/codecs.html @ 18659:db8821b163e5

CVS --> Subversion
author diego
date Fri, 09 Jun 2006 13:32:57 +0000
parents aa01df570de0
children 4a5a0986fc17
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
2 <HTML>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
3
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
4 <HEAD>
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
5 <TITLE>编解码器 -- MPlayer -- Linux下的电影播放器</TITLE>
9512
883f38591d47 now all translations link to ../default.css
gabucino
parents: 9332
diff changeset
6 <LINK REL="stylesheet" TYPE="text/css" HREF="../default.css">
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
7 <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=gbk">
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
8 </HEAD>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
9
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
10 <BODY>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
11
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
12
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
13 <H2><A NAME="codecs">2.2 支持的编解码器</A></H2>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
14
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
15
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
16 <H3><A NAME="video_codecs">2.2.1 视频编解码器</A></H3>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
17
9268
a76b8962c0bd Sync by Lu Ran <hephooey@fastmail.fm>.
diego
parents: 9080
diff changeset
18 <P>检查<A HREF="http://www.mplayerhq.hu/DOCS/codecs-status.html">codec status table</A>来获得完整的,每日更新的
a76b8962c0bd Sync by Lu Ran <hephooey@fastmail.fm>.
diego
parents: 9080
diff changeset
19 列表。大部分的编解码器可以从我们的主页下载,在我们的<A
a76b8962c0bd Sync by Lu Ran <hephooey@fastmail.fm>.
diego
parents: 9080
diff changeset
20 HREF="http://www.mplayerhq.hu/MPlayer/releases/codecs/">编解码器页</A>可以找到他们。</P>
9614
05b3a03fdd8f Sync by <hephooey@fastmail.fm>.
diego
parents: 9512
diff changeset
21
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
22
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
23 <P>所有之中最重要的:</P>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
24 <UL>
9614
05b3a03fdd8f Sync by <hephooey@fastmail.fm>.
diego
parents: 9512
diff changeset
25 <LI><B>MPEG1</B>(<B>VCD</B>)和<B>MPEG2</B>(<B>DVD</B>)视频</LI>
05b3a03fdd8f Sync by <hephooey@fastmail.fm>.
diego
parents: 9512
diff changeset
26 <LI><B>DivX ;-)</B>, <B>OpenDivX</B>, <B>DivX4</B>, <B>
05b3a03fdd8f Sync by <hephooey@fastmail.fm>.
diego
parents: 9512
diff changeset
27 DivX5</B>, <B>M$ MPEG4</B> v1, v2和其它MPEG4格式的变种的本地解码器。</LI>
05b3a03fdd8f Sync by <hephooey@fastmail.fm>.
diego
parents: 9512
diff changeset
28 <LI><B>Windows Media Video 7/8</B>(<B>WMV1/WMV2</B>)的本地解码器,以
05b3a03fdd8f Sync by <hephooey@fastmail.fm>.
diego
parents: 9512
diff changeset
29 及<B>Windows Media Video 9</B>(<B>WMV3</B>)的Win32 DLL解码,.wmv文件使用这两种格式</LI>
05b3a03fdd8f Sync by <hephooey@fastmail.fm>.
diego
parents: 9512
diff changeset
30 <LI>本地的<B>Sorenson 1 (SVQ1)</B>解码器r</LI>
05b3a03fdd8f Sync by <hephooey@fastmail.fm>.
diego
parents: 9512
diff changeset
31 <LI>Win32/QT的<B>Sorenson 3 (SVQ3)</B>解码器</LI>
05b3a03fdd8f Sync by <hephooey@fastmail.fm>.
diego
parents: 9512
diff changeset
32 <LI><B>3ivx</B> v1, v2解码器</LI>
05b3a03fdd8f Sync by <hephooey@fastmail.fm>.
diego
parents: 9512
diff changeset
33 <LI>Cinepak和<B>Intel Indeo</B>编解码器(3.1, 3.2, 4.1, 5.0)</LI>
05b3a03fdd8f Sync by <hephooey@fastmail.fm>.
diego
parents: 9512
diff changeset
34 <LI><B>MJPEG</B>, AVID, VCR2, ASV2和其它硬件格式</LI>
05b3a03fdd8f Sync by <hephooey@fastmail.fm>.
diego
parents: 9512
diff changeset
35 <LI>VIVO 1.0, 2.0, I263和其它<B>h263</B>(+)格式的变种</LI>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
36 <LI>FLI/FLC</LI>
9614
05b3a03fdd8f Sync by <hephooey@fastmail.fm>.
diego
parents: 9512
diff changeset
37 <LI>Libavcodec的<B>RealVideo 1.0</B>解码器,和使用RealPlayer库的<B>RealVideo 2.0</B>, <B>3.0</B>和<B>4.0</B>解码器</LI>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
38 <LI>HuffYUV的本地的解码器</LI>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
39 <LI>各种各样的老的简单的类似RLE的格式</LI>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
40 </UL>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
41
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
42 <P>如果你有一个Win32解码器没有列出来而且目前没有被支持,请读取<A HREF="#importing">解码器导入HOWTO</A>并且帮助我们添加对它的支持。</P>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
43
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
44
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
45 <H4><A NAME="divx">2.2.1.1 DivX4与DivX5</A></H4>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
46
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
47 <P>这部分包含关于<A HREF="http://www.projectmayo.com">Mayo工程</A>的DivX4和DivX5编解码器的信息,他们的第一个可用的alpha版本是
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
48 OpenDivX 4.0 alpha 47和48。 对它们的支持以前包括在MPlayer中,并且是默认编译的。 我们也使用其后处理代码来有选择地提高MPEG1/2电影的视觉质量。
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
49 现在我们使用我们自己的,对于所有文件类型。</P>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
50
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
51 <P>这个解码器的新一代产品称为DivX4,它甚至能解码以声名狼籍的DivX编解码器制作的电影! 此外,它比本地的Win32 DivX DLL快得多比但是比libavcodec慢。
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
52 因此,<B>不鼓励</B>把它当解码器用。 然而,它对编码有用。 这个编解码器的缺点之一是它目前不开放源代码。</P>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
53
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
54 <P>DivX4Linux有两种工作方式:</P>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
55
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
56 <DL>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
57 <DT><CODE>-vc odivx</CODE></DT>
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
58 <DD>以OpenDivX方式使用解码器。在这种情况下,它在自己的缓冲中产生YV12图象,然后由MPlayer通过libvo做色彩空间转换。(<B>推荐,快!</B>)</DD>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
59
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
60 <DT><CODE>-vc divx4</CODE></DT>
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
61 <DD>使用解码器的色彩空间转换。以这种方式你也能使用YUY2与UYVY。(<B>很慢</B>)</DD>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
62 </DL>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
63
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
64 <P><CODE>-vc odivx</CODE>方式通常更快,因为它以YV12(planar YUV 4:2:0)格式传输图象数据,这样占用少的多的总线带宽。对于packed YUV方式
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
65 (YUY2,UYVY)使用<CODE>-vc divx4</CODE>方式。对于RGB模式两者速度是相同的,差别最多是你当前的色彩深度。</P>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
66
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
67 <P><B>注意:</B>如果你的<CODE>-vo</CODE>驱动支持直接渲染,那么<CODE>-vc divx4</CODE>可以是很快甚至最快的解决方案。</P>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
68
9268
a76b8962c0bd Sync by Lu Ran <hephooey@fastmail.fm>.
diego
parents: 9080
diff changeset
69 <P>Divx4/5的二进制编解码器库可以从<A HREF="http://avifile.sourceforge.net">avifile</A>或者<A
a76b8962c0bd Sync by Lu Ran <hephooey@fastmail.fm>.
diego
parents: 9080
diff changeset
70 HREF="http://www.divx.com">divx.com</A>下载,解压之后,以root权限运行<CODE>./install.sh</CODE>,
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
71 另外别忘了把<CODE>/usr/local/lib</CODE>添加到你的<CODE>/etc/ld.so.conf</CODE>中然后运行<CODE>ldconfig</CODE>。</P>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
72
9268
a76b8962c0bd Sync by Lu Ran <hephooey@fastmail.fm>.
diego
parents: 9080
diff changeset
73 <P>想得到老的OpenDivx的核心库的CVS版本可以这样做:</P>
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
74
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
75 <OL>
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
76 <LI><CODE>cvs -d:pserver:anonymous@cvs.projectmayo.com:/cvsroot login</CODE></LI>
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
77 <LI><CODE>cvs -d:pserver:anonymous@cvs.projectmayo.com:/cvsroot co divxcore</CODE></LI>
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
78 <LI>核心库分为解码库和编码库必须分别编译。对于解码库,直接输入:
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
79 <PRE>
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
80 cd divxcore/decore/build/linux
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
81 make
9614
05b3a03fdd8f Sync by <hephooey@fastmail.fm>.
diego
parents: 9512
diff changeset
82 cp libdivxdecore.so /usr/local/lib
9815
eb55fee443d2 Make absolute symlinks relative as suggested by Rich, fix typo.
diego
parents: 9614
diff changeset
83 ln -s libdivxdecore.so /usr/local/lib/libdivxdecore.so.0
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
84 cp ../../src/decore.h /usr/local/include
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
85 </PRE>
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
86 </LI>
9614
05b3a03fdd8f Sync by <hephooey@fastmail.fm>.
diego
parents: 9512
diff changeset
87 <LI>唉,对于编码库没有可用的Linux的Makefile,而且MMX优化代码只能用于Windows但你仍然可以用这个<A
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
88 HREF="ftp://ftp.mplayerhq.hu/MPlayer/contrib/divx-mf/Makefile">Makefile</A>来编译它
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
89 <PRE>
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
90 cd ../../../encore/build
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
91 mkdir linux
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
92 cd linux
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
93 cp path/Makefile .
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
94 make
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
95 cp libdivxencore.so /usr/local/lib
9815
eb55fee443d2 Make absolute symlinks relative as suggested by Rich, fix typo.
diego
parents: 9614
diff changeset
96 ln -s libdivxencore.so /usr/local/lib/libdivxencore.so.0
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
97 cp ../../src/encore.h /usr/local/include
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
98 </PRE>
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
99 </LI>
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
100 </OL>
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
101
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
102 <P>如果正常安装了DivX4/DivX5,MPlayer会自动检测到它,只要正常编译就可以。如果没有检测到,你肯定没有正确安装或者配置它。</P>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
103 <H4><A NAME="libavcodec">2.2.1.2 FFmpeg DivX/libavcodec</A></H4>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
104
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
105 <P><A HREF="http://ffmpeg.sourceforge.net">FFmpeg</A>包括一组<B>开放源码的</B>解码器包,能够以兼容方式解码以
9268
a76b8962c0bd Sync by Lu Ran <hephooey@fastmail.fm>.
diego
parents: 9080
diff changeset
106 H263/MJPEG/RV10/DivX3/DivX4/DivX5/MP41/MP42/WMV1/WMV2/HuffYUV编码格式编码的视频流。它不仅能对其中一些进行编码,
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
107 同时提供比Win32解码器或DivX.com的DivX4/5库更高的速度!</P>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
108
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
109 <P>它包含很多不错的解码器,尤其重要的是MPEG4的几个变种:DivX 3,DivX 4,DivX 5,Windows Media Video 7(WMV1)。另外一个有趣的东西是WMA解码器。</P>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
110
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
111 <P>如果你使用MPlayer发行版,在你的源码包里就有libavcodec,正常编译即可。如果你使用CVS的MPlayer
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
112 那么你必须从FFmpeg的CVS树中提取libavcodec因为FFmpeg 0.4.5<B>不能</B>用于MPlayer。你应该这样来完成:</P>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
113
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
114 <OL>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
115 <LI><CODE>cvs -d:pserver:anonymous@cvs.ffmpeg.sourceforge.net:/cvsroot/ffmpeg login</CODE></LI>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
116 <LI><CODE>cvs -d:pserver:anonymous@cvs.ffmpeg.sourceforge.net:/cvsroot/ffmpeg co ffmpeg</CODE></LI>
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
117 <LI>把<CODE>libavcodec</CODE>目录从FFmpeg的源代码里移到MPlayer的CVS树的根目录下。看起来应该象这样:
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
118 <P>&nbsp;&nbsp;&nbsp;&nbsp;<CODE>main/libavcodec</CODE></P>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
119 符号链接是<B>不</B>够的,你必须复制或移动它!</LI>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
120 <LI>编译。Configure应该在编译之前发现可能的问题。</LI>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
121 </OL>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
122
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
123 <P>用FFmpeg和我的Matrox G400,我甚至能在我的K6/2 500上无掉帧的观看最高分辨率的DivX电影。</P>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
124
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
125
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
126 <H4><A NAME="xanim">2.2.1.3 XAnim解码器</A></H4>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
127
9614
05b3a03fdd8f Sync by <hephooey@fastmail.fm>.
diego
parents: 9512
diff changeset
128 <H4>前言</H4>
05b3a03fdd8f Sync by <hephooey@fastmail.fm>.
diego
parents: 9512
diff changeset
129 <P>
05b3a03fdd8f Sync by <hephooey@fastmail.fm>.
diego
parents: 9512
diff changeset
130 XAnim的二进制的解码器包里面有一份关于合法捆绑软件许可的声明,除其它限制之外,禁止用户用除XAnim外的任何程序使用其解码器。然而,
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
131 XAnim的作者到目前为止没有就解码器有关的问题对着任何人采取法律行动。
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
132 </P>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
133
9614
05b3a03fdd8f Sync by <hephooey@fastmail.fm>.
diego
parents: 9512
diff changeset
134 <H4>安装和使用</H4>
05b3a03fdd8f Sync by <hephooey@fastmail.fm>.
diego
parents: 9512
diff changeset
135
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
136 <P>MPlayer可以使用XAnim的解码器解码。按照下列指令来开启它:</P>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
137
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
138 <OL>
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
139 <LI>从<A HREF="http://xanim.va.pubnix.com">XAnim的站点</A>下载你想要的解码器。<B>3ivx</B>的解码器不在那里,而是在<A
9614
05b3a03fdd8f Sync by <hephooey@fastmail.fm>.
diego
parents: 9512
diff changeset
140 HREF="http://www.3ivx.com">3ivx的站点</A>。</LI>
05b3a03fdd8f Sync by <hephooey@fastmail.fm>.
diego
parents: 9512
diff changeset
141 <LI><B>或者</B>从我们的<A
05b3a03fdd8f Sync by <hephooey@fastmail.fm>.
diego
parents: 9512
diff changeset
142 HREF="http://www.mplayerhq.hu/MPlayer/releases/codecs/">编解码器页</A>下载编解码器包。
05b3a03fdd8f Sync by <hephooey@fastmail.fm>.
diego
parents: 9512
diff changeset
143 </LI>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
144 <LI>使用<CODE>--with-xanimlibdir</CODE>选项来告诉configure在何处可以找到XAnim的解码器。缺省的话,它在
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
145 <CODE>/usr/local/lib/xanim/mods, /usr/lib/xanim/mods and /usr/lib/xanim</CODE>里寻找。或者你可以把<I>XANIM_MOD_DIR</I>环境变量
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
146 设置为XAnim解码器所在的目录。</LI>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
147 <LI>给文件改名/做符号链接,去掉代表平台构架之类的东西,让他们看起来像这样:<CODE>vid_cvid.xa, vid_h263.xa, vid_iv50.xa</CODE>。</LI>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
148 </OL>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
149
9614
05b3a03fdd8f Sync by <hephooey@fastmail.fm>.
diego
parents: 9512
diff changeset
150 <P>XAnim属于视频编解码器族<CODE>xanim</CODE>,所以你可能需要使用<CODE>-vfm xanim</CODE>。</P>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
151
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
152 <P>测试过的解码器包括:<B>Indeo 3.2</B>,<B>4.1</B>,<B>5.0</B>,<B>CVID</B>,<B>3ivX</B>,<B>h263</B>。</P>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
153
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
154
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
155 <H4><A NAME="vivo_video">2.2.1.4 VIVO视频</A></H4>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
156
9614
05b3a03fdd8f Sync by <hephooey@fastmail.fm>.
diego
parents: 9512
diff changeset
157 <P>MPlayer能播放Vivo(1.0和2.0)视频。对于1.0的文件最适合的解码器是FFmpeg的H263解码器,你可以用<CODE>-vc ffh263</CODE>选项来
05b3a03fdd8f Sync by <hephooey@fastmail.fm>.
diego
parents: 9512
diff changeset
158 使用它。对于2.0个文件,使用<CODE>-vc vivo</CODE>命令来调用Win32 DLL。如果你没有添加命令行选项MPlayer将自动选择最好的解码器。</P>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
159
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
160
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
161 <H4><A NAME="mpeg">2.2.1.5 MPEG 1/2视频</A></H4>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
162
9614
05b3a03fdd8f Sync by <hephooey@fastmail.fm>.
diego
parents: 9512
diff changeset
163 <P>MPEG1和MPEG2用本地的多平台的<B>libmpeg2</B>库解码,其源代码被包括在MPlayer中。对于buggy的MPEG 1/2视频文件我们
05b3a03fdd8f Sync by <hephooey@fastmail.fm>.
diego
parents: 9512
diff changeset
164 通过截获<CODE>Signal 11 (Segmentation fault)</CODE>,然后迅速再次初始化解码器,从失败的地方继续的方法来处理。这种
05b3a03fdd8f Sync by <hephooey@fastmail.fm>.
diego
parents: 9512
diff changeset
165 恢复技术会带来无法估量的速度损失。</P>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
166
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
167
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
168 <H4><A NAME="ms_video1">2.2.1.6 MS Video1</A></H4>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
169
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
170 <P>这是微软的又老又差的编码格式。过去它用<CODE>msvidc32.dll</CODE>的Win32解码器解码,现在我们有我们自己的开放源码的实现(由<A
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
171 HREF="mailto:melanson@pcisys.net">Mike Melanson</A>提供)。</P>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
172
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
173
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
174 <H4><A NAME="cinepak">2.2.1.7 Cinepak CVID</A></H4>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
175
9614
05b3a03fdd8f Sync by <hephooey@fastmail.fm>.
diego
parents: 9512
diff changeset
176 <P>MPlayer默认将使用自己的开源的,多平台的Cinepak解码器(由<A
05b3a03fdd8f Sync by <hephooey@fastmail.fm>.
diego
parents: 9512
diff changeset
177 HREF="mailto:timf@csse.monash.edu.au">Dr. Tim Ferguson</A>提供)。它支持YUV输出,所以只要硬件驱动允许它将使用硬件缩放。</P>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
178
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
179
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
180 <H4><A NAME="realvideo">2.2.1.8 RealVideo</A></H4>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
181
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
182 MPlayer支持所有版本的RealVideo的解码:
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
183
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
184 <UL>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
185 <LI>RealVideo 1.0 (fourcc RV10) -- 编/解码由<B>libavcodec</B>支持</LI>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
186 <LI>RealVideo 2.0,3.0,4.0(fourcc RV20,RV30,RV40) -- 解码由<B>RealPlayer库</B>支持</LI>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
187 </UL>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
188
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
189 <P>推荐下载并安装RealPlayer8或者RealONE,因为MPlayer能使用他们的库来解码RealVideo 2.0或者RealVideo 3.0的视频文件。
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
190 MPlayer的配置脚本应该会在一个完全安装的RealPlayer的标准位置找到它的库。如果它没找到,用<CODE>--with-reallibdir</CODE>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
191 选项告诉configure到哪里去找。</P>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
192
9614
05b3a03fdd8f Sync by <hephooey@fastmail.fm>.
diego
parents: 9512
diff changeset
193 <P><B>注意:</B>RealPlayer库目前<B>只能用于x86平台上的Linux,FreeBSD,NetBSD和Cygwin,和Alpha以
05b3a03fdd8f Sync by <hephooey@fastmail.fm>.
diego
parents: 9512
diff changeset
194 及PowerPC(经过Linux/Alpha和Linux/PowerPC测试)平台。</B></P>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
195
9869
49f639c73367 Translation update
luran
parents: 9815
diff changeset
196 <H4><A NAME="xvid">2.2.1.9 XviD</A></H4>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
197
9869
49f639c73367 Translation update
luran
parents: 9815
diff changeset
198 <P><A HREF="http://www.xvid.org/"><B>XviD</B></A>OpenDivX编解码器的开发分支。故事发生在Mayo工程把OpenDivX变成封闭
49f639c73367 Translation update
luran
parents: 9815
diff changeset
199 源码的DivX4的时候,那些从事于OpenDivX的非Mayo工程的人们感到愤怒,于是开始了XviD。所以两个项目有相同的起源。</P>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
200
9614
05b3a03fdd8f Sync by <hephooey@fastmail.fm>.
diego
parents: 9512
diff changeset
201 <H4>优点</H4>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
202
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
203 <UL>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
204 <LI>开放源码</LI>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
205 <LI>它的API与DivX4相同,所以加入对它的支持很容易</LI>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
206 <LI>支持2-pass编码</LI>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
207 <LI>不错的编码质量,DivX4更快的速度(编译时你能针对你的机器优化它)</LI>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
208 </UL>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
209
9614
05b3a03fdd8f Sync by <hephooey@fastmail.fm>.
diego
parents: 9512
diff changeset
210 <H4>缺点</H4>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
211
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
212 <UL>
9614
05b3a03fdd8f Sync by <hephooey@fastmail.fm>.
diego
parents: 9512
diff changeset
213 <LI>目前还不能正确的<B>解码</B>所有的DivX与DivX4文件(这不成问题因为<A
05b3a03fdd8f Sync by <hephooey@fastmail.fm>.
diego
parents: 9512
diff changeset
214 HREF="#libavcodec">libavcodec</A>能播放他们)</LI>
9869
49f639c73367 Translation update
luran
parents: 9815
diff changeset
215 <LI>编译时你必须选择支持DivX4<B>或者</B>支持XviD</LI>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
216 <LI>还在开发中</LI>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
217 </UL>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
218
9614
05b3a03fdd8f Sync by <hephooey@fastmail.fm>.
diego
parents: 9512
diff changeset
219 <H4>安装XVID CVS</H4>
05b3a03fdd8f Sync by <hephooey@fastmail.fm>.
diego
parents: 9512
diff changeset
220
9869
49f639c73367 Translation update
luran
parents: 9815
diff changeset
221 <P>XViD目前只能从CVS中得到。这是下载和安装的指令(你至少需要autoconf 2.50, automake和libtool):</P>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
222
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
223 <OL>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
224 <LI><CODE>cvs -z3 -d:pserver:anonymous@cvs.xvid.org:/xvid login</CODE></LI>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
225 <LI><CODE>cvs -z3 -d:pserver:anonymous@cvs.xvid.org:/xvid co xvidcore</CODE></LI>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
226 <LI><CODE>cd xvidcore/build/generic</CODE></LI>
9869
49f639c73367 Translation update
luran
parents: 9815
diff changeset
227 <LI><CODE>./bootstrap.sh</CODE></LI>
49f639c73367 Translation update
luran
parents: 9815
diff changeset
228 <LI><CODE>./configure</CODE><BR>
49f639c73367 Translation update
luran
parents: 9815
diff changeset
229 你可以加上一些选项(查看<CODE>./configure --help</CODE>的输出).</LI>
49f639c73367 Translation update
luran
parents: 9815
diff changeset
230 <LI><CODE>make &amp;&amp; make install</CODE></LI>
49f639c73367 Translation update
luran
parents: 9815
diff changeset
231 <LI>如果你设置了<CODE>--enable-divxcompat</CODE>,把<CODE>xvidcore/src/</CODE>里面
49f639c73367 Translation update
luran
parents: 9815
diff changeset
232 的<CODE>divx4.h</CODE>头文件复制到<CODE>/usr/local/include/</CODE>。</LI>
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
233 <LI>加上<CODE>--with-xvidcore=/path/to/libcore.a</CODE>选项重新编译MPlayer。</LI>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
234 </OL>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
235
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
236
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
237 <H4><A NAME="sorenson">2.2.1.10 Sorenson </A></H4>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
238
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
239 <P><B>Sorenson</B>是Sorenson Media开发的一个视频编解码器族,授权给苹果公司在它们的QuickTime播放器中使用。
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
240 我们目前可以使用下列解码器解码所有的Sorenson视频文件:</P>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
241
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
242 <UL>
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
243 <LI>Sorenson 1(fourcc <I>SVQ1</I>) - 由<B>本地编解码器</B>解码。<BR>
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
244 实际上有两个SVQ1的(几乎等价的)解码器:一个在MPlayer中,还有一个在libavcodec。你可以通过<CODE>-vc svq1</CODE>
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
245 和<CODE>-vc ffsvq1</CODE>选项调用它们中的任意一个。有些文件可能只能在其中一个上工作,而另一个就行,所以
9268
a76b8962c0bd Sync by Lu Ran <hephooey@fastmail.fm>.
diego
parents: 9080
diff changeset
246 两个解码器都试试。这个解码器是由<A HREF="http://www.xinehq.de">xine</A>的作者编写(完成反向工程)的。</LI></LI>
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
247 <LI>Sorenson 3(fourcc <I>SVQ3</I>) - 由<B>Win32的QuickTime库</B>解码。</LI>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
248 </UL>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
249
9614
05b3a03fdd8f Sync by <hephooey@fastmail.fm>.
diego
parents: 9512
diff changeset
250 <H4>编译支持QUICKTIME库的SUPPORT</H4>
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
251
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
252 <P><B>注意:</B>目前只支持32位的Intel平台。</P>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
253
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
254 <OL>
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
255 <LI>下载MPlayer CVS</LI>
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
256 <LI>用下面参数编译MPlayer:<BR>
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
257 <CODE>$ ./configure --enable-qtx-codecs</CODE></LI>
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
258 <LI>在这里下载QuickTime DLL包<A HREF="http://www.mplayerhq.hu/MPlayer/releases/codecs/">http://www.mplayerhq.hu/MPlayer/releases/codecs/</A></LI>
12227
aa01df570de0 /usr/lib/win32 --> /usr/lib/codecs
diego
parents: 10045
diff changeset
259 <LI>把QuickTime DLL包解压到你的Win32编解码器目录(默认:<CODE>/usr/lib/codecs</CODE>)</LI>
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
260 </OL>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
261
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
262 <H3><A NAME="audio_codecs">2.2.2 音频编解码器 </A></H3>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
263
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
264 <P>所有音频编码中最重要的是:<BR></P>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
265
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
266 <UL>
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
267 <LI>MPEG layer 2(MP2), 和layer 3(MP3)(<B>本地</B>代码,经过MMX/SSE/3DNow!优化)</LI>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
268 <LI>MPEG layer 1音频(<B>本地</B>代码,使用libavcodec)</LI>
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
269 <LI>Windows Media Audio v1, v2 (<B>本地</B>代码,使用libavcodec)</LI>
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
270 <LI>Windows Media Audio 9(WMAv3)(使用DMO DLL)</LI>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
271 <LI>AC3杜比音频(<B>本地</B>代码,经过MMX/SSE/3DNow!优化)</LI>
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
272 <LI>AC3声卡硬件处理</LI>
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
273 <LI>Ogg Vorbis音频编解码器(<B>本地</B>库)</LI>
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
274 <LI>RealAudio: DNET(低比特率的AC3), Cook, Sipro和ATRAC3</LI>
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
275 <LI>QuickTime: Qualcomm和QDesign音频编解码器</LI>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
276 <LI>Voxware音频(使用DirectShow DLL)</LI>
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
277 <LI>VIVO音频(g723,Vivo Siren)</LI>
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
278 <LI>alaw和ulaw,各种gsm,adpcm和pcm格式还有别的简单老的编解码器</LI>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
279 </UL>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
280
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
281
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
282 <H4><A NAME="software_ac3">2.2.2.1 软件AC3解码</A></H4>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
283
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
284 <P>这是含有AC3音频的文件的默认解码器。</P>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
285
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
286 <P>AC3解码器能为了2,4或者6个扬声器创建音频混合输出。当配置为6个扬声器时,这个解码器向声卡驱动提供所有AC3通道的单独的输出,
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
287 允许彻底的“环绕音效”感受而不需要使用需要hwac3解码器的外部AC3解码器。</P>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
288
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
289 <P>使用<CODE>-channels</CODE>选项可以选择输出的通道数。使用<CODE>-channels 2</CODE>获得立体声的降混频。
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
290 对于4通道的降混频(左前,右前,左环绕和右环绕),使用<CODE>-channels 4</CODE>。在这种情况下,中心通道的任何输出将与前通道均匀混合。
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
291 <CODE>-channels 6</CODE>将按照编码时的形式输出所有AC3通道-- 依次为左,右,左环绕,右环绕,中间和低频效果。</P>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
292
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
293 <P>默认的输出通道数是2。</P>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
294
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
295 <P>为使用超过2个通道的输出,你需要使用OSS,和一块能通过SNDCTL_DSP_CHANNELS ioctl支持适当输出通道数的声卡。合适的驱动的一个例子是
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
296 2001年8月的或者更新的emu10k1(用于Soundblaster Live!卡)(ALSA的CVS应该也能工作)。</P>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
297
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
298
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
299 <H4><A NAME="hardware_ac3">2.2.2.2 硬件AC3解码</A></H4>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
300
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
301 <P>你需要一个AC3兼容声卡,加上数字输出(SP/DIF)。声卡的驱动必须正确地支持AFMT_AC3格式(C-Media就支持)。把你的AC3解码器连接到SP/DIF输出,
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
302 然后使用<CODE>-ac hwac3</CODE>选项。这还在试验阶段但已经知道能用于C-Media声卡,使用ALSA驱动(但不能是OSS)的Soundblaster Live!
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
303 还有DXR3/Hollywood+ MPEG译码卡。</P>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
304
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
305
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
306 <H4><A NAME="libmad">2.2.2.3 libmad支持</A></H4>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
307
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
308 <P><A HREF="http://mad.sourceforge.net">libmad</A>是多平台的MPEG音频解码库。它不能很好的处理损坏的文件,而且有时候搜索也有问题。</P>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
309
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
310 <P>为了支持它,加上<CODE>--enable-mad</CODE>配置选项编译。</P>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
311
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
312
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
313 <H4><A NAME="vivo_audio">2.2.2.4 VIVO音频</A></H4>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
314
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
315 <P>VIVO文件的使用的音频编码取决于它是VIVO/1.0还是VIVO/2.0。VIVO/1.0文件使用<B>g.723</B>音频,而VIVO/2.0文件使用<B>Vivo Siren</B>音频。
9614
05b3a03fdd8f Sync by <hephooey@fastmail.fm>.
diego
parents: 9512
diff changeset
316 这两种音频现在都支持。</P>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
317
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
318
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
319 <H4><A NAME="realaudio">2.2.2.5 RealAudio</A></H4>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
320
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
321 MPlayer支持解码几乎所有版本的RealAudio:
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
322
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
323 <UL>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
324 <LI>RealAudio DNET -- 解码由<B>liba52</B>支持</LI>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
325 <LI>RealAudioCook/Sipro -- 解码由<B>RealPlayer库</B>支持</LI>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
326 <LI>RealAudio atrc -- 解码尚未支持</LI>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
327 </UL>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
328
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
329 <P>至于如何安装RealPlayer库,参见<A HREF="formats.html#real">RealMedia文件格式</A>部分。</P>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
330
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
331 <H4><A NAME="qdesign">2.2.2.6 QDesign编解码器</A></H4>
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
332
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
333 <P>QDesign音频流(fourcc: <I>QDMC</I>, <I>QDM2</I>)出现在MOV/QT文件中。两个版本的编码格式都可以用QuickTime的库解码。
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
334 安装步骤参见<A HREF="#sorenson">Sorenson视频编解码器</A>部分。</P>
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
335
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
336
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
337 <H4><A NAME="qclp">2.2.2.7 Qualcomm编解码器</A></H4>
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
338
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
339 <P>Qualcomm音频流(fourcc: <I>Qclp</I>)出现在MOV/QT文件中。它可以用QuickTime库解码。
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
340 安装步骤参见<A HREF="#sorenson">Sorenson视频编解码器</A>部分。</P>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
341
9869
49f639c73367 Translation update
luran
parents: 9815
diff changeset
342 <H4><A NAME="aac">2.2.2.8 AAC编解码器</A></H4>
49f639c73367 Translation update
luran
parents: 9815
diff changeset
343
49f639c73367 Translation update
luran
parents: 9815
diff changeset
344 <P>AAC(Advanced Audio Coding)是MOV和MP4文件有时使用的编码格式,<A
49f639c73367 Translation update
luran
parents: 9815
diff changeset
345 HREF="http://www.audiocoding.com/">AudioCoding.com</A>有一个叫FAAD的开放源代码的解码器提供下载,你可以
49f639c73367 Translation update
luran
parents: 9815
diff changeset
346 在他们的<A HREF="http://www.audiocoding.com/download.php">下载页</A>找到第二代解码器FAAD2,不幸的
49f639c73367 Translation update
luran
parents: 9815
diff changeset
347 是FAAD2 1.1在Linux下面无法编译,所以你必须使用CVS版本,这样做:</P>
49f639c73367 Translation update
luran
parents: 9815
diff changeset
348
49f639c73367 Translation update
luran
parents: 9815
diff changeset
349 <OL>
49f639c73367 Translation update
luran
parents: 9815
diff changeset
350 <LI>cvs -d:pserver:anonymous@cvs.audiocoding.com:/cvsroot/faac login</LI>
49f639c73367 Translation update
luran
parents: 9815
diff changeset
351 <LI>cvs -z3 -d:pserver:anonymous@cvs.audiocoding.com:/cvsroot/faac co faad2</LI>
49f639c73367 Translation update
luran
parents: 9815
diff changeset
352 <LI>cd faad2/</LI>
49f639c73367 Translation update
luran
parents: 9815
diff changeset
353 <LI>chmod +x bootstrap</LI>
49f639c73367 Translation update
luran
parents: 9815
diff changeset
354 <LI>./bootstrap</LI>
10045
diego
parents: 9869
diff changeset
355 <LI>./configure</LI>
9869
49f639c73367 Translation update
luran
parents: 9815
diff changeset
356 <LI>make</LI>
49f639c73367 Translation update
luran
parents: 9815
diff changeset
357 <LI>make install</LI>
49f639c73367 Translation update
luran
parents: 9815
diff changeset
358 </OL>
49f639c73367 Translation update
luran
parents: 9815
diff changeset
359
49f639c73367 Translation update
luran
parents: 9815
diff changeset
360 <P>audiocoding.com不提供二进制版本,但你可以用apt-get从<A
49f639c73367 Translation update
luran
parents: 9815
diff changeset
361 HREF="http://marillat.free.fr/">Christian Marillat的主页</A>下载Debian的安装包或者从<A
49f639c73367 Translation update
luran
parents: 9815
diff changeset
362 HREF="http://plf.zarb.org/">P.L.F</A>下载Mandrake的RPM。</P>
49f639c73367 Translation update
luran
parents: 9815
diff changeset
363
49f639c73367 Translation update
luran
parents: 9815
diff changeset
364
49f639c73367 Translation update
luran
parents: 9815
diff changeset
365
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
366 <H3><A NAME="importing">2.2.3 Win32解码器导入HOWTO</A></H3>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
367
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
368
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
369 <H4><A NAME="importing_vfw">2.2.3.1 VFW编解码器</A></H4>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
370
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
371 <P>VFW(Video for Windows)是Windows的老的视频API。它的解码器以.DLL或者(很少的).DRV为扩展名。
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
372 如果MPlayer无法播放你的AVI并显示这种信息:</P>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
373
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
374 <P>&nbsp;&nbsp;&nbsp;&nbsp;<CODE>UNKNOWN video codec: HFYU (0x55594648)</CODE></P>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
375
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
376 <P>它意味着你的AVI在编码时使用了HFYU fourcc(HFYU = HuffYUV codec,DIV3 = DivX Low Motion,等等...)
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
377 的编码格式。现在你知道了,你必须查明Windows为了播放这个文件装载了哪一个DLL。在我们的情况下,
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
378 <CODE>system.ini</CODE>在这样的一行上包含这个信息:</P>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
379
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
380 <P>&nbsp;&nbsp;&nbsp;&nbsp;<CODE>VIDC.HFYU=huffyuv.dll</CODE></P>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
381
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
382 <P>因此,你需要<CODE>huffyuv.dll</CODE>文件。注意,音频解码器通过MSACM前缀指定:</P>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
383
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
384 <P>&nbsp;&nbsp;&nbsp;&nbsp;<CODE>msacm.l3acm=L3codeca.acm</CODE></P>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
385
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
386
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
387 <P>这是MP3编码格式。现在你有了所有必要的信息(fourcc,解码器文件,AVI样本),把你的解码器支持要求通过邮件提交,
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
388 并把相关文件上载到我们的FTP站点:</P>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
389
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
390 <P>&nbsp;&nbsp;&nbsp;&nbsp;<CODE>ftp://ftp.mplayerhq.hu/MPlayer/incoming/[codecname]/</CODE></P>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
391
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
392
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
393 <H4><A NAME="importing_directshow">2.2.3.2 DirectShow codecs</A></H4>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
394
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
395 <P>DirectShow是较新的视频API,比它的前辈更恶劣。对于DirectShow事情变的困难了,</P>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
396
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
397 <UL>
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
398 <LI><CODE>system.ini</CODE>不再包含需要的信息,它们被储存在注册表里,此外。</LI>
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
399 <LI>我们需要解码器的的GUID。</LI>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
400 </UL>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
401
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
402 <P><B>新方法:</B>使用微软的GraphEdit(快速)</P>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
403 <OL>
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
404 <LI>从DirecX SDK或者<A HREF="http://doom9.org">Doom9</A>中取得GraphEdit。</LI>
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
405 <LI>运行<CODE>graphedit.exe</CODE>。</LI>
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
406 <LI>从菜单中选择Graph -&gt; Insert Filters。</LI>
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
407 <LI>展开<CODE>DirectShow Filters</CODE>项目。</LI>
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
408 <LI>选择正确的解码器名称然后展开项目。/LI>
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
409 <LI>在<CODE>DisplayName</CODE>一项中看反斜杠后面花括号里面的文字并把它记下来(小短横分隔开的五块,就是GUID)。</LI>
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
410 <LI>解码器的二进制文件是<CODE>Filename</CODE>项里指定的文件。</LI>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
411 </OL>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
412
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
413 <P><B>注意:</B>如果没有<CODE>Filename</CODE>项而<CODE>DisplayName</CODE>中包含类似<CODE>device:dmo</CODE>的东西,
9268
a76b8962c0bd Sync by Lu Ran <hephooey@fastmail.fm>.
diego
parents: 9080
diff changeset
414 那么这是一个DMO-Codec。</P>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
415 <P><B>老方法:</B>做个深呼吸然后开始搜索注册表...</P>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
416
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
417 <OL>
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
418 <LI>运行<CODE>regedit</CODE>。</LI>
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
419 <LI>按<CODE>Ctrl-f</CODE>,禁用头两个复选框,填写解码器的fourcc(例如TM20)。</LI>
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
420 <LI>你应该看见一个包含路径和文件名的域(例如<CODE>C:\WINDOWS\SYSTEM\TM20DEC.AX</CODE>)。</LI>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
421 <LI>现在你找到了文件,我们需要GUID。尝试再次搜索,但现在搜索解码器的名称,fourcc。用媒体播放器播放文件时,
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
422 察看File -&gt; Properties -&gt; Advanced可以获得解码器名。如果没有,你真不走运。猜猜看吧(例如搜索TrueMotion)。</LI>
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
423 <LI>如果找到GUID你将看见FriendlyName和CLSID域。写出16字节CLSID,这就是我们需要的GUID。</LI>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
424 </OL>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
425
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
426 <P><B>注意:</B>如果搜索失败,试试选上所有的复选框。你可能找到错误的内容,不过说不定你会走运...</P>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
427
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
428 <P>现在你有所有必要的信息(fourcc,GUID,解码器文件,AVI样本),把你的解码器支持要求通过邮件提交,并把相关文件上载到我们的FTP站点</P>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
429
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
430 <P>&nbsp;&nbsp;&nbsp;&nbsp;<CODE>ftp://ftp.mplayerhq.hu/MPlayer/incoming/[codecname]/</CODE></P>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
431
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
432 </BODY>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
433 </HTML>