<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Soul Of Free Loop &#187; HTPC</title>
	<atom:link href="https://zohead.com/archives/tag/htpc/feed" rel="self" type="application/rss+xml" />
	<link>https://zohead.com</link>
	<description>Uranus Zhou&#039;s Blog</description>
	<lastBuildDate>Sat, 19 Jul 2025 15:42:46 +0000</lastBuildDate>
	<language>zh-CN</language>
		<sy:updatePeriod>hourly</sy:updatePeriod>
		<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.8</generator>
	<item>
		<title>修改XBMC LiveStreams Python插件以支持中文</title>
		<link>https://zohead.com/archives/xbmc-livestreams-cn-patch/</link>
		<comments>https://zohead.com/archives/xbmc-livestreams-cn-patch/#comments</comments>
		<pubDate>Mon, 03 Sep 2012 18:49:07 +0000</pubDate>
		<dc:creator><![CDATA[Uranus Zhou]]></dc:creator>
				<category><![CDATA[Python]]></category>
		<category><![CDATA[工具]]></category>
		<category><![CDATA[技术]]></category>
		<category><![CDATA[树莓派]]></category>
		<category><![CDATA[HTPC]]></category>
		<category><![CDATA[LiveStreams]]></category>
		<category><![CDATA[Openelec]]></category>
		<category><![CDATA[Raspbmc]]></category>
		<category><![CDATA[XBian]]></category>
		<category><![CDATA[XBMC]]></category>
		<category><![CDATA[XML]]></category>
		<category><![CDATA[插件]]></category>

		<guid isPermaLink="false">http://zohead.com/?p=299</guid>
		<description><![CDATA[本文同步自（最佳显示效果请点击）：https://zohead.com/archives/xbmc-livestreams-cn-patch/ 最近在闲时捣鼓下 Raspberry Pi 微型电脑板上的开源 XBMC 应用准备看看 HTPC 媒体中心的效果，发现 Raspberry Pi 在安装了 XBian 系统之后可以比较好的实现 XBMC 的基本功能，虽然由于 Raspberry Pi 没有购买一些视频格式的软件解码授权而导致 WMV 或者 MMS 之类的格式无法播放，但对于常用的一些 H264 的高清视频已经足以应付，接上网线之后看高清在线视频点播和直播的效果都还可以。 有关 Rasp [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>本文同步自（最佳显示效果请点击）：<a href="https://zohead.com/archives/xbmc-livestreams-cn-patch/" target="_blank">https://zohead.com/archives/xbmc-livestreams-cn-patch/</a></p>
<p>最近在闲时捣鼓下 Raspberry Pi 微型电脑板上的开源 XBMC 应用准备看看 HTPC 媒体中心的效果，发现 Raspberry Pi 在安装了 XBian 系统之后可以比较好的实现 XBMC 的基本功能，虽然由于 Raspberry Pi 没有购买一些视频格式的软件解码授权而导致 WMV 或者 MMS 之类的格式无法播放，但对于常用的一些 H264 的高清视频已经足以应付，接上网线之后看高清在线视频点播和直播的效果都还可以。</p>
<p>有关 Raspberry Pi 请参考 [<a href="https://zohead.com/archives/raspberry-pi-start/" target="_blank">之前</a>] 的文章，有关 XBian 之一专门为 Raspberry Pi 优化的 XBMC 系统可以访问其官网：<a href="http://xbian.org/" target="_blank">http://xbian.org/</a>。</p>
<p>注：Raspberry Pi 上除了 XBian 之外，还有 <a href="http://www.raspbmc.com/" target="_blank">Raspbmc</a>、<a href="http://openelec.tv/" target="_blank">Openelec</a> 等其它合适的 XBMC 系统可供选择的。而且这些都是基于标准 XBMC 程序修改的，标准插件之类的基本可以通用。</p>
<p>前两天找到一个不错的在线电视直播的 XBMC 插件：LiveStreams，此插件可以由用户自己修改 XML 配置文件增加在线直播的地址，根据实际硬件配置不同，可支持 MMS、RTSP、RTMP 等各种不同的流媒体协议。有关 LiveStreams 的介绍和配置请参考这些链接（特别第二个链接中有详细的截图介绍）：</p>
<p><a href="http://forum.xbmc.org/showthread.php?tid=97116" target="_blank">http://forum.xbmc.org/showthread.php?tid=97116</a><br />
<a href="http://www.xbmchub.com/blog/2012/04/26/adding-custom-xml-files-to-the-live-streams-addon/" target="_blank">http://www.xbmchub.com/blog/2012/04/26/adding-custom-xml-files-to-the-live-streams-addon/</a></p>
<p>最新版本的 LiveStreams 插件可以到这里下载：<a href="http://code.google.com/p/divingmules-repo/" target="_blank">http://code.google.com/p/divingmules-repo/</a>。</p>
<p>在实际使用过程中发现由于 LiveStreams 由于是老外写的，不由自主的就碰到对中文的支持问题，如果添加的 XML 配置文件中节目名称或者节目目录名称包含中文，XBMC 系统中LiveStreams 插件将不能正常工作，直接会出现脚本错误。</p>
<p>简单看了下 LiveStreams 插件的代码，是用 Python 写的，凭着一些简单的 Python 基础，然后集合 Python 的 logging 模块来调试，终于发现 LiveStreams 插件对中文支持不佳的原因，作者在使用 BeautifulSoup（参考 [<a href="http://www.crummy.com/software/BeautifulSoup/" target="_blank">这里</a>]） 这一个非常知名的 HTML/XML 等解析的库时未考虑非英文环境下的问题，简单做了下修改之后，中文的直播节目和目录名称都可以正常显示了。</p>
<p>顺便再简单说明一下 LiveStreams XML 配置文件嵌套节目目录的方式，这是一个实例 XML 节目配置文件：</p>
<pre class="brush: xml; title: channels.xml; notranslate">
&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;yes&quot;?&gt;
&lt;channels&gt;
	&lt;channel&gt;
		&lt;name&gt;Channel 1&lt;/name&gt;
		&lt;thumbnail&gt;http://xxx/chn1.png&lt;/thumbnail&gt;
		&lt;items&gt;
			&lt;item&gt;
				&lt;title&gt;TV1&lt;/title&gt;
				&lt;link&gt;mms://xxx.xxx.xxx.xxx/cctv1&lt;/link&gt;
				&lt;thumbnail&gt;http://xxx/cctv1.jpg&lt;/thumbnail&gt;
			&lt;/item&gt;
			&lt;item&gt;
				&lt;title&gt;TV2&lt;/title&gt;
				&lt;link&gt;mms://xxx.xxx.xxx.xxx/cctv2&lt;/link&gt;
				&lt;thumbnail&gt;http://xxx/cctv2.jpg&lt;/thumbnail&gt;
			&lt;/item&gt;
		&lt;/items&gt;
	&lt;/channel&gt;

	&lt;channel&gt;
		&lt;name&gt;Channel 2&lt;/name&gt;
		&lt;thumbnail&gt;http://xxx/chn2.png&lt;/thumbnail&gt;
		&lt;subchannels&gt;
			&lt;subchannel&gt;
				&lt;name&gt;Sub 1&lt;/name&gt;
				&lt;thumbnail&gt;http://xxx/sub1.png&lt;/thumbnail&gt;
				&lt;subitems&gt;
					&lt;subitem&gt;
						&lt;title&gt;Sub TV1&lt;/title&gt;
						&lt;link&gt;mms://xxx.xxx.xxx.xxx/subtv1&lt;/link&gt;
						&lt;thumbnail&gt;http://xxx/subtv1.jpg&lt;/thumbnail&gt;
					&lt;/subitem&gt;
					&lt;subitem&gt;
						&lt;title&gt;Sub TV2&lt;/title&gt;
						&lt;link&gt;mms://xxx.xxx.xxx.xxx/subtv2&lt;/link&gt;
						&lt;thumbnail&gt;http://xxx/subtv2.jpg&lt;/thumbnail&gt;
					&lt;/subitem&gt;
				&lt;/subitems&gt;
			&lt;/subchannel&gt;
		&lt;/subchannels&gt;
	&lt;/channel&gt;
&lt;/channels&gt;
</pre>
<p>第一个节目目录 Channel 1 下面没有子目录，只有 TV1 和 TV2 这两个节目，因此 XML 层次是 <strong>channel/items/item</strong>。第二个节目目录 Channel 2 下有名为 Sub1 的子目录，Sub1 下又有 Sub TV1 和 Sub TV2 两个节目，这种的 XML 层次则是：<strong>channel/subchannels/subchannel/subitems/subitem</strong>。</p>
<p>需要注意的是 LiveStreams 的 XML 配置文件必须以 UTF-8 编码格式保存，否则非英文字符将无法正常显示。另外由于 XML 本身格式的原因，XML 内容中的这些字符需要转换（全部为纯英文字符，包括结束的分号）：</p>
<p><strong><span style="color: #ff0000;">&amp;</span></strong> 转换为 <strong><span style="color: #ff0000;">&amp;amp;</span></strong><br />
<strong><span style="color: #ff0000;">&lt;</span></strong> 转换为 <strong><span style="color: #ff0000;">&amp;lt;</span></strong><br />
<strong><span style="color: #ff0000;">&gt;</span></strong> 转换为 <strong><span style="color: #ff0000;">&amp;gt;</span></strong><br />
<strong><span style="color: #ff0000;">'</span></strong> 转换为 <strong><span style="color: #ff0000;">&amp;apos;</span></strong><br />
<strong><span style="color: #ff0000;">"</span></strong> 转换为 <strong><span style="color: #ff0000;">&amp;quot;</span></strong></p>
<p>最后附上我修改过的最新 LiveStreams 1.0.6 版本 XBMC 插件的下载地址：</p>
<p><a href="http://miseal.googlecode.com/files/plugin.video.live.streams-1.0.6.zip" target="_blank">http://miseal.googlecode.com/files/plugin.video.live.streams-1.0.6.zip</a></p>
<p>由于这插件只是随便修改的，有任何问题欢迎指正哦。 ^_^</p>
]]></content:encoded>
			<wfw:commentRss>https://zohead.com/archives/xbmc-livestreams-cn-patch/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
