又是视频下载,老生常谈的话题。阿刚同学已在乐软博客多次与大家分享推荐相关工具,最近得空,再次研究了目前各类视频下载工具,今次做个专题总结,与大家共享学习。
首先,现在的视频网站为保护版权,视频加密技术日新月异。无论是那款视频下载工具,绝不敢自称通杀所有视频网站。所以,选择视频下载工具,我的关注点不仅在工具本身,更重要的是其作者更新维护频率如何,能否根据视频网站的规则维护工薪。
鉴于以上两点,阿刚挑选出四款视频下载工具。注意,以下四款工具全部都是命令行工具,没有gui图形界面,适合喜欢折腾的同学玩耍。另外,四款工具下载的视频全部都是无水印视频~~
youtube-dl
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
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合并视频。
Video Download Manager
如果你实在不喜欢命令行工具,那么这款使用youtube-dl+you-get为核心的工具一定可以满足你的需求。
你无需理会那些让人抓狂的命令,只需复制粘贴视频地址即可解析下载。
其实之前在乐软博客文章中,阿刚有介绍过这款工具,,当时工具的名称还是GUI-YouGet,且运行需要配置java环境,对于小白同学来说确实有些麻烦,此工具是作者目前开发的最新版。在windows系统上可完美运行。
ykdl-专注于优酷视频
由于视频网站规则不断变换,无论是神器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
annie是GitHub上一个开源项目,是一款专注于在线视频下载的轻量级命令行工具。annie支持解析下载包括youtube、优酷、爱奇艺、腾讯视频、抖音等国内外17个在线视频网站。
annie支持的命令相当多,下面阿刚简单的介绍几个常用的命令。
【下载视频】
通过 annie +视频网址
,即可快速解析下载视频。默认情况下,annie会自动下载最高画质,并且经阿刚测试,annie是四款工具中唯一一款不需要登陆账号就可解析下载优酷1080P视频的工具。
并且值得一提的是,最新版的annie中添加了对bilibili短网址的支持,也就是直接输入bilibili视频的短地址就行比如:annie av26191654
【查看视频信息】
如果你想知道视频的基本信息,可以通过annie -i
命令查看视频信息
【下载播放列表】
如果你想下载某个播放列表,批量下载视频
可以使用annie -p
命令
更多命令大家可以查阅Github项目主页,或者输入”annie -h”命令查询帮助信息。
如何下载VIP视频
首先,四款工具除了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这样的神器,也会经常出现无法解析下载的情况,此时,尝试切换不同的工具或许可以解决你的问题。
阿刚认为,只有不断的探索,不断的学习,才会学有所成,而这才是玩软件真正有趣的地方~~
相关文件下载
Video Download Manager Github地址
-
除了迅雷,还有哪些下载工具值得推荐 2017-11-29 24,748
-
一款简单强大的无损音乐下载工具 2018-04-06 14,662
一些学习类型的网站,像虎课网这类的学习视频能不能下?
@lyok 这个肯定是不行的了
能下BT和磁力链吗?
爱奇艺VIP视频能下载吗?
@Jeff 理论上可以,但是我没测试过~~
@阿刚同学 我今天annie下的b站视频,还是有水印阴阳师!博主什么情况阴阳师
@先知的旧相识 不是一定可以下载到无水印的,比如一些独家的视频是下不到无水印的~~
为什么我在系统变量里创建这些 最后使用ykdl 优酷视频 无效
点击新建;
新建JAVA_HOME变量名;
粘贴 C:Program FilesJavajdk1.5.0_17 ;
新建CLASSPATH变量名;
粘贴:%JAVA_HOME%libdt.jar;%JAVA_HOME%lib ools.jar; ;
新建PATH;
粘贴.;%JAVA_HOME%in;
保存即可。
@视频包装 这创建的是java 环境变量,这个与java 没啥关系。。
百度搜索:如何给exe 创建变量。
好好看,跟着做就是了。。。
不错,就是感觉比较麻烦些
求问优酷vip的视频为什么用annie也显示客户端无权播放呢 cookies好像不行啊
Annie不会用….有教程吗,不知道怎么创建变量
@狛爵 创建环境变量,网上有很多教程的,百度搜索一下就好啦
这里三言两语是讲不清楚的~
annie怎么安装呢
annie会下载所有画质的文件,怎么限制只下载最高画质的呢?求教
怎么下载QQ音乐或者网易云音乐呢?下载不了
@松哥哥 网易云音乐是可以下载的~~~
您好 想請問一下annie這個怎麼安裝啊 是不是還得通過go get
@阿弥陀佛 annie的github项目主页上有提供exe版本的,你下载之后,为其创建系统path变量就可以使用命令了
@阿刚同学 不好意思 我找了一下 沒有看到有exe版本 博主能否指導一下
怎么搭建ffmpeg环境呢
楼主 怎么感觉完全看不懂 我打开cmd 直接输入ykdl 优酷网址。 然后什么东西都没有 无效 。 ykdl Github下载了不知道怎么启动它 还有You-get Github 安装了打不开 麻烦指点指点
@视频包装 要创建变量,才可以在cmd里使用相关命令
@阿刚同学 感觉没学编程java的这些玩不了
我用好几个工具都试了bilibili和腾讯视频的,也都是有水印,爱奇艺没有,不知道为啥,楼主你是用哪个下bilibili或腾讯视频没水印的呢?望指点
@疯狂的心 博主主要测试下载优酷视频,腾讯视频使用annie下载无水印,但是有些特殊视频,不管是优酷还是腾讯,下载依然有水印,并不是百分百无水印的。多参考一下github项目主页,确实有问题可以向工具作者提交改善,自己多折腾折腾吧
你好 打扰下↓用youtube-dl下载的优酷有水印 怎么回事
@天使的翅膀 某些特殊的视频,比如优酷独播,可能会有水印~~
你可以尝试切换不同的工具试试吧