硬件环境:一台下载机,Ubuntu 9.10系统,配置rtorrent。从PT上下了很多高清电影;一台PS3
友情提醒:
1. 如果你是Linux小白,别往下看了,会让你很痛苦的。去找windows下配置DLNA server的文章吧。
2. PS3最好是有线方式连接电脑,用无线的话,倒不是带宽不够,而且无线传输latency比较高而且信号有波动,会导致播放时不时的卡一下。
原理:
PS3支持DLNA协议,所以只要在电脑上装一个DLNA server,PS3就能播放电脑上的电影了。目前据测试,还是只能播放PS3支持的codec,所以诸如rmvb这样的是不能播放的。诸如mkv/mp4,codec是H.264/MPEG4/AAC/AC3这些是可以的。
一、安装ps3mediaserver:
1. 参照这个帖子,把mplayer, ffmpeg, x264, mencoder装好:
http://ps3mediaserver.org/forum/viewtopic.php?f=3&t=4253
2. 下载ps3mediaserver源码,解开,cd进入,输入ant编译。
3. chmod u+x PMS.sh,chmod u+x linux/tsMuxeR, 执行PMS.sh。出现GUI界面,把每个配置项看一遍,根据自己需要配置吧。不要忘了把directory配置一下,这表示PS3上可以看到的目录。
4. 配置完成退出重新运行PMS.sh,一定要cd到ps3mediaserver的根目录然后执行。
5. 启动PS3,就可以看到电脑了,然后选择目录和电影就可以开始播放了。
二、让ps3mediaserver脱离GUI,成为Linux一个daemon在开机后自动运行
我是装在下载机上的,所以当然希望一按开关就一切搞定。而且下载机默认不启动X,所以要让ps3mediaserver不启动图形界面。事实上,ps3mediaserver会检测是否有图形环境,没有的话会自动切换到console mode,但还是可以配置一下明确告诉ps3mediaserver工作在console mode下。
1. cd /etc/init.d; sudo vi PS3MediaServerd,输入酱紫一个脚本:
# 注意将 PMS_FOLDER 全部替换成你的ps3mediaserver安装的路径
PATH = PMS_FOLDER :/ usr / sbin :/ usr / bin :/ usr / local / sbin :/ usr / local / bin :/ sbin :/ bin
DESC = " PS3 UPnP Media Server "
NAME = PMS . sh
DAEMON = PMS_FOLDER / PMS . sh
# 设定启动ps3mediaserver的用户和所属组,这里我的是download
PMSUSER = download
PMSGROUP = download
# Exit if the package is not installed
if [ ! -x " $DAEMON " ]; then
echo " Couldn't find $DAEMON "
exit 99
fi
#
# Function that starts the daemon/service
# Return
# 0 if daemon has been started
# 1 if daemon was already running
# 2 if daemon could not be started
#
do_start()
{
cd PMS_FOLDER
start - stop - daemon -- start -- quiet -- chuid $PMSUSER : $PMSGROUP -- chdir PMS_FOLDER -- exec $DAEMON -- test > / dev / null || return 1
start - stop - daemon -- start -- quiet -- chuid $PMSUSER : $PMSGROUP -- chdir PMS_FOLDER -- exec $DAEMON || return 2
}
#
# Function that stops the daemon/service
# Return
# 0 if daemon has been stopped
# 1 if daemon was already stopped
# 2 if daemon could not be stopped
# other if a failure occurred
#
do_stop()
{
start - stop - daemon -- stop -- signal 2 -- retry 5 -- quiet -- name java
RETVAL = " $? "
[ " $RETVAL " = 2 ] && return 2
return " $RETVAL "
}
case " $1 " in
start)
do_start
case " $? " in
0 | 1 ) echo " Start successfully... " ;;
2 ) echo " Start failed... " ;;
esac
;;
stop)
echo " Stopping $DESC... "
do_stop
case " $? " in
0 | 1 ) echo " Stop successfully... " ;;
2 ) echo " Stop failed... " ;;
esac
;;
* )
echo " Usage: $0 {start|stop} " >& 2
exit 3
;;
esac
2. chmod 755 PS3MediaServerd
3. sudo update-rc.d PS3MediaServerd defaults 60
4. 启动脚本搞定,现在修改一下PMS.sh最后启动程序的命令,原来的是酱紫的:
exec "$JAVA" $JAVA_OPTS -Xmx768M -Djava.encoding=UTF-8 -Djava.net.preferIPv4Stack=true -jar "$PMS_JAR" "$@"
改成:
exec "$JAVA" $JAVA_OPTS -Xmx768M -Djava.encoding=UTF-8 -Djava.net.preferIPv4Stack=true -Djava.awt.headless=true -jar "$PMS_JAR" "$@" &
That's it. Enjoy.
Tips: 如果要让Ubuntu开机不启动X,修改/etc/X11/default-display-manager,将里面原来的/usr/sbin/gdm改成false就OK了。这样可以省点资源。没办法,下载机的配置不高。