移植smplayer的最初原因是其他播放器放带字幕的视频很麻烦。比如VLC换字幕很麻烦,而且字幕比较难看,我不知道怎么配置好看。。也不喜欢QuickTime。QuickTime似乎是以stream的方式缓冲。。。我这里光盘播放比较卡,而且速度不怎么样。
另外MPlayer OSX...好像没找到关于字幕的选项。。。连flv都不支持貌似。。
smplayer 没有for mac的版本,而且据我所知目前为止也没有打算做。不过倒是有for win的。编译smplayer很简单,不过需要qt for mac.
macports有qt4-mac 直接$sudo port -d build qt4-mac,然后pkg打包,install安装就行。不要pkg的,就直接$sudo port -d install qt4-mac。
我后来往qt4-mac的Portfile里面加了-static参数,重新编译,花了1个半小时。-,-
然后企图在编译smplayer的时候加-static,静态编译, 失败。log说只能动态。。。
编译smplayer的时候需要改源码。
在core.cpp里面:
----------------------------------------------------
#ifndef Q_OS_WIN
if (pref->disable_screensaver) {
proc->addArgument("-stop-xscreensaver");
} else {
proc->addArgument("-nostop-xscreensaver");
}
#endif
----------------------------------------------------
注释掉以上。
这个是smplayer的preference里面设置是否禁用xscreensaver加的参数。
OSX下没有xscreensaver, 故核心mplayer不支持这个选项,直接报错。
注释掉以后正常使用。
另外改一下Makefile
最新的qt4-mac把qmake命名为qmake-mac, lrelease命名为lrelease-mac
所以
QMAKE=qmake-mac
LRELEASE=lrelease-mac
然后
$make
==============================================================
现在是编译核心mplayer. macports里面也有。port的时候看一下variants
$port variants mplayer
有一堆可用的variants.
我port的时候加的:
$sudo port -d build mplayer +aa +caca +dts +dv +faac \
+fribidi +macosx +osd +sdl +theora +twolame +x264 +xvid
基本上有用的都用上了。macosx是默认的。
为了支持freetype, 先port了fontconfig和freetype.
编译完安装
$sudo port -d install mplayer +aa +caca +dts +dv +faac \
+fribidi +macosx +osd +sdl +theora +twolame +x264 +xvid
(第一遍编译没通过,好像是链接没弄好。不管,直接重编译。。。@@)
==========================================================
下面去把smplayer.app找出来。在smplayer源码目录的src下。
直接拖出来,没有好看的图标。可以修改里面的.plist或者用复制粘贴法加上图标。
=========================================================
下面一步是设置smplayer。在General -> General 里面的 Paths里面
'Select the MPlayer executable:' 输入mplayer的路径
/opt/local/bin/mplayer
也可以用search找。
然后在Subtitles -> Subtitles 里面的'Default subtitle encoding:'
选择Simplified Chinese charset(CP936)
这样就不用转字幕的编码了。
继续 Subtitle -> Font 'Font'
里面选择System font:
我选了STHeiti,黑体还行,等会有图,大家可以看效果。
其他字体或者TTF font也可以试试。
在Advanced -> Advanced 下面去掉Log SMPlayer output和Log MPlayer output的勾。
。。基本没什么必要嘛。。
设置完毕。其他的没什么必要动。
==========================================================
下面是播放。打开smplayer.app (可以直接放到/Applications/下面了)
可以直接把视频拖到smplayer的窗口里面播放。
右键有菜单。
不过最大的bug是,mplayer是在它自己的窗口里面启动的。。。不是在smplayer里面。。所以有点无奈。mplayer的manpage里面说到 -wid 参数是用来内嵌的,但是只支持x11,opengl, directx. (-guiwid估计是用来内嵌到网页什么的。。。)
不知道给mplayer重编译加x11是否有效。。。暂时凑合用。。
但是smplayer的窗口会随着视频resize...-,-
所以smplayer就相当于mplayer的控制器,。。加载字幕什么的都比较方便。比VLC方便。。=。=而且VLC的字幕默认好难看。。
说完上图:
.sub格式字幕
.scr格式字幕
看上去比较舒服。。
----------------------------------the end------------------------------------
//$开头的表示terminal下的命令行。输入的时候不需要$.
//参考资料,google
//另外一个,.rmvb/.rm只有声音没有图像,不过既然已经有了realplayer for mac
//real格式的就用realplayer好了,没必要用其他的播放器了。
//下一步,做mplayer内嵌到smplayer的探索。谁知道的请教教我==

