XBMC·Python 使用全攻略

标签:
杂谈 |
分类: XBOX |
XBMC为所有喜欢XBOX的朋友开启了一扇家庭娱乐的大门。在家庭影音设备上享受网络影音内容与在电脑上观看是一种完全不同的视听体验。但是,XBMC为我们提供的远不止这些。对Python Script的支持就是一个让人兴奋的功能。但是,由于XBMC还处于起步阶段,开发者还没有精力编写完整的使用说明,涉及Python的内容更是少之又少。本文是笔者试图把自己的使用经验分享给大家,希望对中文世界的朋友们探索XBMC带给我们的奇妙世界有所帮助。
本文只涉及Python Script的安装和使用,Python Script的编程不在本文讨论范围之内。
一、什么是Python?
Python语言是一种面向对象的解释性的计算机程序设计语言,也是一种功能强大而完善的通用型语言,已经具有十多年的发展历史,成熟且稳定。这种语言具有非常简捷而清晰的语法特点,适合完成各种高层任务,几乎可以在所有的操作系统中运行。目前,基于这种语言的相关技术正在飞速的发展,用户数量急剧扩大,相关的资源非常多。
XBMC为Python提供了运行环境,并提供两个XBMC独有的librairies:xbmc and
xbmcgui,它们主要提供XBMC的用户界面和遥控器接口。XBMC运行的是Script,也就是说直接运行源码,实时编译。
如果你下载的是已经编译好的XBMC,多数情况下已经包括Python。如果你发现你的XBMC根目录下没有python文件夹,那么证明你下载的是不包括Python的版本。不过不要紧,你随时可以自己下载Python文件包。地址是:
http://cvs.sourceforge.net/viewc ...
on/Attic/python.rar
你也可以从本论坛的FTP下载,文件位于upload\python目录。放心,你下载的文件完全合法,因为Python本来就是免费的开发语言。
XBMC Python的目录结构如下图所示:
http://xbox.gamehome.tv/xbox/UploadFiles_7324/200807/20080726233225457.png使用全攻略" TITLE="XBMC·Python
Python目录是python的运行环境文件,Scripts目录就是你放Scripts的地方。Script也可以理解为“应用程序”,每个script都是一个独立的程序,执行诸如收发email,播放网络音乐,接收RSS新闻等的任务。选择安装哪些Script完全取决于你的爱好。
Script可以到以下地方下载:
http://dwl.xboxmediacenter.de/
(这个是官方网站)
或者:
http://cvs.sourceforge.net/viewcvs.py/xbmc/XBMC/scripts/
你下载的script通常会有一个readme文件告诉你如何安装,一般都是直接解压到script目录即可。 也有的需要把一部分库文件安装到Python\lib目录下。每一个程序会有一个或几个后缀名为py的文件,它们就是python script。它们应该位于script根目录下。
三、Python Script的运行
Python Script的运行方式有以下几种:
1)直接加载
这种方式类似于windows中直接运行某文件夹中的exe文件。请按照以下步骤执行:(以default skin为例,其它skin应该类似)
a- 进入Setting界面;
b- 进入General界面,在这里你可以看到有个script菜单,点击即如Script界面;
http://xbox.gamehome.tv/xbox/UploadFiles_7324/200807/20080726233226756.jpg使用全攻略" TITLE="XBMC·Python
c- 在这里你可以看到你安装的所有scripts,选择要运行的script,点击即可;
http://xbox.gamehome.tv/xbox/UploadFiles_7324/200807/20080726233226694.jpg使用全攻略" TITLE="XBMC·Python
d- 例如我要运行xbmcmail,点击xbmcmail.py即可进入程序界面:
http://xbox.gamehome.tv/xbox/UploadFiles_7324/200807/20080726233226796.jpg使用全攻略" TITLE="XBMC·Python
2)通过Skin加载
很多Python Script的作者直接把自己的script的加载方式结合到Skin中,通常是在Skin的主界面或某个界面添加一个按钮,用户可以一按直接运行程序。这种方式类似于Windows中的快捷键方式。
下图就是webradio2结合到主界面的例子,按webradio2按钮和进入setting\general\script按SimpleKML.py的结果是一样的。
http://xbox.gamehome.tv/xbox/UploadFiles_7324/200807/20080726233226434.jpg使用全攻略" TITLE="XBMC·Python
这种方式的好处是运行程序很方便,你甚至不用关心它是Pyhton还是XBMC的一个功能。另外作者还可以修改skin,把自己程序的运行界面作的与XBMC的skin一致,这样的运行界面非常好看。
但这种方式也有不利的地方。首先,它是通过修改skin文件达到这一目的的,而作者通常只提供default skin的修改文件,这样就限制了用户选择其它的skin,除非你会自己修改skin。(XBMC的Skin功能强大,修改需要一定的功力,不建议你自己修改)再次,作者修改的skin只考虑了自己的Script,当你还有其它的script时,你还得用第一种方式加载script。
所以,笔者的建议是把你最常用,最喜欢的script结合到skin里(如webradio,My Mail等),其它的采用直接加载方式。
3)自动加载(autoexec.py)
Autoexec.py类似于DOS/Windows中的autoexec.bat。他的作用是在XBMC启动时自动加载某一script。例如你可以让XBMC启动时自动播放一段音乐。和autoexec.bat一样,你同样可以编辑autoexec.py文件。在Notepad中打开autoexec.py,其格式如下:
# auto execute scripts when xbmc starts, place this file in
xbmchome\scripts\
#
# note: - do not execute more than one script at a time which asks
for user input!
import xbmc
xbmc.executescript('q:\\scripts\\*.py')
其中q:\\scripts\\*.py就是你要自动运行的script的文件名。注意q:代表xbmc根目录。你要修改的只是*.py。
另外,不要一卧诵屑父鰏cript。
四、几个主要script的介绍
1、My Email (xbmcmail)
如果你不在意中文的话,我觉得这是个最有用的script。它让你接收和阅读pop3 信箱的邮件。更神奇的是,如果邮件的附件是图片或MP3音乐的话,你可以直接欣赏。
到以下地址下载最新版的xbmcmail:
http://www.tait.nildram.co.uk/xbmcmail/xbmcmail-0.3.1.rar
解开压缩包,有以下几个文件:xbmcmail.py, string.xml 和skin文件夹。Xbmcmail.py是主文件,在上载到xbox之前,你先要把自己的e-mail account帐户加入到这个文件中去。用Notepad打开文件,找到以下几行:
SERVER = 'mail.server.com'
USER = 'username'
PASS = 'password'
TEMPFOLDER = 'Q:\\scripts\\temp\\'
换成你自己的服务器名、用户名和密码。
然后把xbmcmail.py上载到script目录。如果你不要集成skin的话,你只要传这个文件就可运行了。如果你要集成skin以达到如下图所示的结果,需要把string.xml拷贝到language\english目录,把skin文件夹拷贝到根目录。当提示文件覆盖的时候,选择yes。
正确安装以后,打开xbmc,你就可以看到My Mail按钮了,怎么样,漂亮吧。点击按钮,就进入你原来设定的邮箱。
http://xbox.gamehome.tv/xbox/UploadFiles_7324/200807/20080726233226331.jpg使用全攻略" TITLE="XBMC·Python
下图是我的邮箱,注意,出现乱码是因为不支持中文。点击“Check Mail”,可以更新收件箱。点击“Full
Screen”是把当前显示的邮件全屏显示。右边上半部分是邮件标题列表,下半部分是邮件内容预览。
http://xbox.gamehome.tv/xbox/UploadFiles_7324/200807/20080726233227381.jpg使用全攻略" TITLE="XBMC·Python
下图是全屏阅览模式:
http://xbox.gamehome.tv/xbox/UploadFiles_7324/200807/20080726233227616.jpg使用全攻略" TITLE="XBMC·Python
2、Webradio 2
这个好像是大家比较感兴趣的。它让你收听全世界的Shoutcast网络电台。速度一流。浏览起来十分方便。你可以根据音乐类别浏览,也可以根据地区来浏览。中国的也不少。
http://xbox.gamehome.tv/xbox/UploadFiles_7324/200807/20080726233227599.jpg使用全攻略" TITLE="XBMC·Python
安装的方式是一样的,到以下地址下载:
http://dwl.xboxmediacenter.de/
由于它的压缩包保留了原来的文件结构,所以直接解压到xbmc根目录就ok了。如何使用就不介绍了,因为很直观。
Shoutcast是winamp(Nullsoft)开发的流媒体格式,由于可以很方便的作一个server(电台),所以很流行,目前全世界的电台数多的不得了。什么时候我也搞一个:)
3、Startup Sound
这个是我唯一的一个一直保留的script,它的作用就是在xbmc启动是播放一段你选定的音乐。
到下面的地址下载:
http://dwl.xboxmediacenter.de
下载以后把所有文件解压到xbmc根目录就可以了。如果你要用自己的音乐,把startup.mp3替换为你自己的音乐就可以了,但文件名要保持不变。注意:最好不要用很长的音乐,否则会很烦。 我用的是Windows XP的启动声音,很酷的。
4、Multi BitTorrent Client[/U]
这个东东让你实现在XBOX上直接下载bt。它是用python写的BT客户端。到以下地址下载最新版:
http://dwl.xboxmediacenter.de
解压以后,你必须修改bitxbox.py文件中以下的内容:
######################################################################
# Edit the infos below, for local file : replace '\' by '\\'
# Source can be an url ('http://' is needed) or a local file
# If you let the source empty (source = '') it will display a file
selector
#source = 'E:\\Media\\torrent\\my.torrent'
#source =
'http://www.slackware.com/torrents/slackware-9.1-install-d1.torrent'
source = ''
destination = 'F:\\Download\\'
dirselect = 'F:\\torrents\\'
#######################################################################
Source是指BitTorrent文件地址,例如某一的http链接,建议留空。因为你不会每下一个bt就更新一次文件。
Destination是指下载文件的地址。
dirselect是指本地Torrent文件地址,你可以把torrent文件保存到这个文件夹,只要你的Source项是留空的,启动bitxbox后他会自动让你选择这个文件夹中的Torrent文件。
你可以参考我的设置。我在F盘建了Download文件夹用来放置下载下来的文件。同时建了Torrents文件夹用来放置Torrent文件。
修改完以后把该文件和BitTrorrent文件夹一起上传导xbmc根目录。
另外,用bitxbox还有一些限制。首先,如果torrent文件中包含的下载文件的文件名如果不符合fatx的命名规则,该文件就不能下载,这是XBOX的限制。另外,我试了一下,发现内网的用户不能用。你的xbox要直接连接到internet。
装完成以后,进入setting\general\scripts,点击bitxbox.py,可以看到在文件名的右侧出现Running,说明程序已经运行了。这是个后台程序,运行时你可以运行其他script。
http://xbox.gamehome.tv/xbox/UploadFiles_7324/200807/20080726233227230.jpg使用全攻略" TITLE="XBMC·Python
如果你没有指定source的话,运行后会让你选择torrent文件。
http://xbox.gamehome.tv/xbox/UploadFiles_7324/200807/20080726233227289.jpg使用全攻略" TITLE="XBMC·Python
运行过程中你可以按白色键察看程序运行的过程,如下图所示:
由于我的xbox连在内网中,所以可以看到我连不上Tracker。
http://xbox.gamehome.tv/xbox/UploadFiles_7324/200807/20080726233227640.jpg使用全攻略" TITLE="XBMC·Python