首页 » Windows » DOS/CMD » 正文

在线视频的提取之虾米音乐MV|淘宝视频

如今网页在线视频播放已经广为应用,大多网站为了保障网站的用户流量并不提供下载功能,而有时候我们需要下载视频离线观看,或作为编辑素材,或者转载时,就得想方设法去把视频从网站上扒下来了。

网页播放的原理就是从服务器下载视频文件或动态加载视频碎片,实现客户端的流畅播放。故而,整个视频的内容都会被传输到客户端的电脑上,而通过浏览器审查元素,我们也可以轻易的看到视频文件的远程地址,或者cdn地址。由于网页播放器的内核均是日常的wmp、flash等,故而视频文件只要按顺序提取出来进行合并,就不需要任何解加密便可在自己电脑上播放。

所以关键技术,就在于按顺序提取所有碎片,然后将其合并成一个可以播放的媒体文件。

对于直播平台,采用的流媒体技术,同样也可以通过对ts等视频流进行捕捉实现录制效果。

实现这一功能的成品工具已经不少了,网页插件,第三方软件等。

博主用过的有idm、硕鼠、维棠等。

闲话少叙,下面开始本文正式内容,提取虾米音乐MV|淘宝视频的方法。

因为通过上述提到的软件不能正常获取到虾米音乐MV的视频,所以就自己研究了一下。

首先,在MV页面播放时,审查元素,发现播放器调用的是来自淘宝vodcdn的一个swf。

于是,打开该网页,审查元素,发现页面会动态加载一系列的1.flv文件,该文件下载后发现并不能正常播放。

于是想到,应该是文件不完整,发现原来taobao视频的cdn采用了一个再简单不过的明文方式的url进行视频的调用,如下:

http://vodcdn.video.taobao.com/oss/ali-video/00000000000000000000000000000000/video.flv/start_0/end_20971519/1.flv

该URL中:

00000000000000000000000000000000是该视频的id,每个视频会有不同的地址;

video.flv表示该视频为flv格式的视频;

start_0表示该视频文件的第0个字节开始下载;

end_20971519表示本碎片截取到第20971519个字节。

1.flv表示下载文件保存的文件名,可自定义。

通过实验发现,淘宝视频的vodcdn限制碎片的大小<20M(20971520字节),即每个碎片最大为20971519字节,超出大小页面直接404,

故而,我们需要对视频分段进行下载。

首先,将视频拖拽到最后,然后找到视频加载的最后一个1.flv碎片,找到该URL中的end_值,该值即为视频总长。

再将其分割为20M以内的碎片进行下载即可。

将所有碎片下载完后,将其所有文件合并在一起即可,

在文件夹中打开CMD,输入copy /b *.flv XXX.flv 即可进行合并(注意文件最好按照顺序进行命名以免出现碎片错乱的情况)

注: 本文只提供一种技术参考,对于提取视频内容严禁转载和传播的,请不要违法提取使用。

参考:

http://www.52pojie.cn/forum.php?mod=redirect&goto=findpost&ptid=439240&pid=10886481

 

发表评论