Tag: PPTV

PPTV XBMC视频插件更新-v1.1.2

本文同步自(最佳显示效果请点击):https://zohead.com/archives/pptv-xbmc-plugin-v1-1-2/ 之前利用闲余时间写了个 PPTV 的 XBMC 多媒体中心系统的视频插件 v1.0 版本(请参考 [这里]),在 htpc XBMC 论坛上公布之外,经过几百个论坛网友下载使用之后,也发现一些问题,经过修正和增强之后更新了 1.1.2 版本的新 PPTV 视频插件。 更新内容如下: 由于 Python 2.5 以下版本不支持三目运算符,为兼容 Xbox XBMC 等老的 Python 环境,将 if else 三目运算符改换为普通的方式; 解决 PPTV 直播电视节目单获取错误的问题; 如果某个 PPTV 直播节目没有节目单,不能直接得到播放页面地址,则尝试通过搜索的方式得到播放页面地址; 引入 XBMC Chinese Keyboard 插件,为本插件增加根据关键字搜索 PPTV 视频的功能; 如果搜索到的视频不是由 PPTV 提供(例如:优酷、土豆之类),则在播放时给出提示; 播放 PPTV VIP 视频时提示用户无法播放 VIP 视频; 解决某些连续剧集节目(例如某些动漫剧场版全集)无法得到视频列表的问题。 针对某些网友提出的选择播放到开始缓冲间有点延时的问题,由于需要从 PPTV 未公开的 API 中获取真实视频地址,暂时没有什么好的办法解决。另外 PPTV 直播视频仍然使用的是 m3u8 格式的 HTTP live stream,需要 XBMC 系统能正常播放这种流媒体视频。 最后放出 1.1.2 版本 PPTV XBMC 视频插件下载地址: http://github.com/downloads/zohead/pptv4xbmc/plugin.video.pptv-v1.1.2.zip 使用此插件过程中有任何问题欢迎指正哦 ^_^

发布PPTV XBMC视频插件v1.0

本文同步自(最佳显示效果请点击):https://zohead.com/archives/pptv-xbmc-plugin/ 最近认识一位朋友想要在 XBMC 多媒体中心软件(http://www.xbmc.org/)上观看 PPTV(http://www.pptv.com/) 视频网站上的视频,看到有 Windows 上的 XBMC PPTV 插件,但都没法在我的 Raspberry Pi 微型电脑板上(板子虽小也支持播放 1080p 高清视频哦)运行,于是想着自己写个能够跨平台的 PPTV 视频的 XBMC 插件,顺便也拿这个练练 Python,HOHO。 既然要跨平台,那首先考虑必须全部用 XBMC 自带的 Python 脚本实现,不能调用 Windows 上 DLL 之类的鬼玩意,而且 Raspberry Pi 的 armhf 系统上也几乎不可能有 PPTV 的动态库可以用的。 基本原理: 通过 Python 插件发送 HTTP 请求时伪装成 iPad 客户端从 PPTV 网站上获取频道列表、视频列表、查询视频,并得到视频的实际 m3u 和 m3u8 地址。后来发现此方法得到的 m3u 和 m3u8 视频地址在 Raspberry Pi 系统中播放有问题,而且不太好直接解决。没办法,咱拿起 Wireshark 抓包神器,终于发现了 PPTV 未公开的 API 方法(其实 PPTV 一直从未公开,哈哈)得到网页 Flash 方式播放的视频地址。不过其中有个视频 key 的问题,没什么太好办法在 Python 中直接得到。最终想到通过 [硕鼠] 网站解决,硕鼠网站得到的 PPTV 视频地址明显有问题,但有个可用之处就是他能通过 Flash 得到 PPTV 的视频 key,那就省点事从硕鼠得到视频 key,从 PPTV 未公开 API 构造视频链接和分段信息(用过 Python 自带的 json 库),最终得到真实的视频地址。 有关 XBMC 的插件编写详细请参考这些链接: http://wiki.xbmc.org/index.php?title=HOW-TO:Write_plugins_for_XBMC http://wiki.xbmc.org/index.php?title=Python_development http://wiki.xbmc.org/index.php?title=Add-on_development 其中遇到的一个问题就是 HTML 的解析问题,刚开始使用的是比较成熟好用的一个 Python 插件:Beautiful Soup。这个插件的最大优势就是对不标准的 HTML 的容错性做的非常好,而且各种查找 HTML DOM 结构的函数也很强大。那就按照 Beautiful Soup 的要求解析 PPTV 的 HTML DOM,结果顺利取得,不久就发现一个问题,在 Raspberry Pi 这种比较弱的嵌入式板子上,下载 HTML 倒挺快,通过 Beautiful Soup 解析查找 HTML DOM 竟然要用去 15 秒左右的时间,这完全无法忍受,可以寻找替代品。 最终在 XBMC 的论坛里发现了比较好的 HTML parser 替代品:Parsedom XBMC Add-on。这是直接包含在 XBMC 库中的一个简单的 HTML DOM 解析扩展,import 之,下载 HTML 然后按照 class、按照 id 解析 HTML 的速度都在 1-2 秒之间,非常满意。后来使用中又发现...