您的位置:首页 > Web前端 > HTML5

YouTube Video Download

2015-11-15 00:00 204 查看
摘要: Google的YouTube废除了Flash, 现在用HTML5内置的<video>来实现了,不信你就右键点点视频看看菜单是不是变了。新模式下还能用以前的方法下载视频吗?

变了。不过改一点就行了。

以前的方法是:

用Chrome打开YouTube视频网页,

打开Developer Tools,到Network页

刷新当前Youtube网页

在DeveloperTools的Network页里,按照尺寸排序,找到一个尺寸最大的请求,往往就是那个了。对比看看类型,有时会是mp4或者flv

把那个请求的URL拿到新的页里打开,就会开始在这个页里播放视频了,如果是flv甚至就直接下载成文件了。如果是mp4,那么就从文件菜单里执行保存为...文件

其实这是对于所有的Flash类视频网页都有效的方法。手快的话5秒钟搞定。

现在的问题是,据不完全调查,Youtube的HTML5 video player是分段下载视频的,而且音频是分开的!,也是分段。

实验了一下,发现稍微改进一下第4步就行了:

也是找尺寸比较大的xhr类型的 (显然是ajax请求了),找到之后的URL是带有分段其实结束为止的,例如
https://r19---sn-oguesne6.googlevideo.com/videoplayback?signature=xxxxxx......html5&range=1541202-2106828&rn=13&rbuf=93753
把最后一段range之类的去掉,就是最终的视频或者音频URL了。

要是实在嫌烦,也可以使用online downloader (http://en.savefrom.net/) ,把网址贴进去,就会出现下载link了。

2015/11/18: 后来发现这种html5 video player使用的传输格式叫DASH manifest, 有好事者做了YouTube下载器GUI版,以及命令行版(用python做的).

一个命令 youtube-dl YOUTUBE_VIDEO_URL 就搞定了,而且可以根据playlist批量下载。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息