硬件环境:一台下载机,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
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了。这样可以省点资源。没办法,下载机的配置不高。