天津矿粉厂电话:18526678933

手机版谷歌下载视频怎么下载不了_如何用Chrome下载视频流

更新时间:2021-01-19 04:03

最近看剧粉了一对CP,他们的戏简直是我的快乐源泉。本来正常的路数是下载视频,剪辑出片段,然后在被窝里静静地磕的,但是因为在海外没有VPN,爱奇艺app观看受限,网页版又不支持下载,搞的我很烦躁。

作为一个前端程序员,这简直激起了我的小宇宙,这不再是一个简单的磕CP的需求,而是对我专业技术的一次头脑风暴

解决问题:

用网页下载爱奇艺视频

原材料:

一台MacBook Pro一个Chrome浏览器一个Unblock Youku插件一个下载工具(optional)

首先用Chrome打开爱奇艺,选择想要抓取的集数

然后,根据富贵程度选择画质,比如我选的1080p

然后拖拽进度条到你喜欢的片段开始,最好提前个3秒

趁浏览器还没反应过来,迅速打开开发者工具,选择Network tab。这一步一定要快,因为天下武功唯快不破

开个玩笑。其实视频流的原理就是客户端不断地发送请求,然后服务器根据网络情况将视频数据拆分成小包发送。每个请求都带有一大串参数,包括源url、断点信息、画质等等。反映到实体就是一段几秒到几十秒不等的片段。在网络世界,这些就好比资源的钥匙,有了钥匙万物皆可下载

为了筛选出有效的视频信息,需要一点奇技淫巧:选择XHR类型,并在Filter中设置larger-than:100k,因为视频包一般都不会小

随着视频的播放,你会在Network tab里看到不断有请求在发出,这就是视频小包的数据。之所以要迅速track,就是因为请求会比画面提前几秒发出,以保证你观看流畅,如果不够快,很可能前面的几秒就抓不到了

然后右键点每个请求,复制链接,用下载工具就可以保存到本地了。这个过程有点枯燥,特别是视频包很多的时候,你可以训练你的猫做这个事(误)

迅雷是好东西,可以批量下载。下载时注意一定要按顺序一次一个文件下载,这样迅雷会自动后缀,保证视频包是连续排列

下载下来的文件是.ts格式,即MPEG transport stream传输串流。我们需要按顺序把它们衔接起来。

接下来是硬核command line时间。

打开Terminal,cd到视频文件的路径。用"ls -lsa"可以查看所有文件:这些码都是同一个key的请求,可以理解为连续片段,它的首尾一般都正好是视频转场,所以不会有中间砍断的现象。

下面我们建一个list把它们手动合并成一组(这一步很重要,因为合并的时候系统不会自动按文件名排序)。根据key和序号的格式范围:

echo 'd9c25b2f8f666097d855bfffcb22f529(' {1..9} ')'ts | tr "" "\ n"> tslist

生成列表后开始合并:

while read line; do cat $line >> 喜欢的视频名字.ts; done < tslist

大功告成。合并好的文件很多播放器都能播,比如QuickTime,VLC,迅雷影音…也可以根据自己喜好转化格式作为剪辑素材

总结:

这个方法的优点是,只要Chrome浏览器能看的就能下载,不需要任何花里胡哨的软件。最多最多用一个喜欢的下载工具,不用的话网页也可以直接下载。而且省去了下载全集的时间,只需要抓喜欢的片段就行,合并后画质无压无损,不用担心剪辑软件带来的附加问题。

当然缺点也很多了:首先视频都是小包,这方法抓长片段是非常心累的,你可能要下载几百个包。其次每个包的有效期都很短,过一两分钟就失效了,所以要么手快,要么一直监视request更新,一边暂停一边下载。最后,视频流的断点是随机的,也就是说你必须一包不漏地把一个完整片段全部抓到,否则再刷新的时候断点都不一样,合并时就不连续了。

最后是打开视频愉快的磕CP时间

公司新闻

行业新闻