Cubieboard通过aria2和minidlna来架设家庭媒体中心

Cubieboard是块小的ARM开发板,硬件配置大概比树莓派高差不多一倍的样子。

我在Cubieboard上装的系统是Linaro(ubuntu的arm版)。

如果你要在cubieboard上挂移动硬盘的话,是需要3A的电源才能带得动的,我是在淘宝上买了个飚王 shu011的usb hub(带3.5A电源)。

NewImage

aria2

aria2是个可以在命令行下载的工具,并且支持很多下载协议。

安装aria2不建议用apt-get安装,版本太低,
建议还是通过源码编译最新版的。

$ wget http://downloads.sourceforge.net/project/aria2/stable/aria2-1.16.5/aria2-1.16.5.tar.gz?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Faria2%2Ffiles%2Fstable%2Faria2-1.16.5%2F&ts=1365680658&use_mirror=hivelocity -o aria2-1.16.5.tar.gz
$ tar zxf aria2-1.16.5.tar.gz
$ cd aria2-1.16.5
$ ./configure
$ make
$ sudo make install

如果aria2下载BT没有速度,则在配置里面加入下面的配置看看:

enable-dht=true
dht-entry-point=dht.transmissionbt.com:6881
dht-listen-port=6881

因为不知道为什么aria2会偶尔自动退出,所以我用Supervisor来管理aria2的进程:

NewImage

aria2有web管理的界面,例如你可以通过YAAW来管理你的aria2下载任务。

NewImage

 

另外你可以通过crontab来做计划任务管理你的aria2的下载任务:

$ crontab -e

例如为了不影响宿舍其他人使用网络,我cubieboard上的crontab为:

# 凌晨4点启动所有下载任务
1 4 * * * /bin/sh /data/sh/aria2/unpauseAll.sh >> /data/aria2.log
# 18点的时候停止所有下载任务
1 18 * * * /bin/sh /data/sh/aria2/pauseAll.sh >> /data/aria2.log

其中  unpauseAll.sh 与 pauseAll.sh 脚本内容为:

$ cat /data/sh/aria2/unpauseAll.sh
echo "aria2.unpauseAll"
curl -d "{\"jsonrpc\":\"2.0\",\"method\":\"aria2.unpauseAll\",\"id\":1,\"params\":[]}" "http://127.0.0.1:6800/jsonrpc"
echo '\ndone'


$ cat /data/sh/aria2/pauseAll.sh
echo "aria2.pauseAll"
curl -d "{\"jsonrpc\":\"2.0\",\"method\":\"aria2.pauseAll\",\"id\":1,\"params\":[]}" "http://127.0.0.1:6800/jsonrpc"
echo '\ndone'

其中6800为我的aria2的jsonrpc服务端口。

 

minidlna

DLNA的全称是DIGITAL LIVING NETWORK ALLIANCE, 其宗旨是Enjoy your music, photos and videos, anywhere anytime, DLNA(Digital Living Network Alliance) 由索尼、英特尔微软等发起成立、旨在解决个人PC,消费电器,移动设备在内的无线网络和有线网络的互联互通,使得数字媒体和内容服务的无限制的共享和增长成为可能,目前成员公司已达280多家。(via 百度百科)

什么是MiniDLNA? MiniDLNA (也就是之前的 ReadyDLNA) 完全兼容DLNA/UPnP-AV 客户端. 由NETGEAR员工为ReadyNAS产品线开发的一款软件

至于安装minidlna,直接用apt-get安装就可以。

 sudo apt-get install minidlna

修改minidlna的配置文件:

sudo vim /etc/minidlna.conf

里面的配置项看说明就行。
然后启动minidlna的服务:

sudo service minidlna start

然后你就可以用你支持DLNA/UPNP协议的设备链接并播放了。
例如在VLC下:

NewImage 

 

为了可以在没有DLNA/UPNP协议支持的客户端情况下,通过其他播放器来播放minidlna服务器上的影片,
我用python写了个简单的服务,列出minidlna服务器上所有的影片列表:

NewImage 

只要复制影片的url,然后通过在播放器上“打开url”的方式来播放就可以。

参考:

1、【智能家居】用树莓派+移动硬盘+MINIDLNA打造家用媒体服务器(电影服务器、NAS、ipad看片利器)

!!!

posted on 2013-04-14 20:54  Q.Lee.lulu  阅读(14647)  评论(3编辑  收藏  举报