在研究关于Linux系统下的MythTV环境时,我意外地发现了XMLTV(也称作 XML TV)这项技术。对于那些还不了解MythTV的人们,我来解释一下,MythTV运行在“其它操作系统”(也就是Linux)之上的、功能类似于微软的Windows 媒体中心(MCE)的众多产品之一。在我看来,MythTV具备了MCE的各种竞争优势,而且,MythTV能够很好地帮助普通用户来获得、管理,以及播放所有类型的媒体文件——从电视节目到DVD、音乐、图片以及更多类型的媒体文件。 正如你可能已经猜到的,XMLTV是一项XML技术,它能够对电视节目单进行处理和加工。
在MythTV环境以及其它系统中,XM……
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
在研究关于Linux系统下的MythTV环境时,我意外地发现了XMLTV(也称作 XML TV)这项技术。对于那些还不了解MythTV的人们,我来解释一下,MythTV运行在“其它操作系统”(也就是Linux)之上的、功能类似于微软的Windows 媒体中心(MCE)的众多产品之一。在我看来,MythTV具备了MCE的各种竞争优势,而且,MythTV能够很好地帮助普通用户来获得、管理,以及播放所有类型的媒体文件——从电视节目到DVD、音乐、图片以及更多类型的媒体文件。
正如你可能已经猜到的,XMLTV是一项XML技术,它能够对电视节目单进行处理和加工。在MythTV环境以及其它系统中,XMLTV是管理电视节目不可缺少的部分,因为,电视节目单是以XML格式存储的,它用于安排时间并且把无人关注的电视节目记录删除。XMLTV也提供了关联到节目信息的链接,这些信息包括节目的来源,录制时间、节目的导演、节目的参与者,以及节目的种类等等。
通过以上描述,相信你有可能已经推断出,XMLTV不仅仅是一个描述指定类型的XML标记的源文件。除了对电视节目单具备整理规范的DTD之外,XMLTV的开发者Edward Avis还将开源的Perl代码纳入到XMLTV中,这些Perl代码能够加入到MythTV、Freevo,以及其它用于电视节目的基于Linux的媒体环境中。由于电视节目单数据是以XMLTV格式存储的,因此,XMLTV 代码就能够定期的或者根据用户的需求来下载和更新节目单,并显示给用户,以便让他们根据节目单来选择想看和想录制的节目。
对于XMLTV文件类型定义(XMLTV DTD),简单地说,它展示了一个用于电视节目单的、简单但功能强大、并且具备描述性的标记语言。这个文法的关键元素包括以下几个方面:
·tv generator-info-name:节目单的来源
·channel id:频道名称信息、网络URL链接、显示信息以及更多信息
·programme:节目的英文名称,单一节目数据存储的地方
·title:节目名称
·desc:文本的节目描述
·credits:对导演及其他有贡献者的谢启和姓名
·director:导演姓名
·actor演员姓名
·date:数据存储
·country:原产国家
·episode-num:情节数,用于区分每一个情节、辨认已经录制了的重播情节
·video:视频描述符的集合,如特征(比率)
·aspect:纪录的比率特征(4:3表示SDTV,,16:9 表示HDTV)
·rating:评估数据
·value:已确定的评估值
·icon:显示的评估图标
·star-rating:质量、受欢迎度,通过明星个数表示
虽然,上面的列表只包含了一部分关键元素,而且也仅仅是大致的描述(请参考DTD完整细节和解释),但是,它很清楚的表明了,为什么能够捕获以及存储所有电视节目的信息——人们需要获得这些信息,并且根据它们选择看什么以及录制什么节目。
而且,与XML的其它所有格式一样,这一数据也是明码文本,因此是非常易于获取、下载、解析、解释、存储以及处理的。如果你花时间来阅读DTD的话,你也能够了解到,XMLTV的结构和语法其实都并不复杂。对于那些有兴趣创建自己的电视节目收藏的人们而言,使节目的获取——不仅从无线电信号,而且从电缆或者卫星提供者,甚至是从日益增加的网络信息源和提供者那里获取节目——变得简单,这确实带来了实际的好处。
相关推荐
-
是否可以将Linux的LXC理解为操作系统虚拟化?将Docker理解为应用程序虚拟化?
-
OpenStack与KVM的区别与联系有哪些?
OpenStack与KVM都是目前IT界比较热门的两个词汇。它们都是开源的,这两者的联系和区别有哪些?
-
什么是操作系统虚拟化?
什么是操作系统虚拟化?
-
docker和传统Linux下多用户多任务,有什么区别?