2012-10
9

RTMP速速下马来

By xrspook @ 17:04:07 归类于: 烂日记

昨晚,按照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>

那玩意用的是流媒体,载体是看到就心烦的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,很多马赛克,我懂,但这不是我的错,是墙害的,呜呜呜~~~

2012-04
28

终于攻克了hulu.com

By xrspook @ 20:29:45 归类于: 烂日记

为什么要Hulu?因为YouTube没有呗!今天要做Alberto Del Rio 18个最佳Smackdown瞬间 官方视频列表(2010-2012年4月),但里面有几个是YouTube没有或者WWEFanNation删除了的,最最明显的要数“SmackDown: Alberto Del Rio’s Retirement Party for Edge – Part 2”,其它凑合着不清晰,用网友山寨版本也就算了,但Edge,我看到有官方hulu的(Hulu – Friday Night SmackDown: Alberto Del Rio’s Retirement Party for Edge, Part 2),我怎么可以逃避不去下!我做不到,真的做不到。

Hulu一直是我的痛,我一直没怎么敢用那玩意,印象中没有Firefox插件下载支持。

今天,我很傻很天真的希望有些傻瓜式的软件能实现我的愿望,比如说:用SteamTransport又或者GetFLV,前者显然不行,后者的9.0.9.6版本可以,之前的9.0.6.*不行,而GetFlv是付费软件,试用版你只能下载文件的50%,囧死你是吧。

不甘心,怎么会甘心,于是我开始琢磨How to download videos from www.Hulu.com onto your computer? ,里面有人说到:

Originally Posted by srpenn82.blogspot.com/2011/01/download-from-hulu-with-rtmpdump.html

install Firefox
install HxD
start the video, then pause
HxD > Extras > Open RAM > plugin-container.exe
get RTMP URL
Search ?sessionid
use that URL to find the playpath
Search 1000.mp4

Example:
Code:

rtmpdump 略

Notes:
once the video starts playing you have 3 minutes to make a connection with RTMPDump so be quick
Reply With Quote

但上帝啊,那个plugin-container.exe进程里有多个?sessionid被搜了出来,我哪知道哪里是哪里?到底哪个才是我要的URL,不知道URL是什么,后面的都免谈了。

然后,我又翻啊翻,翻到了这个:

get-flash-videos still works with Hulu.

Quote:
Originally Posted by Tri
How does that work?
svnpenn.github.com/2012/01/get-flash-videos

我毫不犹豫地去下载get-flash-video,然后按照它的安装指示一步步操作。

接着我回到Download From Hulu With get-flash-videos的文章,rename的步骤我没去做,Install Hulu plugin成功了,但Download by URL和Download by search都不行。无奈之下,我去了get_flash_videos Hulu.pm的开发页

get_flash_videos是利用rtmpdump下载视频的,而hulu的视频只允许美国IP播放,其它国家的你就爬梯什么的吧。于是我恍然大悟,原来,这是要在命令行里加入代理!

加入代理后,hulu的CID和EID算是分析出来了,也就是说这些东西找到了下载地址!但rtmpdump依旧出错,我下载rtmpdump 2.4的时候就纳闷,我试过双击,但窗口打开了又自动关闭,根本就是几个.exe文件,没有安装,我该怎么确认get_flash_videos调用了它去下载呢?

我能嗅到,胜利不远了。继续搜索,我发现了这么个帖子:

Re: RTMPexplorer – rtmpsrv/rtmpsuck/rtmpdump GUI for Windows
you are in wrong directory. go to C:\rtmpdump-2.4 and use cmd

于是我明白了,如果在cmd之后直接用get_flash_videos肯定不行,要get_flash_videos调用rtmpdump下载就要get_flash_videos在rtmpdump的路径下运行!

于是,我终于成功了!有截图有真相!!!!

作为一个非米国的,要想下载hulu的路人甲还真不容易!!!你得装perl,用命令行,你还得懂爬梯。所以,必须地详细叙述一下在天朝想免费下载hulu要怎么干。不单是天朝哦!以下步骤适合任何不在米国的hulu粉。

以Windows XP SP3为例

1、下载RTMPDump,解压后把它放在一个叫“rtmpdump”的文件夹,并把这个文件夹放在根目录下,比如说“D:\rtmpdump”,这个RTMPDump根据不同的系统也有不同版本,各取所需了大家。

2、下载并安装ActivePerl,这个简单,下载电脑对应的操作系统版本,一路的确认就好,但要确保Perl必须是安装在根目录下。

3、然后进入命令行(啥?你不知道命令行在哪里?开始-运行-cmd-回车)

4、在命令行下输入:
ppm install WWW-Mechanize
ppm install XML-Simple
ppm install Crypt-Rijndael
别担心,Windows是贴心的,你复制一行,然后在命令行的闪动光标处右键,粘贴然后回车就搞定一行了,回车后会提示下载安装什么的,别管,基本不会有错,但你别把无关紧要的“空格”粘进去就不会有问题。每一行东西安装完成后命令行会回到你一开始进入cmd时的提示语。

5、下载get_flash_videos,这是必须的,这里有几个版本,我选择下载的是combined-get_flash_videos-1.24,把它下载到rtmpdump文件夹,把它重命名为“get_flash_videos”(真纯粹是为了让后面的命令不那么长而已啦)。

6、cmd进入命令行,先转换路径,默认路径是c:\Documents and Settting\用户名,你需要转到rtmpdump的路径,具体操作是(以D:\rtmpdump为例):输入“cd d:/rtmpdump”回车,输入“d:”回车,然后你就看到路径已经到达“D:\rtmpdump”了。

7、“D:\rtmpdump”的路径下输入“perl get_flash_videos --add-plugin http://gitorious.org/get-flash-videos-plugins/gfv-plugins/blobs/raw/release/Hulu.pm”,这是让get_flash_videos装hulu的插件。到此为止,如果你是米国用户,往后你就可以开始下载hulu了,但如果你不是,你还得准备翻墙软件,什么VPN,SSH等等什么的。

8、如果你是美国用户,在把“perl get_flash_videos URL”粘贴到闪动光标后就好,其中URL是你要看的那个Hulu视频的地址,然后你会看到屏幕一大片的走字,看到神马百分比,你已经大功告成了!接下来就是等待文件下载完成,然后把命令行的窗口关掉。但如果你不是美国用户,你就得这么写“perl get_flash_videos --proxy *** URL”,,“***”部分就看你用什么梯子爬到美国了,比如说如果你用某门的话“***”就是“http://127.0.0.1:8580”如果你用的是某PU,那么你的“***”就是“http://127.0.0.1:1984”,如果你用的是某TE,那么你的“***”就是“http://127.0.0.1:8888”,这里靠大家各显神通,除了http写法,还有sock写法,这里我就不多说了。所以,简单来说,你在天朝,通常来说,你完成了1-7步以后,第八步,如果你要下载“http://www.hulu.com/watch/235417/friday-night-smackdown-alberto-del-rios-retirement-party-for-edge-part-2”这个Hulu视频,那么你需要输入的是“perl get_flash_videos --proxy *** http://www.hulu.com/watch/235417/friday-night-smackdown-alberto-del-rios-retirement-party-for-edge-part-2”(“***”是什么你懂的)。然后就等待吧,等待下载完成,哇咔咔!!!!!

不就是想下载一个很健康的视频文件嘛,这么折腾~~~ 不过,折腾也是种乐趣的说。

© 2004 - 2024 我的天 | Theme by xrspook | Power by WordPress