首先,现在的视频网站为保护版权,视频加密技术日新月异。无论是那款视频下载工具,绝不敢自称通杀所有视频网站。所以,选择视频下载工具,我的关注点不仅在工具本身,更重要的是其作者更新维护频率如何,能否根据视频网站的规则维护工薪。
鉴于以上两点,阿刚挑选出四款视频下载工具。注意,以下四款工具全部都是命令行工具,没有gui图形界面,适合喜欢折腾的同学玩耍。另外,四款工具下载的视频全部都是无水印视频~~
Youtube-dl是谷歌github上的一个开源项目,它是一款轻量级的命令行 下载实用工具,阿刚曾在乐软博客里文章<不仅仅是youtube>一文章,详细介绍过Youtube-dl。
作为一款命令行视频下载神器,Youtube-dl功能强大,可解析下载包括youtube、youku、腾讯视频、爱奇艺等国内外上百个视频网站,它甚至还支持XXX网站的视频解析与下载,比如阿刚经常用它下载XXX片子~~
youtube-dl支持Winodws ,linux和mac平台。安装配置简单,在Windows平台上,你只需下载youtube-dl.exe并为其创建系统变量,就可以通过CMD输入youtube-dl命令来下载视频了。
youtube-dl支持的命令众多,在Github项目主页上大家可以查阅命令,或者直接键入Youtube-dl -h
查看帮助说明。
youtube-dl --list-extractors #查看支持网站列表 youtube-dl -U #程序升级 youtube-dl --get-format URL #获取视频格式 youtube-dl -F URL #获取所有格式 youtube-dl -o 输出路径
如果你要下载视频,只需键入命令”youtube-dl +视频地址
”
默认情况下,youtube-dl会自动选择下载最高画质。
需要说明的是,一般在线视频网站视频都是被分割成多个小段,youtube-dl下载之后会自动调用ffmpeg来合并视频。如果你没有安装ffmpeg,那么你必须自己合并视频。
FFmpeg是一个自由软件,可以运行音频和视频多种格式的录影、转换、流功能,包含了libavcodec ─这是一个用于多个项目中音频和视频的解码器库,以及libavformat——一个音频与视频格式转换库。
不管是在线流媒体,视频播放/录制,视频转码一般都有ffmpeg的身影,只是由于ffmpeg是命令行工具,有一定学习成本,不被大部分人所知,我们更耳熟能详的是诸如格式工厂之类的音视频转换软件,但实际上格式工厂使用的就是ffmpeg编码技术。
you-get是一款开源在线视频下载工具,与youtubedl相同,同样是一款轻量级多平台命令行工具,you-get支持众多视频网站,包含 41 家国内主流视频、音乐网站,如 优酷土豆、爱奇艺、腾讯视频、芒果TV 、网易云音乐等等。
you-get有三种安装方式,如果你电脑安装了Python,可以通过pip3 install you-get
命令一键安装。Windows平台还可通过Chocolatey来一键安装。当然还有最简单直接的exe文件(需创建变量)
you-get支持的命令非常丰富,使用最简单的命令you-get +视频网址
,即可解析下载视频~~
默认情况下,you-get自动解析下载最佳画质的视频。同样在下载完成后,you-get会自动调用ffmpeg合并视频。
如果你实在不喜欢命令行工具,那么这款使用youtube-dl+you-get为核心的工具一定可以满足你的需求。
你无需理会那些让人抓狂的命令,只需复制粘贴视频地址即可解析下载。
其实之前在乐软博客文章中,阿刚有介绍过这款工具,,当时工具的名称还是GUI-YouGet,且运行需要配置java环境,对于小白同学来说确实有些麻烦,此工具是作者目前开发的最新版。在windows系统上可完美运行。
由于视频网站规则不断变换,无论是神器youtube-dl,you-get,经常莫名其妙无法解析视频,尤其是you-get,优酷某些特殊视频,在解析时经常出现”客户端无权播放-201″
这种情况下,我们可以试试ykdl。
ykdl——顾名思义,一款专注于国内优酷视频的命令行下载工具。阿刚这些天试用下来,在优酷视频解析下载方面ykdl的表现更为强大,至少在写这篇文章时,某些优酷视频,youtube-dl和you-get要么只能解析下载前几分钟,要么直接无法解析。
-h, --help show this help message and exit 显示本帮助信息并退出 -l, --playlist Download as a playlist. 将所给的视频 URL 作为播放列表进行下载 -i, --info Display the information of videos without downloading. 只显示视频信息而不进行下载 -J, --json Display info in json format. 以 json 格式显示视频信息 -F FORMAT, --format FORMAT Video format code. 指定视频的格式代号。参数通常是 TD, HD, SD, LD。默认最高清晰度。具体请看 -i 的输出。 -o OUTPUT_DIR, --output-dir OUTPUT_DIR Set the output directory for downloaded videos. 指定下载视频的保存目录 -O OUTPUT_NAME, --output-name OUTPUT_NAME downloaded videos with the NAME you want 指定下载视频的文件名 -p PLAYER, --player PLAYER Directly play the video with PLAYER like mpv 直接使用播放器播放而不是下载,推荐使用[mpv](https://mpv.io) --proxy PROXY set proxy HOST:PORT for http(s) transfer. default: use system proxy settings 为下载指定代理 HOST:PORT(主机名:端口号),默认使用系统的代理设置 -t TIMEOUT, --timeout TIMEOUT set socket timeout seconds, default 60s 设置网络传输超时时长,单位秒。默认为60秒 --no-merge do not merge video slides 不合并视频分片 -s START, --start START start from INDEX to play/download playlist 配合 -l 使用,从播放列表的第 X 项开始播放。 -j JOBS, --jobs JOBS number of jobs for multiprocess download 指定并行下载的视频分片数 --debug print debug messages from ykdl 打印调试信息 。
相比较而言,ykdl的命令并不太多,但足够我们使用,最简单的命令ykdl+视频网址
,可一键解析下载视频
当然,除了优酷视频,ykdl也支持爱奇艺、腾讯视频的解析下载。值得一说的是,通过ykdl -p
命令我们还可以直接加载在线视频到mpv播放器上播放。
如果你不堪忍受视频网站广告,使用此方法直接本地播放视频是个不错的办法。
annie是GitHub上一个开源项目,是一款专注于在线视频下载的轻量级命令行工具。annie支持解析下载包括youtube、优酷、爱奇艺、腾讯视频、抖音等国内外17个在线视频网站。
annie支持的命令相当多,下面阿刚简单的介绍几个常用的命令。
【下载视频】
通过 annie +视频网址
,即可快速解析下载视频。默认情况下,annie会自动下载最高画质,并且经阿刚测试,annie是四款工具中唯一一款不需要登陆账号就可解析下载优酷1080P视频的工具。
并且值得一提的是,最新版的annie中添加了对bilibili短网址的支持,也就是直接输入bilibili视频的短地址就行比如:annie av26191654
【查看视频信息】
如果你想知道视频的基本信息,可以通过annie -i
命令查看视频信息
【下载播放列表】
如果你想下载某个播放列表,批量下载视频
可以使用annie -p
命令
更多命令大家可以查阅Github项目主页,或者输入”annie -h”命令查询帮助信息。
首先,四款工具除了ykdl无法下载VIP视频之外,youtube-dl,you-get和annie本身就支持VIP视频解析和下载。本来今次的专题总结,阿刚是想给大家着重介绍一下收费视频的下载方式。
但遗憾的是写这篇文章时,youtube-dl、you-get,偏偏无法解析下载VIP视频,尤其是you-get,优酷某些普通的视频都无法正常解析,直接”客户端无权播放201″,但是这并不代表他们不支持VIP视频的解析和下载。
事实上他们的下载原理基本相同,都是通过加载cookies获取播放权限,实现视频解析和下载。也就是说,首先你必须要有个VIP账户,才可以通过这三款工具下载高清晰视频。
大前提已经讲完,下面阿刚简单说明一下如果通过annie来下载B站大会员视频。
【一】获取Cookies
首先登陆会员账号,快捷键F12,打开开发者工具。选择”Network”,F5快捷键重新加载页面,选择视频播放页面,将Headers里的Cookies信息全部复制,保存为txt文件,比如Cookies.txt
【二】加载Cookies
通过annie -c
命令加载已保存的Cookies.txt文件。即可成功解析B站大会员视频,如图中
(B站登陆账户最高可观看1080P视频,大会员视频可看1080P+)
三款工具加载cookies文件的命令大同小异。目前,只有annie可以正常解析VIP会员视频。至于youtube-dl、you-get只能等作者更新维护了,或许下个版本可以修复问题。
视频下载是个老生常谈的话题,如果你有视频下载的需求,这四款神器相信是必装工具。
最后,视频下载工具,没有一劳永逸,永恒不变的方法。视频网站不断在变,工具也在不断变。即便是youtube-dl这样的神器,也会经常出现无法解析下载的情况,此时,尝试切换不同的工具或许可以解决你的问题。
阿刚认为,只有不断的探索,不断的学习,才会学有所成,而这才是玩软件真正有趣的地方~~
相关文件下载
youtube-dl Github项目地址
ykdl Github地址
You-get Github 地址
Video Download Manager Github地址
annie Github 地址