昨晚,按照svnpenn的指引,我终于攻克下了WWE.COM的视频。
以下教程使用的方法均是svnpenn大神的杰作!我只是做一个详细的中文说明。
我们以WWE.com: Alberto Del Rio runs down the WWE Universe in Albany: WWE App Exclusive为例。
首先分析一下WWE.COM的视频我们可以肉眼从源代码看到的东西:
1
2
3
4
5
6
7
8
9
10
11
12
| <!-- PANE video_player_auto_1157 --><div id="video_player_auto_1157" class="pane pane-video_player_auto grid-col-8" data-position="0" data-mnumber="UND" data-id="1157">
<div class="pane-inner">
<div class="content"><div id="wwe-brightcove-player-div"><div class="geoip">To watch WWE videos, please <a href="http://www.wwe.cn/">click here</a> to visit our partner site.</div></div>
<!-- By use of this code snippet, I agree to the Brightcove Publisher T and C
found at https://accounts.brightcove.com/en/terms-and-conditions/. -->
<script type="text/javascript" src="http://video.wwe.com/geoip/group3.php?format=javascript"></script>
<script type="text/javascript" src="http://admin.brightcove.com/js/BrightcoveExperiences_all.js"></script>
<script type="text/javascript" src="http://admin.brightcove.com/js/APIModules_all.js"></script>
<script type="text/javascript" src="http://objects.tremormedia.com/embed/js/banners.js"></script>
<script type="text/javascript">WWEBrightcove.init("wwe-bcplayer");</script>
<div class="info details">
<div class="content">Alberto Del Rio tells the WWE Universe in Albany what he thinks of them.</div></div></div></div></div> |
<!-- PANE video_player_auto_1157 --><div id="video_player_auto_1157" class="pane pane-video_player_auto grid-col-8" data-position="0" data-mnumber="UND" data-id="1157">
<div class="pane-inner">
<div class="content"><div id="wwe-brightcove-player-div"><div class="geoip">To watch WWE videos, please <a href="http://www.wwe.cn/">click here</a> to visit our partner site.</div></div>
<!-- By use of this code snippet, I agree to the Brightcove Publisher T and C
found at https://accounts.brightcove.com/en/terms-and-conditions/. -->
<script type="text/javascript" src="http://video.wwe.com/geoip/group3.php?format=javascript"></script>
<script type="text/javascript" src="http://admin.brightcove.com/js/BrightcoveExperiences_all.js"></script>
<script type="text/javascript" src="http://admin.brightcove.com/js/APIModules_all.js"></script>
<script type="text/javascript" src="http://objects.tremormedia.com/embed/js/banners.js"></script>
<script type="text/javascript">WWEBrightcove.init("wwe-bcplayer");</script>
<div class="info details">
<div class="content">Alberto Del Rio tells the WWE Universe in Albany what he thinks of them.</div></div></div></div></div>
那玩意用的是流媒体,载体是看到就心烦的brightcove,同时,它采用了“geoip”,IP限制,也就是非IP字段内国家你看到的是浮云,比如说我不翻墙的话,在天朝我看不到视频,只会看到“To watch WWE videos, please click here to visit our partner site.”这么一句话。天朝不让你出去已经是很烦的了,别人还要关紧大门不让你进去,这更烦。幸好,WWE在米国,找代理神马容易点,如果是在意大利、西班牙、捷克、匈牙利神马,那就跪了。
所以,在天朝,你要下载WWE.COM的视频,你首先得有一个米国的VPN!而且速度允许你起码能把视频打开,哪怕很慢,里面的东西是每秒皆缓冲地播的。
根据svnpenn大神的指引,我们需要备齐工具。
其中包括
1、下载并安装32位的Firefox——利用Firefox播放视频时防全面宕机的plugin-container。
2、下载并安装Cygwin——简单来说这是一个在Windows下运行多种系统本不支持的语言的玩意,在Windows下学习Linux不一定要庞大吃内存的虚拟机了,哈哈哈。至于安装么,这里有粗略说明。
3、下载RtmpDump——这是嗅探和下载rtmp流体文件的核心!
4、下载rtmp-host.sh——你或许会不知道如何从前面的网址下载,我也不知道,所以我的做法是下载整个打包,然后再把rtmp-host.sh解压出来。
好吧,我们开始磨刀霍霍向WWE.COM视频。
1、开启你的米国VPN!
2、把rtmpdump解压到Cygwin的目录下,如果你的Cygwin安装在F盘,那么请解压到这里“F:\cygwin\usr\local\bin”。
3、把rtmp-host.sh放到一个你很容易访问到的地方,比如说根目录下的某处,如“D:\rtmpdump”。
4、启动Cygwin Terminal,初次使用会自动弹一堆东西,尽管让它弹,最后,它会给你一个“用户名@计算机名 ~ $”的东西,在“$”之后你就可以为所欲为了。跟Windows的命令行不同,这里是彩色的!这里的东西可以鼠标右键复制粘贴(Ctrl+C和Ctrl+V不行哦)!
5、转向到rtmp-host.sh所在目录下,也就是在“$”后输入“cd d:/rtmpdump”回车。哟哟,这里不像Windows命令行还要一句“d:”回车,而是直接到这个目录了!之所以之前要把rtmp-host.sh放在简单目录下,就是为了转向不太困难,你可以直接放根目录,但下载期间会生成一些东西,如果你不介意根目录一团糟,这无所谓。
6、用Firefox打开目标视频WWWE.com: Alberto Del Rio runs down the WWE Universe in Albany: WWE App Exclusive,保证视频已经在播了,不一定是正片,广告也可以。
7、在Cygwin里输入“./rtmp-host.sh”并回车,开始运行这个脚本!然后,你会马上看到紫色两行字“Killed flash player for clean dump. Hosts file reset. Restart video then press enter here.”照做呗,Firefox刷新视频网页,然后在Cygwin里回车。
8、回车过后,你会看到Cygwin光标闪烁几秒,然后提示“127.0.0.1 bcvideos.wwe.com 127.0.0.1 cp95906.edgefcs.net Press enter to start RtmpSrv, then restart video.”,当然了,这里是以WWE.COM的视频为对象,理所当然会看到神马wwe.com,如果你对付的是其它流体视频网站,你懂的了。按照这里的提示按回车,然后Firefox刷新视频网页。
9、在Cygwin回车后你马上会看到“RTMP Server v2.4-41-g7bae82a(c) 2010 Andrej Stepanchuk, Howard Chu; license: GPL”,重启视频后,耐心等待,因为这里的页面将在一段时间内没有任何反应,不耐心的你会觉得不成功。于是,你需要做的就是等待,慢慢等,前提是你的VPN工作良好。
10、等待,等待,等待后,突然Cygwin会有一大段走字,在最后那一行你会看到诸如“1688.909 kB / 32.77 sec (18.8%)”的进度条,那么恭喜你,在Cygwin + rtmp-host.sh + RtmpDump的作用下,你的视频已经在下载了,放在rtmp-host.sh的同一目录内。
以下是整个Cygwin过程里你将看到的东西
额外提醒:
1、VPN质量很重要,严重影响到你下载到视频的质量,我的VPN只能让我下载到WWE.COM下720*404分辨率的东西,但如果你网速好,你是可以下载到1280*720的(见这里)!
2、如果你在第10步,Cygwin中遇到“ERROR: RTMP_ReadPacket, failed to read RTMP packet header Closing connection… done! ERROR: Handshake failed Closing connection…done!”,莫怕,Firefox刷新视频继续等待即可。
3、如果你在Firefox视频播放器里遇到“This video stream is currently unavailable. Please try again later. Error Code: VE_FMS_CONNECT_FAILED”,杯具!要不说明你的VPN不好,要不是网络当时有点问题。前者的话,你可以换一个VPN了,后者的话,你可以等一下再试。
大概就是这样了哈。
吐槽一句,WWE.COM的东西真是,无论是720*404还是1280*720都是铺天盖地马赛克,我服了,但无论怎么说,算是下了回来了哈。
PS:这就是我根据上面的教程下回来的WWE.com: Alberto Del Rio runs down the WWE Universe in Albany: WWE App Exclusive,很多马赛克,我懂,但这不是我的错,是墙害的,呜呜呜~~~