找回密码
 注册
查看: 1514|回复: 0

MPlayer - Linux下的电影播放器05

[复制链接]
发表于 2005-4-15 12:00:22 | 显示全部楼层 |阅读模式
2.4 电视输入
这段将要如何能够使用V4L兼容的电视选台器观看与截取。电视相关的选项和键盘控制的描述请看man page。

2.4.1 编译
首先,你必须重新编译。./configure将自动检测v4l的内核头文件和/dev/video* 输入的存在。如果他们存在,电视支持将被编译(检查./configure的输出)。
确保你的选台器能被别的Linux中的电视软件使用,例如xawtv。
2.4.2 使用技巧
可用选项的完整列表在manual page中。这里只是一些使用技巧:
使用channels选项。例如:
-tv on:channels=26-MTV1,23-TV2
解释:使用这个选项,只有26和23频道可以使用,当频道切换时会有一个显示频道名的精致的OSD文字。频道名中的空格必须用"_"代替。
选择完整的图像分辨率。输出图像的分辨率必须能够被16整除。
如果你截取视频的垂直分辨率比完整分辨率的一半还高(PAL制是288,NTSC是240),确保你打开非交错选项,否则你得到的电影将在高速运动的场景中发生扭曲,而且由于交错模式产生大量的细节消耗很多带宽,比特率控制器很可能无法获得指定的比特率。你能使用-vf pp=DEINT_TYPE打开非交错选项。一般来说pp=lb工作的不错,但这可能取决于个人的设定。查看manual中的别的非交错算法,都尝试一下。
切割到无用的空间。当你截取视频时,边界区域通常时黑的或者包含一些噪音。这同样不必要的消耗了很多带宽。更精确的说不是那些黑的区域本身而是在黑的和更亮的视频图像之间的形状变换消耗带宽,但现在这并不重要。在你开始截取之前,调整crop选项的参数使所有边缘的废物都被切割掉。同时,别忘了保持完整的输出图像的分辨率。
注意CPU的工作量。它在大多数时间不应该超过90%的界限。如果你有一个大的截取的缓冲区,MEncoder可以忍受几秒钟的过载但不能再多了最好把3D的OpenGL屏保和类似的东西关掉。
不要搞乱系统时钟。MEncoder使用系统时钟进行A/V同步。如果你调试系统时钟(特别是把时间往后调),MEncoder会产生混乱而你将会丢失帧。这将是一个重要的问题如果你挂在一个网络上并且运行着某种时间同步软件比如NTP,如果你希望可靠的截取,那么在你截取的过程中你必须把NTP关掉。
不要改变outfmt除非你知道你在干什么或者你的芯片/驱动确实不支持默认值(YV12色彩空间)。在老版本的MPlayer/MEncoder 中必须指定输出格式。这个问题在现在的发行版中应该被修正而不再需要指定outfmt,默认值适合大多数应用目的。例如,你用libavcodec把截取的内容编码成DivX并指定outfmt=RGB24希望提高截取图像的质量, 所截取的图像在其后的过程中将重新转换回YV12,所以你获得的唯一效果就是消耗了大量的CPU。
要指定I420色彩空间(outfmt=i420),由于与Intel Indeo video编解码器的fourcc冲突,你必须增加一个选项-vc rawi420
有很多方法可以截取音频。你可以通过用外部电缆线将显卡和声卡的line-in连接起来,用声卡截取音频,或者使用bt878芯片内建的ADC。在后一种情况下,你需要装载btaudio驱动。阅读linux/Documentation/sound/btaudio文件(在内核的源码树中,不是MPlayer的)来了解使用这个驱动的方法。
如果MEncoder无法打开音频设备,确保它们真的可用。可能是声音服务器比如arts(KDE)或者esd(GNOME)的问题。如果你有一块全双工的声卡(现在几乎任何像样的声卡都支持它),而你又在使用KDE,检查声音服务器设置菜单中的"全双工"选项。
2.4.3 示例
伪输出,到AAlib:)
    mplayer -tv on:driver=dummy:width=640:height=480 -vo aa

从标准的V4L输入
    mplayer -tv on:driver=v4l:width=640:height=480utfmt=i420 -vc rawi420 -vo xv

一个更复杂的例子。它使用MEncoder截取完整的PAL图像,切掉边缘的空白,输出非交错图像使用线性混合算法。音频使用LAME编解码器按固定比特率 64kbps压缩。这个设置适合用来截取电影。
    mencoder -tv on:driver=v4l:width=768:height=576 \
    -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=900 \
    -oac mp3lame -lameopts cbr:br=64 \
    -vf crop=720:544:24:16,pp=lb -o output.avi

这个加上了重新缩放图像到384x288并把视频用高质量模式压缩到350kbps的比特率。vqmax选项放宽量化器从而允许视频压缩器在牺牲质量的前提下达到如此低的比特率。这可以用来截取长的电视连续剧,在那种用途下视频质量并不非常重要。
    mencoder -tv on:driver=v4l:width=768:height=576 \
    -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=350:vhq:vqmax=31:keyint=300 \
    -oac mp3lame -lameopts cbr:br=48 \
    -vf crop=720:540:24:18,pp=tn/lb,scale=384:288 -sws 1 -o output.avi
也可以在-tv选项中设置一个较小的分辨率而忽略软件缩放选项但是上面的方法使用最大的可用信息而且对噪音更有抵抗力。bt8x8芯片由于硬件的限制只能在水平方向上作点平均。

2.5 编辑决定列表(EDL)
编辑决定列表(EDL)系统允许你在播放的时候自动在视频的一部分跳过或者静音,基于一个电影相关的EDL配置文件。

这对那些想用"家庭友好"模式观赏电影的人有用。你可以根据你个人的设定从一部电影里切掉任何暴力,亵渎,Jar-Jar Binks ..的内容。除了这之外,它还有别的用途,比如自动跳过你正在观看的视频文件中的广告。

EDL文件的格式相当简陋。当EDL达到一定的成熟度的时候,可能会使用一个基于XML的文件格式(保持对原来的EDL格式的向下兼容)。

在目前的EDL实现中最大的EDL输入限制为1000。如果你碰巧需要更多,修改edl.h文件中的#define MAX_EDL_ENTRIES。

2.5.1 使用EDL文件
在你运行MPlayer的时候加上-edl <filename>参数,filename是你希望应用在视频上的EDL文件的文件名。

2.5.2 制作EDL文件
目前EDL文件的格式为:

[begin second] [end second] [action]
seconds是浮点数而action可以是0代表跳过或者1代表静音。例如:

5.3   7.1    0
15    16.7   1
420   422    0

这将跳过视频的5.3秒到7.1秒的部分,然后在15秒时静音,在16.7秒处取消静音跳过视频的从420秒到422秒的部分。这些动作将在播放计时器达到文件中指定的时间时被执行。

要创建一个用来工作的EDL文件,使用-edlout <filename>选项,在播放过程中,当你想标记将前两秒跳过时,按i。一个相应的输入将写入文件。你可以回头调整生成的EDL文件。

3. 用法

3.1 命令行

MPlayer使用一个复杂playtree格式。它包括写在最前面作为全局设置的选项(例如mplayer -vfm 5),和写在文件名之后,仅仅作用于给定的文件名或者URL或者随便什么的选项(例如mplayer -vfm 5 movie1.avi movie2.avi -vfm 4)。
你能使用{和}给文件名与URL分组。它对-loop选项很有用:mplayer { 1.avi -loop 2 2.avi } -loop 3命令将按以下顺序播放文件: 1 1 2 1 1 2 1 1 2

   单一文件    mplayer [options] [path/]filename
多个文件  mplayer [default options] [path/]filename1 [options for filename1] filename2 [options for filename2] ...
VCD  mplayer [options] vcd://trackno [-cdrom-device /dev/cdrom]
DVD  mplayer [options] dvd://titleno [-dvd-device /dev/dvd]
WWW  mplayer [options] http://site.com/file.asf(也可以使用playlist)
RTSP  mplayer [options] rtsp://server.example.com/streamName

最新版本的MPlayer也可以象Xine一样接受URL风格的VCD和DVD轨道: mplayer dvd://1或者mplayer vcd://1

  mplayer -vo x11 /mnt/Films/Contact/contact2.mpg
  mplayer vcd://2
  mplayer -afm 3 /mnt/DVDtrailers/alien4.vob
  mplayer dvd://1 -dvd-device /dev/hdc
  mplayer -abs 65536 -delay -0.4 -nobps ~/movies/test.avi

3.2 控制
MPlayer有一个完全可配置的,命令驱动的控制层使你可以键盘,鼠标,游戏杆或遥控器(使用LIRC)控制MPlayer。完整的键盘控制列表参见man page。

3.2.1 控制键的配置方法
MPlayer允许你使用一个简单的config文件把任何键或按钮绑定为任何一个MPlayer控制命令。句法是键名后加命令。缺省config文件是$HOME/.mplayer/input.conf但是-input conf 选项可以重新指定(相对路径是相对于$HOME/.mplayer的)。

例子:

##
## MPlayer input control file
##

RIGHT seek +10
LEFT seek -10
- audio_delay 0.100
+ audio_delay -0.100
q quit
> pt_step 1
< pt_step -1
ENTER pt_step 1 1

3.2.2.1 键名
运行mplayer -input keylist你将得到一个完整的列表

键盘:
Any printable character
SPACE
ENTER
TAB
CTRL
BS
DEL
INS
HOME
END
PGUP
PGDWN
ESC
RIGHT
LEFT
UP
DOWN
鼠标(只在X下支持):
MOUSE_BTN0 (左键)
MOUSE_BTN1 (右键)
MOUSE_BTN2 (中键)
MOUSE_BTN3 (滚轮)
MOUSE_BTN4 (滚轮)
...
MOUSE_BTN9
游戏杆(编译时必须打开对游戏杆的支持)
JOY_RIGHT or JOY_AXIS0_PLUS
JOY_LEFT or JOY_AXIS0_MINUS
JOY_UP or JOY_AXIS1_MINUS
JOY_DOWN or JOY_AXIS1_PLUS
JOY_AXIS2_PLUS
JOY_AXIS2_MINUS
....
JOY_AXIS9_PLUS
JOY_AXIS9_MINUS
3.2.2.2 控制命令
通过运行"mplayer -input cmdlist"你可以得到一个完整的已知命令的列表

seek (int) val [(int) type=0]
搜索电影中的某处
Type 0 是以+/-val秒搜索。
Type 1 是以电影的val%搜索

audio_delay (float) val
音频延迟val秒

quit
退出MPlayer

pause
暂停/继续playback

grap_frames
有人知道?

pt_step (int) val [(int) force=0]
选择playtree中的下一个/上一个输入。Val的符号决定方向.
如果在要求的方向上没有其他可用entry,除非force非0,否则不会做任何动作。

pt_up_step (int) val [(int) force=0]
类似pt_step但它跳转到上一级列表的下一个/上一个。用来跳出playtree的内部循环。

alt_src_step (int) val
当一种以上的source可用时选择下一个/上一个(只有asx播放列表支持).

sub_delay (float) val [(int) abs=0]
字幕延迟+/-val秒或当abs非0时跳到val秒。

osd [(int) level=-1]
切换osd模式或当level>0时把它设为level。

volume (int) dir
增加/减少音量

contrast (int) val [(int) abs=0]
brightness (int) val [(int) abs=0]
hue (int) val [(int) abs=0]
saturation (int) val [(int) abs=0]
设置/调整视频参数。Val范围从-100到100。

frame_drop [(int) type=-1]
切换/设置frame dropping模式。

sub_visibility
切换字幕是否可见。

sub_pos (int) val
调整字幕位置。

vobsub_lang
改变VobSub字幕的语言。

vo_fullscreen
切换到全屏

tv_step_channel (int) dir
选择下一个/上一个tv频道。

tv_step_norm
切换TV制式。

tv_step_chanlist
切换频道列表。

gui_loadfile
gui_loadsubtitle
gui_about
gui_play
gui_stop
gui_playlist
gui_preferences
gui_skinbrowser
GUI的行为

3.2.3 用LIRC控制
Linux红外遥控 -- 使用一个容易制作的home-brewn红外线接收器,(几乎)任意一个的遥控器然后就可以用它来控制你的Linux box了!更多内容见www.lirc.org。

如果你已安装了lirc-package,configure将自动检测到它。如果一切顺利,MPlayer在启动时将显示 "Setting up lirc support..."之类的信息。如果发生错误它将会显示。如果它不显示关于LIRC的任何信息则对LIRC的支持没有编译。就是这样:-)

MPlayer的程序名是 -- 嗯,让我想想看 -- 'mplayer'。你能使用任何mplayer命令甚至传递超过一种命令只要用\n分开他们。不要忘记当有意义的时候(搜索,音量等等),在.lircrc中开启repeat标记。这是我的.lircrc的摘录:

begin
     button = VOLUME_PLUS
     prog = mplayer
     config = volume 1
     repeat = 1
end

begin
    button = VOLUME_MINUS
    prog = mplayer
    config = volume -1
    repeat = 1
end

begin
    button = CD_PLAY
    prog = mplayer
    config = pause
end

begin
    button = CD_STOP
    prog = mplayer
    config = seek 0 1\npause
end

如果你不喜欢lirc-config文件的标准位置(~/.lircrc)使用-lircconf <filename>选项指定别的文件。

3.2.4 Slave方式
Slave方式把允许你为MPlayer建立简单的frontend。当它开启(用-slave选项)时MPlayer 将从stdin读取用new line(\n)分开的命令。

3.3 网络或管道的流媒体
MPlayer支持通过HTTP, MMS或者RTSP/RTP协议播放网络上的文件。

只要直接把URL地址加到命令行中就可以进行播放。MPlayer也支持http_proxy环境变量,并且在可能的情况下使用代理。也可以强行指定使用代理:

mplayer http_proxy://proxy.micorsops.com:3128/http://micorsops.com:80/stream.asf

MPlayer能从stdin(不称为管道)输入。例如这样能从FTP上播放:

  wget ftp://micorsops.com/something.avi -O - | mplayer -

注意:当使用网络播放功能时推荐打开cache功能:

  wget ftp://micorsops.com/something.avi -O - | mplayer -cache 8192 -

4. CD与DVD部分
Linux文件摘录:

现代的CD-ROM光驱能达到十分高的头速度,还有一些CD-ROM光驱能运行在被正常情况低的速度上。你考虑改变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使用libdvdread和libdvdcss进行DVD解密和回放。这两个库包含在MPlayer源码树的libmpdvdkit/ 子目录中,你不需要单独安装他们。我们选择这种解决方案是因为我们必须修正一个libdvdread的bug,并且给libdvdcss添加一个cracked CSS keys caching support的补丁。这带来极大的速度提升,因为不用在每次播放之前都破解密钥。

MPlayer也能使用系统的libdvdread和libdvdcss库,但这种解决方法不推荐,因为它会导致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才能得到一个文件的扇区地址。你有以下几种选择:

成为root或者使用一个suid-root的mplayer二进制程序。
让MPlayer调用suid-root的fibmap_mplayer外壳程序来访问DVD(使用通过libcss的老式DVD播放方式)。
根本不使用内核的文件系统驱动而是在用户空间重新实现它。libdvdread 0.9.x和libmpdvdkit 就是这么做的(新式DVD支持)。内核的UDF文件系统驱动是不需要的因为它们有自己内建的UDF文件系统驱动。同样DVD不需要mount 因为只需要使用直接的基于扇区的访问。
有时/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):

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

第一个轨道是一个小的2048字节/扇区的数据轨,有一个iso9660文件系统,通常包含Windows VCD播放程序可能还有其他信息 (图像,文字等等)。
第二和之后的轨道是未处理的2324字节/扇区的MPEG(电影)轨,每个扇区包含一个MPEG PS数据包而没有文件系统。音频CD的轨道也类似。这些轨道是无法被mount的(你曾经mount一个音频CD然后播放过吗?)。大部分电影都在这个轨道,所以你应该先试试 vcd://2。
有些VCD碟片没有第一个轨道(单轨道而根本没有文件系统)。它们也可以播放,但是不能mount。
关于.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抓取/复制程序。

5. FAQ部分
5.1 编译
5.2 一般问题
5.3 播放问题
5.4 视频与音频驱动问题(vo/ao)
5.5 DVD播放
5.6 特性要求
5.7 编码
5.1 编译
Q:编译停止并出现类似这样的出错信息:
    In file included from mplayer.c:34:
    mw.h: In function `mplMainDraw':
    mw.h:209: Internal compiler error in print_rtl_and_abort, at flow.c:6458
    Please submit a full bug report,
    with preprocessed source if appropriate.
   
A:这是gcc 3.0.4的一个已知的bug,升级到3.1就可以解决问题。如何安装gcc参阅gcc 2.96部分。
  
Q:Configure结束时出现这样的文字,MPlayer无法编译!
"Your gcc does not support even i386 for '-march' and '-mcpu'."
A:你的gcc没有正确的安装,细节需要查看configure.log文件。
  
Q:"No such file or directory"是什么意思?
A:有可能真的没有这样文件或目录。
  
Q:gcc2.96有什么问题?
A:我们强烈反对使用gcc 2.96!
细节参见这个文件了解为什么Red Hat发布gcc 2.96,以及它有什么问题。如果你仍然确实确实确实确实想要使用它,总是使用最新的版本并且在configure的时候加上--disable-gcc-checking选项。记住是你自己选择这条路的。一定不要报告bug,一定不要到邮件列表上寻求帮助。如果你遇到问题我们将不提供任何支持。
  
Q:好极了,那么我使用Red Hat/Mandrake的gcc 3.0.1,我没问题!
A:不,因为那些编译器同样有问题。为了了解当前的编译器对MPlayer的支持状况,参见安装部分。
  
Q:我试图编译MPlayer,但是我得到这样的输出:
    In file included from /usr/include/g++-v3/bits/std_cwchar.h:42,
                     from /usr/include/g++-v3/bits/fpos.h:40,
                     from /usr/include/g++-v3/bits/char_traits.h:40,
                     from /usr/include/g++-v3/bits/std_string.h:41,
                     from /usr/include/g++-v3/string:31,
                     from libwin32.h:36,
                     from DS_AudioDecoder.h:4,
                     from DS_AudioDec.cpp:5:
    /usr/include/wchar.h: In function Long long int wcstoq(const wchar_t*,
       wchar_t**, int)':
    /usr/include/wchar.h:514: cannot convert `const wchar_t* __restrict' to
    `const
   
A:把你的glibc升级到最新的发行版。对于Mandrake,使用2.2.4-8mdk。
  
Q:... gcc 2.96 ... (是的,有些人还在为gcc 2.96上火!)
A:我们引用A'rpi发送到mplayer-users邮件列表的一封 邮件('ideg'的意思将在下面解释):
And we have idegs. And our idegcounter overflowed again and again.

Unfortunately MPlayer is out of our control. It's used by lamers, Linux users who can't even use Windows, and never tried to compile a kernel. They installed (with default options) Mandrake or Red Hat or SuSE, and without RTFM'ing they send messages saying 'it doesn't work! help me! please! i'm new to Linux! help! oh! help me!'. We can't stop them, but at least we try to force them to RTFM and to read the messages of ./configure and MPlayer.

And you clever guys come and flame us with gcc 2.96 and binary packages. Instead of helping users or making patches to help solve problems.

Half of our spare/free time is spent by answering silly mails here and making newer tricks and checks to configure to avoid such mails.

And there is a balance. On the one side are you, clever guys, saying we are very bad because we don't like buggy gcc 2.96, and on the other side there are the 'new to Linux' guys who are showing us gcc 2.96 is buggy.

Conclusion: We can't be good. Half the people will always say we are bad.

Maybe we should close the project, make it closed source, commercial, and provide install support for it. then we could leave current work, so development could go faster, and we could earn lots of money with it and buy a big house, etc etc. Do you really want it? It seems.

Q:SDL输出不能工作或者编译。问题在...
A:SDL 1.2.x经过测试能够工作另外SDL 1.1.7+可能能工作。任何以前的版本肯定不能工作。因此如果你选择使用这样的版本,是你自己的责任。
  
Q:我在编译SDL支持的时候仍然有问题。gcc说什么"undefined reference to `SDL_EnableKeyRepeat'"。现在怎么办?
A:你把SDL库装在哪里? 如果你装在/usr/local(默认目录)中那么编辑顶层的config.mak并在"X_LIBS="之后添加"-L/usr/local/lib"。现在打make。你搞定了!
  
Q:不能编译,找不到uint64_t inttypes.h之类的东西...
A:把etc/inttypes.h复制到MPlayer目录下(cp etc/inttypes.h .)然后再试一次...
  
Q:我在Pentium III上运行Linux但是./configure 没有找到SSE...
A:只有2.4.x的内核支持SSE(或者试试2.2.19或更新的版本,但准备好出问题)。
  
Q:我有G200与G400,我如何编译使用mga_vid驱动?
A:阅读mga_vid文档。
  
Q:MPlayer有rpm/deb/...之类的安装包吗?
A:你能自己制作.deb安装包,查阅Debian安装包的制作一节。我们网站的下载页上有官方的Red Hat的RPM包的下载链接。
  
Q:在'make'时,MPlayer报告没有X11库。我不理解,我确实装了X!?
A:...但是你没有装X的开发包。或者没有正确安装。Red Hat下面它叫XFree86-devel*,Debian下面是xlibs-dev。也检查是否存在/usr/X11和/usr/include/X11的符号链接(在Mandrake系统上可能有这个问题)。他们用下列命令创建:
    $ ln -sf /usr/X11R6 /usr/X11
    $ ln -sf /usr/X11R6/include/X11 /usr/include/X11
你的发行版可能不是文件系统层次标准。
  
Q:我不能编译SVGAlib。我使用2.3/2.4的内核...
A:你必须编辑SVGAlib的Makefile.cfg把BACKGROUND = y注释掉。
  
Q:我的MPlayer编译了libdvdcss/libdivxdecore的支持,但是当我试图起动它时,它说:
> error while loading shared libraries: lib*.so.0: cannot load shared object file: No such file or directory
我检查了文件,它确实在/usr/local/lib里面...
A:在/etc/ld.so.conf里添加/usr/local/lib然后运行ldconfig。
  
Q:Hmm,奇怪。我加载mga_vid.o内核模块后在log中找到这个:
Warning: loading mga_vid.o will taint the kernel: no license
A:最新的内核modutils要求一个标明许可证的标记(主要避免内核hackers调试非开源的驱动)。升级你的内核, modutils和MPlayer。
  
Q:编译MEncoder过程中,在连接时出现segfaults!
A:这是连接程序的问题。把binutils升级应该有用(2.11.92.*或者更新版本应该不错)。由于它不是我们的问题,请一定不要报告!
  
Q:MPlayer在pthread check时因为segmentation fault而崩溃!
A:chmod 644 /usr/lib/libc.so
  
Q:我想在Minix上编译MPlayer!
A:我也想。
5.2 一般问题
Q: 我怎么给MPlayer制作合适的补丁?
A: 我们做了一个短小的文件描述了所有必要的细节。照上面的步骤做。
  
Q: 我怎么支持MPlayer的开发工作?
A: 我们非常乐于接受你的硬件和软件的捐赠。它们能帮助我们持续的改进MPlayer。
  
Q: 我怎么成为MPlayer的开发者?
A: 我们总是欢迎写程序的和写文档的。先阅读技术文档来有个大致了解。然后你应该订阅mplayer-dev-eng邮件列表并开始编程。
  
Q:我能同时运行多个MPlayer实例吗?
A:是的。有些视频输出的驱动像xv,dga或者(x)mga是唯一的,所以你将不能够运行超过一个使用这样的视频输出驱动的MPlayer实例。音频驱动也在不是很严重的程度上存在这种问题。并非所有的驱动都允许在同样的设备上播放多重流。
  
Q:在左上角中有一个计时器。我怎么能去掉它?
A:按o或者使用-osdlevel选项。
  
Q:-xy或者-fs选项对x11驱动(-vo x11)不起作用...
A:它能起作用,但你必须用-zoom选项明确指定使用软件缩放(十分缓慢)。你最好是使用XF86VidMode支持:你必须指定-vm和-fs选项,然后就搞定了。确保在你的XF86Config文件中有正确设定了modelines,并且尝试使用DGA驱动以及SDL的DGA驱动。它快得多。如果SDL的DGA能工作就用它,它还要更快。
  
Q:状态行上的数字的是什么意思?
A:例如: A: 2.1 V: 2.2 A-V: -0.167 ct: 0.042 57/57 41% 0% 2.6% 0 4 49%
A:以秒计算的音频位置
V:以秒计算的视频位置
A-V:以秒计算的音频视频位置差(延迟)
ct:所有完成的A-V同步纠正
播放的帧数(从最后一次搜索开始计算)
解码的帧数(从最后一次搜索开始计算)
视频解码器占用的cpu的百分比(对于slice和DR这包括了视频输出的占用)
视频输出的cpu占用
音频解码器占用的cpu的百分比
为保持A-V同步而丢弃的帧数
目前图像后处理的级别(当使用-autoq时)
当前cache使用量(大约50%是正常的)
他们中大多数是为了调试的,将在适当时候去掉。
  
Q:我不想要他们出现怎么办?
A:使用-quiet选项并阅读man page。
  
Q:为什么有些文件的视频输出的cpu占用是零(0%)?
A1:它不是零,但它是由解码器调用的不能被单独测量。你应该试着先用-vo null播放文件然后用-vo ...播放,检查它们的不同来查看视频速度。
A2:你使用了直接渲染,那是由解码器自己渲染显存。在这种情况下,解码占用的百分比也包含了显示占用的百分比。
  
Q:出现关于在/usr/lib/codecs/下找不到文件的错误...
A:从我们的编解码器页下载Win32编解码器(跟avifile的解码器包里的DLL不一样)并安装它。
  
Q:有关于MPlayer的邮件列表吗?
A:有的。看我们的主页的信息页的底部来订阅。
  
Q:当我试图播放我最喜爱的视频时,我发现一个讨厌的bug!我应该报告谁?
A:请阅读bug报告指导并按照上面的步骤做。
  
Q:我用...编解码器播放文件的时候有问题。我能使用它们吗?
A:查阅编解码器状态,如果它不包含你的解码器,阅读编解码器文件,特别是编解码器导入HOWTO然后联系我们。
  
Q:Umm,"IdegCounter"是什么东东?
A:匈牙利语和英语的结合。匈牙利语"Ideg"是神经质的意思,发音类似于“ydaegh”。它最初用来度量A'rpi神经质,在一些CVS的代码(umm)“神秘的”消失之后;)
  
Q:"Faszom(C)ounter"又是什么?
A:“Fasz”是你不会想要知道的匈牙利词汇,其他的跟MPlayer开发者们的邪恶的脑袋有关。
  
Q:LIRC不工作,因为...
A:你明确你使用的是mplayer而不是mplayer-lirc吗? 注意,mplayer_lirc 使用了很长时间,包括0.60的发行版,但是它最近又变成mplayer了。
  
Q:字幕非常不错,是我见过的最漂亮的,但它们降低播放速度! 我想它是不可能的了...
A:在运行./configure之后,编辑config.h并将#undef FAST_OSD换成 #define FAST_OSD。然后重新编译。
  
Q:onscreen display(OSD)不停的闪烁!
A:你使用单缓冲的vo驱动(x11,xv)。对于xv,使用-double选项。也试试-vf expand
  
Q:libavcodec这种东东到底是什么?
A:参见libavcodec一节。
  
Q:但是Configure告诉我"Checking for libavcodec ... no"!
A:你需要从FFmpeg的CVS中获得libavcodec。阅读libavcodec部分的说明。
  
Q:Icewm的任务条总是在全屏的时候挡住电影!
A:这不应该再发生了,但如果它确实仍然发生,使用-fstype layer选项并向mplayer-users邮件列表报告。
  
Q:我不能访问GUI菜单。我按下右键,但我不能访问任何菜单项!
A:你使用的是FVWM吗? 试试下列方法:
Start -> Settings -> Configuration -> Base Configuration
把"Use Applications position hints"设为"Yes"。
  
Q:我能在后台中运行MPlayer吗?
A:用法:mplayer <options> <filename> < /dev/null &
5.3 播放问题
Q:我能播放某些AVI文件但是我听不到声音并且有这种出错信息:
    Detected audio codec: [divx] afm:4 (DivX audio (WMA))
    Requested audio codec family [divx] (afm=4) not available (enable it at
    compile time!)
   
A:可能文件的音频使用了一个不是MPlayer本地支持的解码器。按照README或者 安装部分中的说明安装Win32解码器包。
  
Q:...avifile/aviplay能工作但MPlayer不能。
A:MPlayer不是avifile。它们之间唯一的共同之处Win32 DLL装载器。codecs(DLL)集,同步,信号分离等等完全不同所以不应该被比较。如果什么东西能用aviplay播放并不意味着MPlayer能工作,反之亦然。
  
Q:播放AVI文件时音频不同步。
A:试试-bps或-nobps选项。如果还没有改善,阅读 这个并把文件上载到FTP上。
  
Q:MPlayer在使用l3codeca.acm的时候因为一些错误而退出。
A:检查ldd /usr/local/bin/mplayer的输出。如果它包含
    libc.so.6 => /lib/libc.so.6 (0x4???????)
"?"可以是任意数字表示没有问题,错误不在这里。如果它是:
    libc.so.6 => /lib/libc.so.6 (0x00??????)
那就表示你的内核/libc有问题。可能你使用了一些安全补丁(例如Solar Designer的OpenWall补丁)强迫把库加载到很低的内存地址。因为l3codeca.acm是不可重新定位的DLL,它必须被加载到0x00400000,我们没法改变它。你应该使用没有打补丁的核心,或者使用MPlayer的-afm 1选项禁用l3codeca.acm。
  
Q:我的电脑播放分辨率640x300而且是立体声的mp3的M$ DivX AVI文件时非常慢。当我使用-nosound选项时,一切正常(但没有声音)。
A:你的机器太慢或者你的声卡驱动坏了。查阅文档看你是否能提高性能。
  
Q:MPlayer由于"MPlayer interrupted by signal 4 in module: decode_video"而崩溃。
A:尝试在你用来编译MPlayer的机器上运行它。或者重新编译打开运行时CPU检测功能(./configure --enable-runtime-cpudetection)。如果没有使用上面提到的特性,不要在与编译它不同的CPU上使用MPlayer。
  
Q:我有个关于[your window manager]跟xv/xmga/sdl/x11模式下全屏的问题...
A:读取我们的bug报告指导并送一个正确的bug报告给我们
  
Q:我播放MPEG文件时出现这样的错误: Can't find codec for video format 0x10000001!
A:你的~/.mplayer/下的codecs.conf的版本太旧。用/etc/下面的文件升级它。
或者你的配置文件中包含vc=选项或者类似东西。
  
Q:当KDE下的运行MPlayer我只看到一个黑色的屏幕什么都没有。在大约一分钟之后才开始播放视频。
A:KDE的arts守护进程会阻塞声卡设备。你可以一直等到视频开始或者在控制中心中禁用arts。如果你想使用arts的音频,将音频输出指定为我们本地的arts音频驱动-ao arts)。如果它失败或者没有被编译进来,尝试SDL (-ao sdl)并且确保你的SDL能处理arts的音频。还有另一个选择是用artsdsp运行MPlayer。
  
Q:我有一个AVI文件,当用-vc odivx播放时时,出现灰色屏幕,用-vc divx4时,出现绿色屏幕。
A:这不是DivX文件,而是M$ MPEG4v3。更新你的codecs.conf。
  
Q:我播放电影时遇到视频音频不同步和/或者MPlayer崩溃并出现下列信息:
DEMUXER: Too many (945 in 8390980 bytes) video packets in the buffer!
A:这可能有很多原因。
你的CPU和/或者显卡和/或者总线太慢。在这种情况下MPlayer会显示信息(并且掉帧数会迅速增加)。
如果它是AVI文件,也许它的交错有问题。试试-ni选项。
你的声卡驱动太buggy,或者你对ALSA 0.5使用了-ao oss。 参见声卡部分。
AVI的文件头有问题,试试-nobps选项,和/或者-mc 0。
  
Q:我有个MJPEG文件能用其它播放器播放但是MPlayer只显示一个黑色的图象。
A:在codecs.conf中禁用Windows DLL,或者使用-vc ffmjpeg选项(为此你需要为MPlayer编译libavcodec支持)。
  
Q:当我试图从我的电视选台器截取时,它能工作,但是颜色很奇怪。用其它程序没问题。
A:你的卡片有可能错误报告了它的色彩空间容量。试试YUY2而不是缺省的YV12(见电视输入文档)。
  
Q:每次我开始播放是,都遇到这种信息,但一切似乎都正常:
Linux RTC init: ioctl (rtc_pie_on): Permission denied
A:你需要root权限或者一个特殊设定的内核使用计时器代码。细节参见文档的RTC部分。
  
Q:我的同步有问题。一些AVI我能正常播放,另外一些却是以双倍速度播放!
A:你的声卡/驱动buggy。很有可能它的固定在44100Hz,而你试图播放22050Hz的音频的文件。试试resample音频滤镜。
  
Q:我播放所有WMV (或者其它.. )文件时都只有一个绿色/灰色的窗口和声音! MPlayer报告:
Detected video codec: [null] drv:0 (NULL codec (no decoding))
A:更新你codecs.conf。
  
Q:我用我的笔记本播放文件时得到十分奇怪的CPU百分值(太大了)。
A:这是你的笔记本的电源管理/节能系统(BIOS,不是内核)的影响。起动你的笔记本之前插上外部电源。你也可以试试cpufreq(一个Linux下的SpeedStep界面)对你是否有帮助。
  
Q:当我以root权限在我的笔记本上运行MPlayer时,音频与视频完全不同步。当我作为普通用户运行它时,它工作正常。
A:这还是电源管理的结果(见上面)。起动你的笔记本之前插上外部电源或者使用-nortc选项。
  
Q: 放一部电影的时候它突然跳跃起来并且出现下列信息:
Badly interleaved AVI file detected - switching to -ni mode...
A: 糟糕的交错文件不能和-cache选项协同工作. 试试-nocache.
  
5.4 视频与音频驱动问题(vo/ao)
Q:我播放视频的时候没有声音并且得到类似这样的出错信息:
    AO: [oss] 44100Hz 2ch Signed 16-bit (Little-Endian)
    audio_setup: Can't open audio device /dev/dsp: Device or resource busy
    couldn't open/init audio device -> NOSOUND
    Audio: no sound!!!
    Start playing...
   
A:你是运行的KDE或者GNOME,并且起动了ARTS或者ESD音频守护进程吗? 试试禁用音频守护进程,或者使用-ao arts 或-ao esd选项让MPlayer使用ARTS或ESD。
  
Q:DGA驱动怎么了? 我找不到它!
A:./configure会自动检测你的DGA驱动。如果-vo help没有显示DGA,那你的X装的有问题。尝试./configure --enable-dga并且读取相关文档。或者,使用-vo sdl:dga 选项试试SDL的DGA驱动。
  
Q:很好,-vo help显示有DGA驱动,但是它抱怨权限。帮帮我!
A:它只能以root权限工作! 这是DGA的限制。你应该成为root(su -),然后再试一次。另一个解决方法是为 MPlayerSUID root,但是这种方法不被推荐!
    chown root /usr/local/bin/mplayer
    chmod 755 /usr/local/bin/mplayer
    chmod +s /usr/local/bin/mplayer

警告:安全风险
这是一个很大的安全风险!永远不要在除了你之外还有人可以使用的服务器上这样做,因为他们能通过SUID root的 MPlayer获得root权限。你被警告过了。
  
Q:当使用Xvideo时,我的Voodoo 3/Banshee报告说:
X Error of failed request: BadAccess (attempt to access private resource denied)
  Major opcode of failed request: 147 (MIT-SHM)
  Minor opcode of failed request: 1 (X_ShmAttach)
  Serial number of failed request: 26
  Current serial number in output stream:27
A:XFree86 4.0.2/4.0.3的“tdfx”驱动有这个bug。已经被解决了bugfix #621 of the XFree86 4.1.0 CVS log。因此,升级到XFree86 4.1.0或者更新的版本。或者,要么是从DRI的主页下载(至少)0.6版本的DRI,要么使用CVS的DRI。
  
Q:OpenGL(-vo gl)输出不工作(锁死/黑色窗口/X11出错/...)。
A:你的OpenGL驱动不支持动态材质更换(glTexSubImage)。已知的是它在nVidia的二进制的家伙上不工作。同时也知道它在Utah-GLX/DRI 和Matrox G400显卡上能工作。Radeon显卡加DRI也行。其它显卡加DRI不行。它同样不能在3DFX显卡上工作,因为256x256材质大小限制。
  
Q:我有一块nVidia TNT/TNT2显卡,而我的电影的下面总有一个颜色奇怪的带子! 这个是什么故障?
A:这是nVidia二进制X驱动的一个bug。这些bug仅出现在TNT/TNT2显卡上,我们什么也干不了。要解决问题,升级到最新版本的nVidia二进制的驱动。如果仍然不行,对nVidia抱怨去吧!
  
Q:我使用nVidia XYZ显卡,当我单击显示GUI的显示窗口来触发GUI面板时,在我单击的地方出现一个黑色方块。我安装了最新的驱动。
A:没错,nVidia修正了上一个的错误(上面),并且引进了新的bug。让我们祝贺他们。更新:据nVidia说,这已经修正了。
  
Q:当我使用GUI时,如果使用SDL视频输出,会创建第二个视频窗口。
A:知道,目前GUI不能使用SDL。
  
Q:啊世界真是残酷...! SDL只有x11输出,而不是xv!
A:再试一次x11输出。现在尝试-vo x11 -fs -zoom。看到区别了?没有?!好,给你点启发:SDL的x11 输出只要xv可用就会使用xv,你不必为它担心...注意:你使用-forcexv或-noxv强制/禁用SDL使用xv
  
5.5 DVD播放
Q: 有没有DVD导航菜单?
A: MPlayer中的dvdnav支持目前坏了,但正常的播放可以工作。如果你想要华丽的菜单,你需要使用别的播放器比如xine或者Ogle。如果你确实想要DVD导航,送一个补丁.
  
Q:当播放DVD时,我遇到这个错误:
mplayer: ifo_read.c:1143: ifoRead_C_ADT_internal: Assertion nfo_length / sizeof(cell_adr_t) >= c_adt->nr_of_vobs' failed.
A:这是已知的libdvdread 0.9.1/0.9.2的bug。使用libmpdvdkit2,就在MPlayer的源代码中,并且缺省使用
  
Q:我能在我的Solaris下的可爱的SPARC上编译libdvdread和libdvdcss吗?
A:天知道...据说它能工作,所以请测试它并且提供反馈。也参阅libdvdread的文件及其主页。我们不是libdvdread的作者。使用libmpdvdkit2,就在MPlayer的源代码中,并且缺省使用。
  
Q:字幕怎么样? MPlayer能显示他们吗?
A:是。参见文档的DVD部分。
  
Q:我怎么设置我的DVD光驱的地区代码? 我没有Windows!
A:使用regionset工具。
  
Q:我一定需要(setuid) root/setuid fibmap_mplayer来播放DVD吗?
A:不,这个只用于老式的DVD支持。然而你必须有访问DVD设备适当权限(在/dev/里)。
  
Q:我在什么地方能找到libdvdread和libdvdcss包?
A:你不需要。使用libmpdvdkit2,就在MPlayer的源代码中,并且缺省使用。这些包能从Ogle的站点得到。
  
Q:可以单独播放/编码选定的chapter吗?
A:可以,试试-chapter选项。
  
Q:我的DVD回放慢的要死!
A:使用-cache选项(在man page中介绍)并尝试用hdparm工具为了DVD光驱开启DMA(在文档CD部分有介绍)。
  
5.6 特性要求
Q:如果MPlayer暂停之后我试图搜索或者按任意键,MPlayer会停止暂停。我愿意能够在暂停时在电影中搜索。
A:很难在不失去A/V同步的情况下实现这项功能。迄今为止所有尝试都失败了,但补丁是受欢迎的。
  
Q:我想要+/- 1帧来搜索而不是10秒。
A:这不会被实现。它曾被实现过,但是它弄乱了A/V同步。如果你愿意就实现它,并且发送补丁。不要要求它。
  
Q:哪里有Windows版本?
A:它没有发行,并且将来也不会。看看Windows的情况(开源的ASF分析器,开源的ASF编码器等等)然后你就知道为什么了。我们不想进监狱。顺便说一下,你可以自己编译它,在Cygwin下。
  
5.7 编码
Q:我怎么编码?
A:读取MEncoder的文档。
  
Q:我怎么创建VCD?
A:试试TOOLS目录下的mencvcd脚本。使用它你能把DVD或者其它电影编码成为VCD或者SVCD格式甚至直接把它们刻到CD上。
  
Q: 我怎么合并两个视频文件?
A: 这在mplayer-users上面是永不完结的话题。检索邮件文档来寻找完整的答案。这是个复杂的问题,而且你的操作可能因为你想要合并的文件种类有很大分别。MPEG可以直接连接成一个文件。对于AVI有两个可用的工具avidemux和avimerge(transcode工具集的一部分),可能可以完成这个工作。如果两个文件使用同样的分辨率和编解码器,你也可用试试MEncoder。尝试
    cat file1 file2 > file3
    mencoder -ovc copy -oac copy -o out.avi -forceidx file3.avi
  
Q:我的电视选台器工作,我能用MPlayer听到声音观看视频,但是MEncoder不把音频编码!
A:Linux的电视音频编码目前还没有实现,我们正在努力。目前它只在BSD上工作。
  
Q:我不能把DVD字幕编码成AVI!
A:你必须正确设定-sid选项!
  
Q:MEncoder启动时出现segfaults!
A:升级DivX4Linux。
  
Q:我如何仅对一张DVD中选定的chapter进行编码?
A:正确使用-chapter选项,像这样: -chapter 5-7
  
Q:我试图在VFAT文件系统上处理2GB+的文件。能行吗?
A:不,VFAT不支持2GB+的文件。
  
Q:为什么MEncoder显示的推荐比特率都是负的?
A:因为你编码的音频的比特率太大,在任何CD上不能用于电影。检查你是否正确安装了libmp3lame。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2025-8-2 21:37 , Processed in 0.076606 second(s), 16 queries .

© 2001-2025 Discuz! Team. Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表