宝丽通视频点播服务用在许多宽带服务上。速度较快,但是必须使用其特定的播放器vodplayer才能播放。而这个软件只有windows平台上的版本。在linux或者mac无法使用。除非装虚拟机。那太麻烦。
现在提供一个解决方案,其原理如下:
首先分析一下,为什么只能用vodplayer播放器才能播放呢?这肯定是服务器上对视频请求做了判定,一个http地址格式的多媒体地址,只要分析一下具体的数据包就能明白了。通过嗅探器可以得知,主要是数据包中的agent指出了请求者是vodplayer,应该是根据这个来判断服务器是否响应请求。如果不是改播放器发出的请求那拒绝响应。正是如此,我们被限制只有vodplayer播放器才能播放。那么我们只要能够伪装成该播放器在提出请求就可以了。
得益于我们强大的linux下的犀利下载器wget,我们可以轻松获取视频内容,也就是说可以下载到本地上之后再观看。wget可以通过参数把自己伪装成各种客户端。该参数就是 –U。
故而我们分三个步骤完成下载任务。
第一步,通过网络嗅探器分析出vodplayer的agent是“NovaSoft NetPlayer/3.8”,第二步,得到电影的http的地址。在这里需要一点技巧了,一般浏览器上都是通过iframe来调用嵌套有vodplayer的ActiveX代码来播放的。否则就无法播放,不过没关系,我们本来就没打算在线播放嘛。只要分析html页面的源代码可以找到电影的http地址。可以用firefox浏览器,安装一个firebug插件,那是相当方便就能得到地址。
第三步,在控制台输入指令调用wget就可以下载了。格式如下:
wget -U="NovaSoft NetPlayer/3.8" "视频的http地址"
就ok了。
当然了,在windows平台下也是可以实现的。因为wget也可以在windows平台下使用。其实也就是安装一个bash运行环境,这个就是同样很是犀利的cygwin了。
当然如果你能找到其他的能够指定agent的下载器那也一样可以,不一定非要使用wget。
这个呢在国内还是很有用的,毕竟很多服务都只能在windows下才有相应软件。一来可以避免局限在windows下,为喜欢linux 的朋友提供一个方便。二来网络速度不是很稳定,有时在线看非常卡,不方便。一部电影只要5分钟左右就下载下来了,在本机上看的很惬意。当然要注意的是,如果大家都用这种方式下载那很消耗带宽的。不要胡乱使用,切忌切记。
可以将Fedora的源配给yum(发行版不限,只要装上了yum),也可以将Ubuntu源配给apt(同样不限发行版)。配置方法是随软件包管理程序的,跟发行版无关(各发行版可能会有各自的配置喜好),一般在/etc下对应目录下添加新的源配置文件就完了(/etc/yum.repos.d,/etc/apt/sources.list.d)。需要什么软件而发行版又没带,还是从源代码编译吧(可以作成rpm或deb包,然后交给软件包管理程序统一管理),使用其他发行版的源很容易出问题的。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)