mplayer/mencoder 字幕渲染粗大、粗糙、难以阅读

mplayer/mencoder 字幕渲染粗大、粗糙、难以阅读

我安装了 Slackware 13.37 包 MPlayer-1.0rc4-i686-3sl.txz 以及所有可用的编解码器等。我还安装了 freetype-2.4.4-i486-1.txz 用于字体渲染。

对于我的第一个 DVD 编码,我使用以下方法提取字幕:

mencoder movie.vob -nosound -ovc frameno -o nul -sid 0 -vobsubout subtitle-en -vobsuboutindex 0 -vobsuboutid en

然后播放第一遍编码的电影

mplayer movie.1 -vobsub subtitle-en

一切都很好,只是字幕的字体又粗又粗糙,几乎无法阅读,因为各种字母(aeo 等)的所有环都被填满了。我尝试了不同的播放电影的方式,例如

mplayer movie.1 -vobsub subtitle-en -ass-force-style FontName=DejaVuSerif,Default.Bold=1
mplayer movie.1 -vobsub subtitle-en -subfont /usr/share/fonts/TTF/DejaVuSerif.ttf
mplayer movie.1 -vobsub subtitle-en -font /usr/share/fonts/TTF/DejaVuSerif.ttf

我尝试用同样的选项重新创建字幕文件

$mencoder movie.vob -nosound -ovc frameno -o nul -sid 0 -vobsubout subtitle-en -vobsuboutindex 0 -vobsuboutid en -subfont /usr/share/fonts/TTF/DejaVuSerif.ttf
mencoder movie.vob -nosound -ovc frameno -o nul -sid 0 -vobsubout subtitle-en -vobsuboutindex 0 -vobsuboutid en -ass-force-style FontName=DejaVuSerif,Default.Bold=1

但字幕渲染没有任何变化。

我该怎么做?理想情况下,我希望字幕显示为纯黑色文本,带有白色边框或背景,这样文本就不会在以黑色或白色为主的电影场景中丢失。

答案1

我注意到当我尝试播放电影时总是收到此消息

VobSub: Can't open IFO file

事实证明,当您使用“-vobsubout”选项提取字幕时,它只会生成一个“.sub”和一个“.idx”文件,但要正确显示字幕,vobsub 还需要一个“.ifo”文件。Mencoder 不会生成它,但如果您为 mplayer 提供选项“-ifo dvd ifo 文件的路径”,它就会正确显示,在我的情况下是

mplayer movie.1 -vobsub en -ifo ./VIDEO_TS/VTS_01_0.IFO

于是我就这么做了

cp ./VIDEO_TS/VTS_01_0.IFO en.ifo

给我 3 个文件 en.sub、en.idx 和 en.ifo。然后它就可以正常播放了

mplayer movie.1 -vobsub en

最后,我将 3 个名为“en”的文件更改为“movie”,以匹配“movie.1”,然后发现字幕会自动播放,只需

mplayer movie.1

相关内容