rainkin教你如何下载flash中的视频
我因为之前购买了某个教学视频的课程,寒假正想看的时候发现还剩9天的有效期了,无奈只好寻求办法把视频下载下来看,经过2天的奋斗终于成功下载,特此分享给大家~ 一、下载基于flash的rtmp的视频1. 简介首先,我使用的是chrome浏览器,本以为从应用商店下载一些视频嗅探的插件就能成功获得下载,没想到视频加密了,获取到的只是一个基于flash的播放器(.swf格式),采用RTMP(实时传输协议)来获取视频内容,这样就能保护视频,防止被下载 既然明白插件没用,那就从RTMP下手吧~ 于是google一下rtmp download,果然国外牛人就是多,已经有人开发出如何截获rtmp的软件了(RTMPDumpHelper),下面我就为大家演示下如何操作 此外我们还需要一个小工具RTMPDump.RTMPDump是一个匈牙利人的作品。他在Adobe未公开RTMP协议的条件下,写出了针对RTMP协议的客户端程序,实在了得。他和Adobe的故事,大家也看在网上看看。? RTMPDumpHelper软件下载地址:http://www.nirsoft.net/utils/rtmp_dump_helper.html RTMPDump软件下载地址?http://repo.or.cz/w/rtmpdump.git 2. 具体步骤第一步.先把上面的软件下载下来,解压到同一个文件夹 第二步. 打开你想要下载的视频的网站,先不要播放 (主要注意的是:官方说仅支持32位的浏览器,大家自己可以先用64位的试试,不行再换) 第三步. 打开你解压的文件下下的 RTMPDumpHelper.exe文件 打开后,软件会自动给检测浏览器,attach to the browser a dll file 第五步,播放视频,图片右方那个cmd窗口就是一个服务器,用来截获视频流 成功后显示如下: 此外在RTMPDumpHelper的设置中可以选择视频存放地址,这里就不再过多的截图了~ 二、下载基于flash的http视频本以为这样就可以把所有视频下载下来了,没想到问题又来了~ 我发现有部分的视频,不能被上面的软件截获,那就只有一种可能了:它们不是基于rtmp协议的~ 于是用抓包软件抓抓,发现原理是差不多的,依旧是外面套了已成flash的马甲,但是里面的协议换成了http的,这样我们当然就抓不到啦~ 而且视频的内容并不会被缓存,因此想通过ie查看缓存文件的办法来获得视频也是行不通的~ 那要怎么办呢? Fiddler登场了!Fiddler也是一个抓包软件,但是不同于wireshark的是,他并没有使用WinPcap,而是通过一种代理代理服务器的方式巧妙地抓取http请求,具体大家想了解就百度吧~ 第一步,下载Fiddler:http://fiddler2.com/ 第二步,打开Fiddler,然后播放视频 第三步,我们可以看到Fiddler捕获到了一个flash文件 然后右键选择 save -》and open as local file ok,保存下来了~ 三、原理
其实这两个方法的原理都是一样的~ 我官方的一个图片表示下:
在客户端pc机与你请求的网站的服务器之间架一个代理服务器,每次你从浏览器发送请求,都会先经过代理服务器,
代理服务器再将请求转发给真正被请求的服务器。服务器返回的信息也是返回给代理服务器,代理服务器再将信息发
送给客户端pc机。
因此,当视频从代理服务器经过时,我们将他保留下来,这样就成功下载了~
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |