找回密码
 注册
查看: 2162|回复: 3

如何在命令行下运行mplayer播放avi并加载srt字幕?

[复制链接]
发表于 2005-5-16 09:23:14 | 显示全部楼层 |阅读模式
我在命令行下直接mplayer ***.avi,无法出现画面,加了个-v,在视频一项给我

vo_cvidix: No vidix driver name provided, probing available ones (-v option for details)!
vidixlib: PROBING: /usr/local/lib/mplayer/vidix/cyberblade_vid.so
[cyberblade] Error occurred during pci scan: 不允许的操作
vidixlib: PROBING: /usr/local/lib/mplayer/vidix/mach64_vid.so
[mach64] Error occurred during pci scan: 不允许的操作
vidixlib: PROBING: /usr/local/lib/mplayer/vidix/nvidia_vid.so
[nvidia_vid] Error occurred during pci scan: 不允许的操作
vidixlib: PROBING: /usr/local/lib/mplayer/vidix/rage128_vid.so
[rage128] Error occurred during pci scan: 不允许的操作
vidixlib: PROBING: /usr/local/lib/mplayer/vidix/mga_vid.so
[mga] probe
[mga] Error occurred during pci scan: 不允许的操作
vidixlib: PROBING: /usr/local/lib/mplayer/vidix/radeon_vid.so
[radeon] Error occurred during pci scan: 不允许的操作
vidixlib: PROBING: /usr/local/lib/mplayer/vidix/sis_vid.so
[SiS] Error occurred during pci scan: 不允许的操作
vidixlib: PROBING: /usr/local/lib/mplayer/vidix/pm3_vid.so
[pm3] Error occurred during pci scan: 不允许的操作
vidixlib: PROBING: /usr/local/lib/mplayer/vidix/unichrome_vid.so
[unichrome] Error occurred during pci scan: 不允许的操作
vidixlib: PROBING: /usr/local/lib/mplayer/vidix/mga_crtc2_vid.so
[mga] probe
[mga] Error occurred during pci scan: 不允许的操作
vidixlib: PROBING: /usr/local/lib/mplayer/vidix/savage_vid.so
[savage_vid] Error occurred during pci scan: 不允许的操作
vosub_vidix: Couldn't find working VIDIX driver

后来我尝试了一下,root可以播放,是全屏幕的,但是退出的时候花屏,看来是
权限问题,不过用chmod -R o+rwx /usr/local/lib/mplayer/没什么作用。还是,我还没办法在root中让它不要全屏幕看,同时也不知道如何加载字幕。公社的旧帖子里面有说,但是没说清楚,希望DX给个完整的命令看看。
发表于 2005-5-16 13:45:00 | 显示全部楼层
[code:1]VIDIX是VIDeo Interface for *niX的缩写。
VIDIX被设计和引入作为快速的用户空间驱动的接口提供类似mga_vid为了Matrox显卡提供的这样视频性能的。它也十分易于移植。

这个接口被设计来作为一个将存在的视频加速接口(就是mga_vid,rage128_vid,radeon_vid,pm3_vid )统一到一个固定的系统的尝试。它给芯片提供BES(BackEnd scalers)或OV(Video Overlays)之类的高层接口。它不为那些图像服务器该做的事情提供底层接口。 (我不想跟X11开发组在切换图像模式上竞争)。即这接口的主要目的是充分提高视频播放的速度。
用法

    * 你能使用独立的视频输出驱动:-vo xvidix
      这个驱动被设计为使用VIDIX技术的X11的前端。它要求X服务器而且仅仅只能在X服务器下工作。注意,由于它绕过X的驱动直接访问硬件,显存中的暂存的图像可能被破坏。你可以通过设置XF86Config中的device部分的"VideoRam"选项限制X使用的显存大小来避免这种情况。你应该设置为你的显卡上显存大小减去4MB。如果你的显存小于8MB,你可以设置screen部分的"XaaNoPixmapCache"选项。
    * 你能在若干视频的输出驱动中使用VIDIX副驱动,诸如:
      -vo vesa:vidix(只用于Linux)和-vo fbdev:vidix
[/code:1]


mplayer xxx.avi -font xxx.ttf -sub xxx.srt -subcp cp936

-font 参数指定字体文件,当存在~/.mplayer/subfont.ttf这个符号连接,那么在命令行中,不再需要加-font这个参数。

-subcp cp936 使字幕能显示中文。可以把subcp=cp936写入config文件中,这样命令行中也不再需要加这个参数。

-sub 参数指定字幕文件。如果嫌麻烦的话,可以参考:
[code:1]
-sub-fuzziness <mode>
Adjust matching fuzziness when searching for subtitles:
          0    exact match
          1    Load all subs containing movie name.
          2    Load all subs in the current directory.
[/code:1]
我的做法是把sub-fuzziness=2写入config文件中,这样就会自动load跟avi文件同一目录中的所有字幕(排除编码问题的字幕。就是说,如果我使用了subcp cp936,那么,能load到英文和简体中文字幕,不能load繁体字幕。要load繁体字幕得用subcp cp935——好像是cp935吧,记得不大清楚了。)

这个是我的config
[code:1]ao=alsa
subcp=cp936
subfont-autoscale=2
subfont-text-scale=4
sid=0
sub-fuzziness=2[/code:1]
在gnome中,关联了mplayer和avi文件,直接双击avi文件,一般的字幕都能自动挂载。这样方便很多,不用老是用命令行。
回复

使用道具 举报

 楼主| 发表于 2005-5-16 17:57:39 | 显示全部楼层
真的很详细,太感谢了。
回复

使用道具 举报

发表于 2005-5-16 23:30:44 | 显示全部楼层
VIDIX方式是只能用root用户才能用的。
一般用xv模式就行了。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2025-8-3 07:37 , Processed in 0.025906 second(s), 16 queries .

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

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