年前应哥们要求,帮他配置了linux的pt机+appletv的网络环境,期间跟tt大大聊了一下,把appletv-mserver移植到了ubuntu上,顺道偷师了有为青年yonsm的js大法,还有写局限性,单基本不影响使用了,写出来给大家参考以下。
首先感谢ttvast 的
和yonsm的
感谢词到此为止,正文如下
1 安装htpc。首先说明以下我选择ubuntu作为操作系统的原因。
一开始用windows 当htpc,没打算用appletv,我自己那台没问题,但是没想到哥们的机器和电视hdmi不兼容,结果那台机器就沦为下载机了.
我的那台机器是amd e350 + 4g内存, win7比较卡,我自己那台就用了xbmcbuntu(xbmc和ubuntu的整合版),期间也换过centos 和archlinux,各有缺点
如果你自己的htpc 也是e350的,或者自己打算攥个纯下载机,我建议用e350 + xbmcbuntu ,原因如下
A centos 和archlinux 装aria2 很费劲,需要自己编译
B centos , ubuntu ,archlinux的 amd驱动太新,显示有问题。。。(这个实在是太囧了)
C xbmcubuntu有amd专版,显示无压力,安装包集成了samba的配置,在xbmc里点几下就ok, windows共享无压力,相对前几个视频音频部分基本不用配置
我们的目标是 把这个机器搞成 nas+ pt + 迅雷离线(aria2支持) + appletv-mserver + dnsmasq(dns劫持)
安装步骤
去下载xbmcbuntu 最新版 ,
amd cpu 的
http://mirrors.xbmc.org/releases ... 12.00.Intel-AMD.isointel cpu 或者离子平台的
http://mirrors.xbmc.org/releases ... 00.Intel-NVIDIA.iso安装过程很简单 分区的时候我分了三个区 ,
/boot 200m ext2
/ 16g /ext4
/home 剩下的 /ext4
需要重装系统的时候格式化 / 即可,话说正常使用的话 / 下也就 7g左右,而且没啥增长
一路下一步 等着重启即可
安完系统之后会默认进入 xbmc界面 ,这时顺道区 system -> service -> samba 把共享开开,这样windows共享就搞定了,
默认有 music, movies,downloads,pictures , tvshows这几个共享
都在你设置的用户名目录下 也就是 /home/xxxx/下 ,比如 /home/xxxx/Movies/
之后我们注销,重新登录的时候选择登录界面是xbmcbuntu ,默认是xbmc ,我们需要安装对应的软件,xmbc的界面是个纯粹的播放界面,xbmcbuntu是跟win很像的桌面环境
进入后 首先要重新装一个好用点的terminal ,因为系统自带的那个xterm 和 uxterm简直就是反人类
点击 开始 -> system -> xterm
然后 sudo apt-get -y install terminator
之后我们的操作基本都是在terminator里进行的
2 安装中文输入法 如果纯粹拿这个机器当nas这个可以跳过 ,偶尔用这个上上网的话,可以装以下输入法
sudo apt-get -y install i**bus i**bus-pinyin (去掉** ,没**居然是违禁词)
3 安装 pt软件 ,aria2 , 我朋友是混ttg的 ,pt软件不可少 ,偶尔也用迅雷离线 ,我自己常用迅雷离线的 liunx下 可以通过 aria2曲线支持迅雷离线,用法很简单,确实不错,pt我选择的是 deluge ,这个和flexget组合支持rss无压力
sudo apt-get -y install deluged deluge-web python-setuptools aria2
安装完之后继续安装 flexget (注意不是flashget , 真的不是)
sudo easy_install flexget
由于安装 flex get 时依赖的包虽然很小,但是会超时 ,可能需要重复几次上面的命令,直到所有的依赖都安装完成
aria2的就不再详细说了,坛子里有好多对应的详细介绍
deluge着重说一下
启动的时候最好用自己的账户启动,不要用root
需要自动启动的时候可以在 /etc/rc.local里添加下面的代码
比如我的账户是xbmc
if [ -x /usr/bin/deluged ] && [ -x /usr/bin/deluge-web ]; then
su -c deluged xbmc
su -c "deluge-web -f" xbmc
fi
默认端口是 8112 ,web管理界面启动后默认密码是 deluge 登录之后 界面是英文的,可以进行各种设置 ,跟普通的pt软件没啥区别
之后配置flexget的自动更新种子
首先配置flexget的配置文件
sudo mkdir /root/.flexget
/root/.flexget/config.yml
引用: feeds:
ttg:
rss: http://ttg.im/xxxxxx
download : /home/xbmc/Downloads/
accept_all: yes
deluge:
host: localhost
port: 58846
user: localclient
pass: 156d792996b9aed8c9e36893ee417a59937d92ed
其中
rss 是你ttg小货车的地址
download 是种子下回来后存放的地方
pass的内容在 deluged的配置文件中
同上,我是用xbmc用户启动的deluged ,
cat /home/xbmc/.config/deluge/auth
会显示类似
引用: localclient:95a569e02c94dc8f14d02b654a3f2c98:10
两个冒号之间的内容就是我们要的pass
配置文件设置好了,可以试着跑一下,看看有没有问题
flexget --test
flexget --check
如果没问题,添加计划任务
sudo crontab -e
之后添加下面的配置
*/5 * * * * /usr/local/bin/flexget
也就是每5分钟更新一次rss
基本上下载机和nas就搞定了
4 来到本文的重点 ,appletv-mserver ,为Apple TV提供片源sudo apt-get -y install apache2 libmp3lame-dev yasm faac libx264-dev lame faad
修改apache配置文件,把列目录功能打开
sudo vim /etc/apache2/site-enabled/000-default
引用: <Directory /var/www/>
Options Indexes ………
AllowOverride None
吧 None 改成 All, 因为mserver需要使用.htaccess 解决rewrite问题
然后 sudo ln -s /etc/apache2/mod-available/rewrite.load /etc/apache2/mod-enabled/rewrite.load
sudo /etc/init.d/apache2 restart
如果不报错基本就没问题了, 我在路由器里绑定了htpc的ip是 192.168.1.10 ,通过
http://192.168.1.10/可以测试一下apache启动是否正常
然后 安装 appletv-mserver
去tt大大的googlecode下载avs
http://code.google.com/p/appletv-mserver/downloads/list解压后运行install.sh
安装完成之后
rm /opt/avs/bin -rf
rm /opt/avs/lib -rf
因为tt大大的avs是运行在 my book live上的,cpu是arm 的, 我们用pc是x86的cpu 这里需要的avconv和avprobe以及相应的类库是不能直接用的,我们需要自行编译
去
http://www.inmethod.com/forum/posts/list/1856.page页面主贴里下载 libav
AirVideoserverLinux 2.4.6-beta3
(Needs updated
libav build)
注意我们需要的libav build ,不是AirVideoServerLinux.jar
下载之后
tar jxvf libav*
cd libav
./configure --enable-pthreads --disable-shared --enable-static --enable-gpl --enable-libx264 --enable-libmp3lame --enable-nonfree --enable-encoder=libfaac --prefix=/opt/libav/
make -j2 && make install
编译完成之后
ln -s /opt/libav/lib /opt/avs/lib
ln -s /opt/libav/bin /opt/avs/bin
然后我们修改一下
/opt/avs/startavs.sh 的最后一行
去掉 LD_LIBRAY_PATH=opt/avs/lib
只留下 python avs.py 就可以
sh /opt/avs/startavs.sh 试试看是否有错误
之后我们需要把自己用的目录软链接到avs能够访问的目录里
ln -s /DataVolume/shares /var/www/
ln -s /home/xbmc/Movies /DataVolume/shares/
ln -s /home/xbmc/Music /DataVolume/shares/
ln -s /home/xbmc/TV Shows /DataVolume/shares/
ln -s /home/xbmc/Downloads /DataVolume/shares/
ln -s /home/xbmc/Pictures /DataVolume/shares/
到这里,我们atvserver 的部分就基本搞定了
如果使用tt大大的个人服务器功能 ,在个人服务器哪里添加
http://192.168.1.10/就可以用了
5 自制dns 如果不想用tt大大的dns,或者你在某些非常奇葩的网络环境里 ,这时候我们只能自己劫持dns
首先在htpc准备yonsm的 js大法
去下载有为青年yonsm的
http://bbs.feng.com/read-htm-tid-5460032.htmlAppleTV Media Browser 1.3.zip
解压到/home/xmbc/里 比如叫作 appletvv2
然后软链接到 var/www里让Apple TV能房访问
ln -s /home/xbmc/appletvv2 /var/www/
修改appletvv2/index.xml里的内容
之后安装dnsmasq
sudo apt-get -y install dnsmasq
将以下两行的注释(#)去掉
#bogus-priv
#local=/localnet/
#conf-dir=/etc/dnsmasq.d
前两个在开头
最后一个在结尾
然后添加 我们要劫持的dns记录
sudo vim /etc/dnsmasq.d/avs
输入以下的内容
address=/trailers.apple.com/180.153.225.136
address=/lws.mlb.com/192.168.1.10
保存之后启动 dnsmasq
sudo /etc/init.d/dnsmasq start
之后去Apple TV里把dns设置成 192.168.1.10即可
到此 打完收工 ,Apple TV里预告片仍然是tt大大的服务器 ,lws那个图标则是我们自己的个人服务器,同时兼顾了pt和迅雷离线
爱折腾的少年勇敢向前冲吧
以上