以下技术文转载自 xrspook http://www.xlanda.net/posts/6565

为什么要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

installFirefox
installHxD
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”(“***”是什么你懂的)。然后就等待吧,等待下载完成,哇咔咔!!!!!

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