mplayer-wrapper是MPlayer的一个命令行前端,尽可能保证与原有的mplayer命令行界面保持一致。
目前有两个版本:Bash和Python。Bash版不会再改动了;Python版还有一些功能没实现,推荐Python版。
对视频的顶端和底端用黑边进行填充,使得字幕和OSD能够显示在黑边上(而不是覆盖在画面上,查看截图)。
通过mplayer的-vf expand或-ass-use-margins实现(默认使用ass)。
在同一屏幕上,在不同大小的视频中,字幕显示的字体大小基本不变(默认情况下,字体大小正比于视频大小);同时该字体大小与屏幕大小成正比。
另外,字幕将尽可能的距离画面不太远。
对于没有文本字幕的视频,自动从射手网进行查询和下载。
Python版使用射手网的subapi,即通过视频文件本身的hash(若干个md5校验串)来查询字幕,结果精确;但由于负载原因,射手网只提供了中文字幕,因此需要英文字幕的就只能手动上网搜索下载了。
根据文件名生成播放列表,从而自动播放文件名连续的多个文件(例如“十二国记第03集”、“十二国记第04集”)。
Python版额外支持以下格式:
- 中文数字(大小写均可):如“第壹集、第二集”、“第六零集、第六一集”
- 前导零:如“第1集、第02集”、“第9集、第10集“
- 前两者的混合:如“第一集、第02集、第3集”
记录视频退出时的播放位置,从而在下次播放时从结束处继续播放(只有视频处于时间轴100秒之后并且在时间轴95%之前,才会在退出时记录)。