From fd8687ce8ab8a52d17a60d9f4161977c79592276 Mon Sep 17 00:00:00 2001 From: kraymer Date: Mon, 18 Dec 2006 15:24:55 +0000 Subject: remove outdated html docs, Chinese translation git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@21668 b3059339-0415-0410-9bf9-f77b7e298cf2 --- DOCS/zh/bugreports.html | 235 ----- DOCS/zh/cd-dvd.html | 187 ---- DOCS/zh/codecs.html | 433 --------- DOCS/zh/documentation.html | 1599 --------------------------------- DOCS/zh/encoding.html | 240 ----- DOCS/zh/faq.html | 628 ------------- DOCS/zh/formats.html | 231 ----- DOCS/zh/skin.html | 646 ------------- DOCS/zh/sound.html | 655 -------------- DOCS/zh/users_against_developers.html | 118 --- DOCS/zh/video.html | 1094 ---------------------- 11 files changed, 6066 deletions(-) delete mode 100644 DOCS/zh/bugreports.html delete mode 100644 DOCS/zh/cd-dvd.html delete mode 100644 DOCS/zh/codecs.html delete mode 100644 DOCS/zh/documentation.html delete mode 100644 DOCS/zh/encoding.html delete mode 100644 DOCS/zh/faq.html delete mode 100644 DOCS/zh/formats.html delete mode 100644 DOCS/zh/skin.html delete mode 100644 DOCS/zh/sound.html delete mode 100644 DOCS/zh/users_against_developers.html delete mode 100644 DOCS/zh/video.html diff --git a/DOCS/zh/bugreports.html b/DOCS/zh/bugreports.html deleted file mode 100644 index dcb29c38db..0000000000 --- a/DOCS/zh/bugreports.html +++ /dev/null @@ -1,235 +0,0 @@ - - - - - Bug报告 -- MPlayer -- Linux下的电影播放器 - - - - - - - -

附录B -- 如何报告bug

- -

好的bug报告对任何软件项目的发展都是十分有价值的贡献。但是就象写好的软件一样,好的问题报告也需要一些工作。请明白大多数开发者忙的要死并且会收到 -多的变态的电子邮件。所以尽管你的反馈对改进MPlayer至关重要而且非常值得赞赏,希望你理解你必须提供我们需要的所有信息并且严格遵循这个 -文件中的指导进行。

- - -

B.1 如何修复bug

- -

如果你觉得你有足够的技巧欢迎你尝试自己修正bug。还是你已经这么干了?请阅读这个简短的文件了解怎样让你的代码 -包括到MPlayer的代码中。如果你有问题可以从加入mplayer-dev-eng -邮件列表的人那里获得帮助。

- - -

B.2 如何报告bug

- -

首先,请先尝试MPlayer最新的CVS版本,因为你的bug在那里可能已经被修正了。发展过程进展的相当快,官方发行版的大部分问题在几天甚至几小时之内 -就被报告了,因此请仅仅使用CVS来报告bug。这包括MPlayer的二进制安装包,请不要报告MPlayer的各种RPM变种和Debian安装包的bug。CVS指 -令能在这个页面的底部或者README中找到。如果这样做没有改进那么请查阅已知的bug和文件的其他部分。如果你的问题我们没有提到或者按照我们提供的步骤没有解决,那么请报告bug。

- -

请不要私下单独向开发者报告bug。这是一项社区工作所以可能有若干人都对它感兴趣。有时其它用户已经遇到过你的麻烦并且知道如何绕过这个问题 -即使它是MPlayer代码中的bug。

- -

请尽可能详细的描述你的问题。做一些小的侦探工作来确定问题发生的情况的范围。这个bug只在一定的情况中出现吗?或是具体针对特定文件或者文件类型吗? -它是针对于唯一的编码格式还是独立于编码格式的?你能用所有的输出驱动重现它吗?你提供的信息越多我们的修复你的问题的机会就越大。别忘了也要包括下面所要求的 -有价值的信息,否则我们将无法正确分析你的问题。

- -

有篇文采飞扬的关于如何在公共论坛上提问的极好的指导是Eric S. Raymond写的How To Ask Questions The Smart Way。还有另一篇Simon Tatham写的如何有效的报告Bugs。 -按照那些指示做是没有问题的。但是请明白我们大家都在我们的自由时间自愿地回复邮件列表。我们十分忙碌并且 -不能保证你的问题一定能得到解决甚至得到回复。

- - -

B.3 向哪里报告错误?

- -

订阅mplayer-users邮件列表:
-     http://mplayerhq.hu/mailman/listinfo/mplayer-users
- 同时,把你的bug发送到:
-     mplayer-users@mplayerhq.hu

- -

这个列表使用的语言是英语。请遵循标准的网络礼节指导并且不要发送HTML邮件 -到任何我们的邮件列表。你将被忽略或者封掉。如果你不知道什么是HTML邮件,以及它为什么邪恶,看看这篇写的不错的文档。它解释了所有细节和关掉HTML的指令。也请注意到我们不会个别地CC(抄送)给人因此 -最好通过订阅来保证你会收到答案。

- - -

B.4 报告什么?

- -

你可能需要在你的bug报告中包括log,配置或者样本文件。如果它们中间有什么特别大的,最好把它们以压缩格式(最好是gzip或bzip2) -上载到我们的FTP服务器上。我们的邮件列表上一条消息大小限制是80k, -如果你有比这更大的东西请压缩或上载它。

- -

B.4.1 系统信息

- - - - -

B.4.2 硬件和驱动

- - - - -

B.4.3 配置问题

- -

如果你在运行./configure时有问题,或者什么东西的自动检测失败,检查configure.log。你可能会在那里找到 -答案,比如你的机器上存在同一个库的多个版本混合存在的问题。或者你忘记安装开发包(那些-dev后缀的)。如果你认为有bug,在你的bug报告 -中附上configure.log

- - -

B.4.4 编译问题

- -请附上下列文件: - - - -如果编译失败发生在下面的目录,附上这些文件: - - - -

B.4.5 播放的问题

- -

请包括MPlayer的冗长水平为1的输出,但是记住当你把它粘贴到你的邮件中时不要删减输出内容。开发者们需要所有的信息来正确的分析问题。 -你可以像这样把输出导入到一个文件中:

- -

    mplayer -v [options] [filename] > mplayer.log 2>&1

- -

如果你的问题是具体对于一个或更多的文件的,那么请上传有问题的文件:

- -

    ftp://mplayerhq.hu/MPlayer/incoming/

- -

再上传一个小的同样文件名的文本文件加上.txt的扩展名。在其中描述对于这个特别的文件你遇到的问题加上你的电子邮件地址还有MPlayer冗长水平为1的输出。 -通常文件的前1-5MB足以重现问题,但为了以防万一我们要求你运行:

- -

    dd if=yourfile of=smallfile bs=1024k count=5

- -

它将截取'your-file'的头5兆并把他们写到'small-file'里。然后,测试一下这个小文件,如果bug仍然存在那么你的样本 -对我们来说是足够了。请永远不要通过邮件的发送这样文件!把它上传,然后只发送FTP-server上的文件的路径与文件名。如果文件在网上可以获得, -那么发送准确的URL就足够了。

- - -

B.4.6 崩溃

- -

你应该在gdb里面运行MPlayer并把完整的输出发送给我们,或者你有一个崩溃产生的core dump,你可以从Core文件中提取 -有用的信息,下面教你怎么做:

- -

如果你的崩溃有一个core dump那么继续阅读下一段,否则跳过它。

- -

B.4.6.1 如何保存一个可重复的崩溃的信息

- -开启调试代码重新编译MPlayer: - -

    ./configure --enable-debug=3
-     make

- -然后用gdb运行MPlayer: - -

    gdb mplayer

- -现在你在gdb内。输入: - -

    run -v [options-to-mplayer] filename

- -然后再现你的崩溃。一旦你成功了,gdb将回到命令行,你需要输入 - -

    bt
-     disass $pc-32 $pc+32
-     info all-registers

- -

B.4.6.2 如何从一个core dump中提取出有意义的信息

- -

请建立下面的命令文件:

- -

bt
- disass $pc-32 $pc+32
- info all-registers

- -

然后直接在你的命令行下执行下列命令:

- -

    gdb mplayer --core=core -batch --command=command_file > mplayer.bug

- - -

B.5 我知道我在干什么...

- -

如果你按照上述步骤建立了一个正确的bug报告而且你充满信心它是MPlayer中的bug,而不是因为编译错误或者文件损坏的问题,你已经阅读了文档并且 -找不到解决方案,此外你的声卡驱动正常,那么你可能想要订阅mplayer-advusers列表并把你的bug报告发到那里以便得到更快更好的答案。

- 请听从我们的劝告,如果你在那里问新手级的问题或者问用户手册中已经回答过的问题,你将被忽略或者被骂而不会得到答案。
- 因此,不要骂我们并且仅仅当你确实知道你在干什么并且觉得你已经是高级MPlayer用户或者是开发者再订阅 -advusers。如果你符合这些标准找出如何 -订阅应该不难...

- - - diff --git a/DOCS/zh/cd-dvd.html b/DOCS/zh/cd-dvd.html deleted file mode 100644 index 3084b8c688..0000000000 --- a/DOCS/zh/cd-dvd.html +++ /dev/null @@ -1,187 +0,0 @@ - - - - - CD,DVD,VCD -- MPlayer -- Linux下的电影播放器 - - - - - - - -

4.1 CD/DVD光驱

- -

Linux文件摘录:

- -

现代的CD-ROM光驱能达到十分高的头速度,还有一些CD-ROM光驱能运行在被正常情况低的速度上。你考虑改变CD-ROM光驱的速度可能有若干原因:

- - - -

你能使用hdparm或一个叫setcd的程序来降低光驱的速度。它是这样工作的:

- -

    hdparm -E [speed] [cdrom device]

- -

    setcd -x [speed] [cdrom device]

- -

你也可以试试

- -

    echo current_speed:4 > /proc/ide/[cdrom device]/settings

- -

但这样你需要root权限。下面这个命令也有用处:

- -

    echo file_readahead:2000000 > /proc/ide/[cdrom device]/settings

- -

这把文件预读取设置为2MB,对于刮伤的CD-ROM有好处。如果你把这个值设置的太大,你的光驱会不停的转, -显著的降低效率。建议你同时也用hdparm调整你的CD-ROM光驱:

- -

    hdparm -d1 -a8 -u1 (cdrom device)

- -

这开启DMA存取,预读取,和IRQ unmasking(细节解释请阅读hdparm的man page)。

- -

为了优化你的CD-ROM请参考"/proc/ide/[cdrom device]/settings"。

- -

SCSI驱动器没有一个统一的设置参数的方法(你知道这样一种方法?告诉我们!) 有一种工具可以用于Plextor的SCSI驱动器

- -

FreeBSD:

- -

    Speed: cdcontrol [-f device] speed [speed]

-

    DMA: sysctl hw.ata.atapi_dma=1

- -

4.2 DVD播放

- -

可用选项的完整列表参见man page。播放标准的数字多功能碟片(DVD)的语法如下:

- -

mplayer dvd://<track> [-dvd-device <device>]

- -

示例:mplayer dvd://1 -dvd-device /dev/hdc

- -

默认的DVD设备是/dev/dvd。如果你的设置不同,作一个符号链接,或者在命令行中用-dvd-device选项 -指定一个正确的设备。

- -

新式的DVD支持(mpdvdkit2)

- -

MPlayer使用libdvdreadlibdvdcss进行DVD解密和回放。这两个库包含在MPlayer源码树的libmpdvdkit/ -子目录中,你不需要单独安装他们。我们选择这种解决方案是因为我们必须修正一个libdvdread的bug,并且给libdvdcss添加一个cracked CSS keys caching support的补丁。 -这带来极大的速度提升,因为不用在每次播放之前都破解密钥。

- -

MPlayer也能使用系统的libdvdreadlibdvdcss库,但这种解决方法推荐,因为它会导致bug,库的不兼容,并且降低速度。

- -

DVD导航菜单支持(dvdnav)

- -

通过dvdnav支持DVD导航菜单的工作已经开始,但它可能永远不会完成而且现在无人维护。谁知道,它可能还能编译过去。

- -

老式DVD支持 -- 可选

- -

如果你想从硬盘上播放编码的VOB是有用。为此要编译并安装libcss0.0.1(不要更新的)(如果MPlayer检测不到它,使用-csslib /path/to/libcss.so选项)。为了使用它你必须是root,使用一个suid root了的MPlayer二进制程序或者让MPlayer调用suid-root了的fibmap_mplayer外壳程序。

- -

DVD结构

- -

DVD盘每个扇区有2048字节附带ECC/CRC。它们经常在一个音轨上使用一个UDF文件结构,包含各种文件(小的.IFO和.BUK文件和大的 -(1GB) .VOB文件)。它们是真正的文件,可以在一个mount了的未加密的DVD的文件系统上被复制/播放。

- -

.IFO文件包含电影的导航信息(chapter/title/angle map, 语言表等等)需要它来读取和解释.VOB文件的内容(电影)。.BUK文件是它们的备份。 -它们到处使用扇区,所以你需要使用碟片上扇区的未经处理的地址类实现DVD导航菜单和内容解密。

- -

整个的老式DVD支持使用libcss所以需要一个mount了的DVD文件系统和直接的基于扇区的设备访问。不幸的是(在Linux下)你必须 -是root才能得到一个文件的扇区地址。你有以下几种选择:

- - - -

有时/dev/dvd用户不能读取,所以libdvdread的作者设计了一个模拟层把扇区地址变换为文件名 -+偏移量,用来在一个mount了的文件系统甚至硬盘上模拟直接访问。

- -

libdvdread甚至可以通过mountpoint而不是设备名,通过访问/proc/mounts查找设备名来进行直接访问, -这是为Solaris设计的,那里设备名是动态分配的。

- -

默认的DVD设备是/dev/dvd。如果你的设置不同,作一个符号链接,或者在命令行中用-dvd-device选项 -指定一个正确的设备。

- -

DVD认证

- -

新式DVD支持的认证和解密的方法是通过一个打了补丁的libdvdcss(见上面)来完成的。可以通过指定环境 -变量DVDCSS_METHOD来设置解密方法,可以设置的值为key, disk或者title

- -

如果什么都没有指定它将会尝试下列方法(默认: key, title request):

- -
    -
  1. bus key: 这个密钥在认证(一长串的ioctls和各种密钥的交换,加密的东西的混合)的过程中确定,然后在通过没有保护的 -总线之前用它加密title和disk keys(防止窃听)。需要bus key来获得加密的disk key并对其进行预解密.
  2. -
  3. cached key: MPlayer寻找已经破解的title keys,存放在~/.mplayer/DVDKeys目录下(很快;).
  4. -
  5. key: 如果没有可用的cached key,MPlayer尝试使用播放器密钥来对disk key进行解密。
  6. -
  7. disk: 如果密钥方法失败(比如:没有自带的播放器密钥),MPlayer将会使用一种暴力算法来破解disk key。 -这个过程非常消耗CPU而且需要64 MB内存(16M的32Bit的整个hash表)来存储临时数据。这种方法总能起作用(很慢)。
  8. -
  9. title request: 有了disk key以后MPlayer需要加密的title keys,它被用ioctl()储存在隐藏扇区里。 -RPC-2驱动器的地区保护在这一步实现,所以在这样的驱动器上可能会失败。如果成功的话,将使用bus和disk key对title keys进行解密。
  10. -
  11. title: 这个方法在title request方法失败时使用,不依赖于与DVD驱动器的任何密钥交换。它使用一种加密破解的方法 -直接猜测title key(通过寻找已解密的VOB内容中的一种重复格式然后猜测加密部分的前几个字节是这种格式的延续)。 -这种方法也被成为"已知明文攻击"或者"DeCSSPlus"。很少的情况下,因为碟片上没有足够的加密数据来进行统计攻击或者因为密钥交换 -发生在一个title的中间,这种方法会失败。这种方法是解密一个储存在硬盘上的DVD或者在一个RPC2驱动器上读取一个地区错误的DVD -的唯一方法(很慢)。
  12. -
- -

RPC-1 DVD驱动器只保护软件设定的区域。RPC-2驱动器有一个硬件保护,只允许5个改变。如果你有一个RPC-2 DVD驱动器, -可能需要/推荐将固件升级到RPC-1。固件升级可以在这里firmware page找到。 -如果没有可用于你的设备的固件升级,使用区域设定工具来设置你的 -DVD驱动器的地区(在Linux下)。警告: 你只有5次设置地区的机会。

- - - -

4.3 VCD回放

- -

可用选项的完整列表请阅读man page。播放一个标准的Video CD(VCD)的语法如下:

- -

播放标准的Video CDs:

- -

mplayer vcd://<track> [-cdrom-device <device>]

- -

示例:mplayer vcd://2 -cdrom-device /dev/hdc

- -

默认的VCD设备是/dev/cdrom。如果你的设置不同,作一个符号链接,或者在命令行中用-cdrom-device选项 -指定一个正确的设备。

- -

注意:至少对于Plextor和一些Toshiba的SCSI CD-ROM驱动器在读取VCD的时候慢的恐怖。这是因为CDROMREADRAW ioctl在这些 -驱动器上没有完全实现。如果你有SCSI编程方面的支持,请帮助我们实现普遍的SCSI设备的VCD支持。

- -

此外你还可以使用readvcd提取VCD中的数据,并用 -MPlayer播放获得的文件。

- - -

VCD结构

- -

VCD碟片由一个或多个音轨组成:

- - - -

关于.DAT文件:

- -

在mount了的VCD的第一轨上看到的~600 MB的文件不是一个真正的文件!这是所谓的ISO通道,用来使Windows能够处理这样的 -轨道(Windows根本不允许程序直接访问未处理的设备)。在Linux下你不能复制或者播放这些文件(它们里面是些垃圾)。在Windows下 -这是可以的,因为它的iso9660驱动能模拟在这个文件中读取未处理的音轨。要播放一个.DAT文件你需要Linux版的PowerDVD中的 -内核驱动。它有一个经过修改的iso9660文件系统(vcdfs/isofs-2.4.X.o)驱动,可以通过这个.DAT影子文件模拟 -读取未处理音轨。如果你用它们的驱动来mount,你可以复制甚至用mplayer直接播放.DAT文件。但如果用Linux内核的标准的 -iso9660驱动是不会有用的!应该使用-vcd选项。另一种复制VCD的方法是新的cdfs内核驱动(不是官方内核的一部分),它能够把CD的sessions -显示成镜像文件,或者cdrdao,一个bit-by-bit的CD抓取/复制程序。

- - - - diff --git a/DOCS/zh/codecs.html b/DOCS/zh/codecs.html deleted file mode 100644 index b70f71aef3..0000000000 --- a/DOCS/zh/codecs.html +++ /dev/null @@ -1,433 +0,0 @@ - - - - - 编解码器 -- MPlayer -- Linux下的电影播放器 - - - - - - - -

2.2 支持的编解码器

- - -

2.2.1 视频编解码器

- -

检查codec status table来获得完整的,每日更新的 -列表。大部分的编解码器可以从我们的主页下载,在我们的编解码器页可以找到他们。

- - -

所有之中最重要的:

- - -

如果你有一个Win32解码器没有列出来而且目前没有被支持,请读取解码器导入HOWTO并且帮助我们添加对它的支持。

- - -

2.2.1.1 DivX4与DivX5

- -

这部分包含关于Mayo工程的DivX4和DivX5编解码器的信息,他们的第一个可用的alpha版本是 -OpenDivX 4.0 alpha 47和48。 对它们的支持以前包括在MPlayer中,并且是默认编译的。 我们也使用其后处理代码来有选择地提高MPEG1/2电影的视觉质量。 -现在我们使用我们自己的,对于所有文件类型。

- -

这个解码器的新一代产品称为DivX4,它甚至能解码以声名狼籍的DivX编解码器制作的电影! 此外,它比本地的Win32 DivX DLL快得多比但是比libavcodec慢。 -因此,不鼓励把它当解码器用。 然而,它对编码有用。 这个编解码器的缺点之一是它目前不开放源代码。

- -

DivX4Linux有两种工作方式:

- -
-
-vc odivx
-
以OpenDivX方式使用解码器。在这种情况下,它在自己的缓冲中产生YV12图象,然后由MPlayer通过libvo做色彩空间转换。(推荐,快!)
- -
-vc divx4
-
使用解码器的色彩空间转换。以这种方式你也能使用YUY2与UYVY。(很慢)
-
- -

-vc odivx方式通常更快,因为它以YV12(planar YUV 4:2:0)格式传输图象数据,这样占用少的多的总线带宽。对于packed YUV方式 -(YUY2,UYVY)使用-vc divx4方式。对于RGB模式两者速度是相同的,差别最多是你当前的色彩深度。

- -

注意:如果你的-vo驱动支持直接渲染,那么-vc divx4可以是很快甚至最快的解决方案。

- -

Divx4/5的二进制编解码器库可以从avifile或者divx.com下载,解压之后,以root权限运行./install.sh, -另外别忘了把/usr/local/lib添加到你的/etc/ld.so.conf中然后运行ldconfig

- -

想得到老的OpenDivx的核心库的CVS版本可以这样做:

- -
    -
  1. cvs -d:pserver:anonymous@cvs.projectmayo.com:/cvsroot login
  2. -
  3. cvs -d:pserver:anonymous@cvs.projectmayo.com:/cvsroot co divxcore
  4. -
  5. 核心库分为解码库和编码库必须分别编译。对于解码库,直接输入: -
    -    cd divxcore/decore/build/linux
    -    make
    -    cp libdivxdecore.so /usr/local/lib
    -    ln -s libdivxdecore.so /usr/local/lib/libdivxdecore.so.0
    -    cp ../../src/decore.h /usr/local/include
    -    
    -
  6. -
  7. 唉,对于编码库没有可用的Linux的Makefile,而且MMX优化代码只能用于Windows但你仍然可以用这个Makefile来编译它 -
    -    cd ../../../encore/build
    -    mkdir linux
    -    cd linux
    -    cp path/Makefile .
    -    make
    -    cp libdivxencore.so /usr/local/lib
    -    ln -s libdivxencore.so /usr/local/lib/libdivxencore.so.0
    -    cp ../../src/encore.h /usr/local/include
    -    
    -
  8. -
- -

如果正常安装了DivX4/DivX5,MPlayer会自动检测到它,只要正常编译就可以。如果没有检测到,你肯定没有正确安装或者配置它。

-

2.2.1.2 FFmpeg DivX/libavcodec

- -

FFmpeg包括一组开放源码的解码器包,能够以兼容方式解码以 -H263/MJPEG/RV10/DivX3/DivX4/DivX5/MP41/MP42/WMV1/WMV2/HuffYUV编码格式编码的视频流。它不仅能对其中一些进行编码, -同时提供比Win32解码器或DivX.com的DivX4/5库更高的速度!

- -

它包含很多不错的解码器,尤其重要的是MPEG4的几个变种:DivX 3,DivX 4,DivX 5,Windows Media Video 7(WMV1)。另外一个有趣的东西是WMA解码器。

- -

如果你使用MPlayer发行版,在你的源码包里就有libavcodec,正常编译即可。如果你使用CVS的MPlayer -那么你必须从FFmpeg的CVS树中提取libavcodec因为FFmpeg 0.4.5不能用于MPlayer。你应该这样来完成:

- -
    -
  1. cvs -d:pserver:anonymous@cvs.ffmpeg.sourceforge.net:/cvsroot/ffmpeg login
  2. -
  3. cvs -d:pserver:anonymous@cvs.ffmpeg.sourceforge.net:/cvsroot/ffmpeg co ffmpeg
  4. -
  5. libavcodec目录从FFmpeg的源代码里移到MPlayer的CVS树的根目录下。看起来应该象这样: -

        main/libavcodec

    - 符号链接是够的,你必须复制或移动它!
  6. -
  7. 编译。Configure应该在编译之前发现可能的问题。
  8. -
- -

用FFmpeg和我的Matrox G400,我甚至能在我的K6/2 500上无掉帧的观看最高分辨率的DivX电影。

- - -

2.2.1.3 XAnim解码器

- -

前言

-

-XAnim的二进制的解码器包里面有一份关于合法捆绑软件许可的声明,除其它限制之外,禁止用户用除XAnim外的任何程序使用其解码器。然而, -XAnim的作者到目前为止没有就解码器有关的问题对着任何人采取法律行动。 -

- -

安装和使用

- -

MPlayer可以使用XAnim的解码器解码。按照下列指令来开启它:

- -
    -
  1. XAnim的站点下载你想要的解码器。3ivx的解码器不在那里,而是在3ivx的站点
  2. -
  3. 或者从我们的编解码器页下载编解码器包。 -
  4. -
  5. 使用--with-xanimlibdir选项来告诉configure在何处可以找到XAnim的解码器。缺省的话,它在 -/usr/local/lib/xanim/mods, /usr/lib/xanim/mods and /usr/lib/xanim里寻找。或者你可以把XANIM_MOD_DIR环境变量 -设置为XAnim解码器所在的目录。
  6. -
  7. 给文件改名/做符号链接,去掉代表平台构架之类的东西,让他们看起来像这样:vid_cvid.xa, vid_h263.xa, vid_iv50.xa
  8. -
- -

XAnim属于视频编解码器族xanim,所以你可能需要使用-vfm xanim

- -

测试过的解码器包括:Indeo 3.24.15.0CVID3ivXh263

- - -

2.2.1.4 VIVO视频

- -

MPlayer能播放Vivo(1.0和2.0)视频。对于1.0的文件最适合的解码器是FFmpeg的H263解码器,你可以用-vc ffh263选项来 -使用它。对于2.0个文件,使用-vc vivo命令来调用Win32 DLL。如果你没有添加命令行选项MPlayer将自动选择最好的解码器。

- - -

2.2.1.5 MPEG 1/2视频

- -

MPEG1和MPEG2用本地的多平台的libmpeg2库解码,其源代码被包括在MPlayer中。对于buggy的MPEG 1/2视频文件我们 -通过截获Signal 11 (Segmentation fault),然后迅速再次初始化解码器,从失败的地方继续的方法来处理。这种 -恢复技术会带来无法估量的速度损失。

- - -

2.2.1.6 MS Video1

- -

这是微软的又老又差的编码格式。过去它用msvidc32.dll的Win32解码器解码,现在我们有我们自己的开放源码的实现(由Mike Melanson提供)。

- - -

2.2.1.7 Cinepak CVID

- -

MPlayer默认将使用自己的开源的,多平台的Cinepak解码器(由Dr. Tim Ferguson提供)。它支持YUV输出,所以只要硬件驱动允许它将使用硬件缩放。

- - -

2.2.1.8 RealVideo

- -MPlayer支持所有版本的RealVideo的解码: - - - -

推荐下载并安装RealPlayer8或者RealONE,因为MPlayer能使用他们的库来解码RealVideo 2.0或者RealVideo 3.0的视频文件。 -MPlayer的配置脚本应该会在一个完全安装的RealPlayer的标准位置找到它的库。如果它没找到,用--with-reallibdir -选项告诉configure到哪里去找。

- -

注意:RealPlayer库目前只能用于x86平台上的Linux,FreeBSD,NetBSD和Cygwin,和Alpha以 -及PowerPC(经过Linux/Alpha和Linux/PowerPC测试)平台。

- -

2.2.1.9 XviD

- -

XviDOpenDivX编解码器的开发分支。故事发生在Mayo工程把OpenDivX变成封闭 -源码的DivX4的时候,那些从事于OpenDivX的非Mayo工程的人们感到愤怒,于是开始了XviD。所以两个项目有相同的起源。

- -

优点

- - - -

缺点

- - - -

安装XVID CVS

- -

XViD目前只能从CVS中得到。这是下载和安装的指令(你至少需要autoconf 2.50, automake和libtool):

- -
    -
  1. cvs -z3 -d:pserver:anonymous@cvs.xvid.org:/xvid login
  2. -
  3. cvs -z3 -d:pserver:anonymous@cvs.xvid.org:/xvid co xvidcore
  4. -
  5. cd xvidcore/build/generic
  6. -
  7. ./bootstrap.sh
  8. -
  9. ./configure
    - 你可以加上一些选项(查看./configure --help的输出).
  10. -
  11. make && make install
  12. -
  13. 如果你设置了--enable-divxcompat,把xvidcore/src/里面 -的divx4.h头文件复制到/usr/local/include/
  14. -
  15. 加上--with-xvidcore=/path/to/libcore.a选项重新编译MPlayer。
  16. -
- - -

2.2.1.10 Sorenson

- -

Sorenson是Sorenson Media开发的一个视频编解码器族,授权给苹果公司在它们的QuickTime播放器中使用。 -我们目前可以使用下列解码器解码所有的Sorenson视频文件:

- - - -

编译支持QUICKTIME库的SUPPORT

- -

注意:目前只支持32位的Intel平台。

- -
    -
  1. 下载MPlayer CVS
  2. -
  3. 用下面参数编译MPlayer:
    - $ ./configure --enable-qtx-codecs
  4. -
  5. 在这里下载QuickTime DLL包http://www.mplayerhq.hu/MPlayer/releases/codecs/
  6. -
  7. 把QuickTime DLL包解压到你的Win32编解码器目录(默认:/usr/lib/codecs)
  8. -
- -

2.2.2 音频编解码器

- -

所有音频编码中最重要的是:

- - - - -

2.2.2.1 软件AC3解码

- -

这是含有AC3音频的文件的默认解码器。

- -

AC3解码器能为了2,4或者6个扬声器创建音频混合输出。当配置为6个扬声器时,这个解码器向声卡驱动提供所有AC3通道的单独的输出, -允许彻底的“环绕音效”感受而不需要使用需要hwac3解码器的外部AC3解码器。

- -

使用-channels选项可以选择输出的通道数。使用-channels 2获得立体声的降混频。 -对于4通道的降混频(左前,右前,左环绕和右环绕),使用-channels 4。在这种情况下,中心通道的任何输出将与前通道均匀混合。 --channels 6将按照编码时的形式输出所有AC3通道-- 依次为左,右,左环绕,右环绕,中间和低频效果。

- -

默认的输出通道数是2。

- -

为使用超过2个通道的输出,你需要使用OSS,和一块能通过SNDCTL_DSP_CHANNELS ioctl支持适当输出通道数的声卡。合适的驱动的一个例子是 -2001年8月的或者更新的emu10k1(用于Soundblaster Live!卡)(ALSA的CVS应该也能工作)。

- - -

2.2.2.2 硬件AC3解码

- -

你需要一个AC3兼容声卡,加上数字输出(SP/DIF)。声卡的驱动必须正确地支持AFMT_AC3格式(C-Media就支持)。把你的AC3解码器连接到SP/DIF输出, -然后使用-ac hwac3选项。这还在试验阶段但已经知道能用于C-Media声卡,使用ALSA驱动(但不能是OSS)的Soundblaster Live! -还有DXR3/Hollywood+ MPEG译码卡。

- - -

2.2.2.3 libmad支持

- -

libmad是多平台的MPEG音频解码库。它不能很好的处理损坏的文件,而且有时候搜索也有问题。

- -

为了支持它,加上--enable-mad配置选项编译。

- - -

2.2.2.4 VIVO音频

- -

VIVO文件的使用的音频编码取决于它是VIVO/1.0还是VIVO/2.0。VIVO/1.0文件使用g.723音频,而VIVO/2.0文件使用Vivo Siren音频。 -这两种音频现在都支持。

- - -

2.2.2.5 RealAudio

- -MPlayer支持解码几乎所有版本的RealAudio: - - - -

至于如何安装RealPlayer库,参见RealMedia文件格式部分。

- -

2.2.2.6 QDesign编解码器

- -

QDesign音频流(fourcc: QDMC, QDM2)出现在MOV/QT文件中。两个版本的编码格式都可以用QuickTime的库解码。 -安装步骤参见Sorenson视频编解码器部分。

- - -

2.2.2.7 Qualcomm编解码器

- -

Qualcomm音频流(fourcc: Qclp)出现在MOV/QT文件中。它可以用QuickTime库解码。 -安装步骤参见Sorenson视频编解码器部分。

- -

2.2.2.8 AAC编解码器

- -

AAC(Advanced Audio Coding)是MOV和MP4文件有时使用的编码格式,AudioCoding.com有一个叫FAAD的开放源代码的解码器提供下载,你可以 -在他们的下载页找到第二代解码器FAAD2,不幸的 -是FAAD2 1.1在Linux下面无法编译,所以你必须使用CVS版本,这样做:

- -
    -
  1. cvs -d:pserver:anonymous@cvs.audiocoding.com:/cvsroot/faac login
  2. -
  3. cvs -z3 -d:pserver:anonymous@cvs.audiocoding.com:/cvsroot/faac co faad2
  4. -
  5. cd faad2/
  6. -
  7. chmod +x bootstrap
  8. -
  9. ./bootstrap
  10. -
  11. ./configure
  12. -
  13. make
  14. -
  15. make install
  16. -
- -

audiocoding.com不提供二进制版本,但你可以用apt-get从Christian Marillat的主页下载Debian的安装包或者从P.L.F下载Mandrake的RPM。

- - - -

2.2.3 Win32解码器导入HOWTO

- - -

2.2.3.1 VFW编解码器

- -

VFW(Video for Windows)是Windows的老的视频API。它的解码器以.DLL或者(很少的).DRV为扩展名。 -如果MPlayer无法播放你的AVI并显示这种信息:

- -

    UNKNOWN video codec: HFYU (0x55594648)

- -

它意味着你的AVI在编码时使用了HFYU fourcc(HFYU = HuffYUV codec,DIV3 = DivX Low Motion,等等...) -的编码格式。现在你知道了,你必须查明Windows为了播放这个文件装载了哪一个DLL。在我们的情况下, -system.ini在这样的一行上包含这个信息:

- -

    VIDC.HFYU=huffyuv.dll

- -

因此,你需要huffyuv.dll文件。注意,音频解码器通过MSACM前缀指定:

- -

    msacm.l3acm=L3codeca.acm

- - -

这是MP3编码格式。现在你有了所有必要的信息(fourcc,解码器文件,AVI样本),把你的解码器支持要求通过邮件提交, -并把相关文件上载到我们的FTP站点:

- -

    ftp://upload.mplayerhq.hu/MPlayer/incoming/[codecname]/

- - -

2.2.3.2 DirectShow codecs

- -

DirectShow是较新的视频API,比它的前辈更恶劣。对于DirectShow事情变的困难了,

- - - -

新方法:使用微软的GraphEdit(快速)

-
    -
  1. 从DirecX SDK或者Doom9中取得GraphEdit。
  2. -
  3. 运行graphedit.exe
  4. -
  5. 从菜单中选择Graph -> Insert Filters。
  6. -
  7. 展开DirectShow Filters项目。
  8. -
  9. 选择正确的解码器名称然后展开项目。/LI> -
  10. DisplayName一项中看反斜杠后面花括号里面的文字并把它记下来(小短横分隔开的五块,就是GUID)。
  11. -
  12. 解码器的二进制文件是Filename项里指定的文件。
  13. -
- -

注意:如果没有Filename项而DisplayName中包含类似device:dmo的东西, -那么这是一个DMO-Codec。

-

老方法:做个深呼吸然后开始搜索注册表...

- -
    -
  1. 运行regedit
  2. -
  3. Ctrl-f,禁用头两个复选框,填写解码器的fourcc(例如TM20)。
  4. -
  5. 你应该看见一个包含路径和文件名的域(例如C:\WINDOWS\SYSTEM\TM20DEC.AX)。
  6. -
  7. 现在你找到了文件,我们需要GUID。尝试再次搜索,但现在搜索解码器的名称,fourcc。用媒体播放器播放文件时, -察看File -> Properties -> Advanced可以获得解码器名。如果没有,你真不走运。猜猜看吧(例如搜索TrueMotion)。
  8. -
  9. 如果找到GUID你将看见FriendlyName和CLSID域。写出16字节CLSID,这就是我们需要的GUID。
  10. -
- -

注意:如果搜索失败,试试选上所有的复选框。你可能找到错误的内容,不过说不定你会走运...

- -

现在你有所有必要的信息(fourcc,GUID,解码器文件,AVI样本),把你的解码器支持要求通过邮件提交,并把相关文件上载到我们的FTP站点

- -

    ftp://upload.mplayerhq.hu/MPlayer/incoming/[codecname]/

- - - diff --git a/DOCS/zh/documentation.html b/DOCS/zh/documentation.html deleted file mode 100644 index 10f42da0ef..0000000000 --- a/DOCS/zh/documentation.html +++ /dev/null @@ -1,1599 +0,0 @@ - - - - - 文档 - MPlayer - Linux下的电影播放器 - - - - - - -

MPlayer - Linux下的电影播放器

- -

© 2000-2003 Arpad Gereoffy (A'rpi/ESP-team)
- http://www.mplayerhq.hu

- -

[汉语] - [英语] - [匈牙利语] - [德语] - [法语] - [波兰语] - [意大利语]

- -


- -

目录

- -
- - - -
- - - -

0. 如何阅读本文档

- -

如果你是首次安装:请一定要阅读从这里到安装部分结束的所有内容,并且追踪你所遇到的链接。 -如果你有任何其它问题,返回到目录并搜索主题,读取FAQ,或者尝试用grep搜索整个文件。

- -

这个文件的主要原则:如果一个功能没有被编入文档,那么它不存在。如果我没有说你能 -用电视选台器音频编码,你就不能。不过健康程度的综合能力还是受欢迎的。祝你好运。你将需要它的:), -让我引用mplayer-users邮件列表中 -Chris Phillips的话作为另一个好的建议:

- -
-“我以前说过新手和白痴之间的区别在于:无论,你实际上对一个系统(Linux,汽车,女孩:D) -了解多少,你应该总能够退一步想想并且保持客观,否则,恕我直言你是公认的白痴。跟我住在一起的女孩认定吸 -尘器坏了因为它不吸进东西,而从不想更换袋子,因为她以前从来没有做过...那就是愚蠢,而不仅仅是不 -知道做什么...仅仅因为不是那么熟悉你的环境不是你的a)懒惰和b)忽视的借口。如此多人们似乎看到“error” -就停止...只有极少数真正读取了冒号另一边的东西”。 -
- - -

1. 介绍

- -

MPlayer是Linux 上的电影播放器(也能跑在许多其它Unices上,甚至非x86CPU上, -参见移植部分)。它能使用众多的本地的,XAnim,RealPlayer,和Win32 DLL编解码器, -播放大多数MPEG,VOB,AVI,OGG,VIVO,ASF/WMV,QT/MOV,FLI,RM,NuppelVideo,yuv4mpeg,FILM,RoQ文件。 -你还能观看VideoCDSVCDDVD3ivxRealMedia,和DivX格式 -的电影(你根本不需要avifile库)。mplayer的另一个大的特色是广泛的输出设备支持。它可以在X11,Xv,DGA, -OpenGL,SVGAlib,fbdev,AAlib,DirectFB下工作,而且你也能使用GGI和SDL(由此可以使用他们支持的各种驱动模式) -和一些低级的硬件相关的驱动模式(比如Matrox,3Dfx和Radeon,Mach64,Permedia3)!他们大多数支持软件或者硬件缩放, -因此你能在全屏下观赏电影。MPlayer还支持通过硬件MPEG解码卡显示,诸如DVB -和DXR3与Hollywood+。可以使用European/ISO 8859-1,2(匈牙利语,英语,捷克语等等), -西里尔语,韩语的字体的清晰放大并且反锯齿的字幕(支持10种格式),和on screen display(OSD)你又觉得如何?

- -

这个播放器能够稳如泰山的播放被破坏的MPEG文件(对一些VCD有用),而它能播放著名的windows media player -都打不开的的坏的AVI文件。甚至,没有索引部分的AVI文件可播放,你能暂时由重建他们的索引-idx选择, -或者用MEncoder永久重建,使你能够在影片中搜索!如你所见,稳定和质量是最重要的事情,而且他的速度是也惊人的。

- -

MEncoder(MPlayer's Movie Encoder)是一个简单的电影编码器,设计用来把MPlayer可以播放的电影 -(AVI/ASF/OGG/DVD/VCD/VOB/MPG/MOV/VIV/FLI/RM/NUV/NET/PVA)编码成别的MPlayer可以播放的格式(具体列表见下面)。 -它可以使用各种编解码器进行编码,例如 -DivX4(1或2 passes),libavcodec, -PCM/MP3/VBR MP3音频。同时也有强大的插件系统用于控制视频。

- -

MEncoder的特性

- - - -

计划中的特性

- - - -

MPlayer和MEncoder按照GNU General Public License Version 2发布。

- -

1.1 历史

- -

这一年以前开始的... -我(A'rpi)已尝试Linux下的许多播放器(mtv,xmps,dvdview,livid/oms,videolan,xine,xanim,avifile,xmmp), -但是他们全都有一些问题。多半与特殊的文件或音频与视频的同步有关。他们中大多数不能同时播放MPEG1,MPEG2和AVI(DivX)文件。 -许多播放器也有图象质量或者速度的问题。因此,我已决定自己写/修改一个...

- - - -

1.2 安装

- -

在这章中我将试图指引你通过编译和配置MPlayer的过程,它不大容易的,不过也见得一定很难的。 -如果你遇到不同于我所解释的现象,请的通过搜索这篇文件来查找你的回答。如果你遇到链接,请跟踪他们并且细心读取他们包含的内容。 -它将花费一些时间,但是它确实是值得的。

- -

你需要一个相当新的系统。在Linux上,推荐2.4.x的内核。

- -

软件要求:

- -