奔跑中的奶酪

全网首发,没有比这更快的视频下载方法!

全网首发,没有比这更快的视频下载方法!

项目说明

视频下载,可以讲的内容很多,也很有意思。

视频下载工具那么多,为什么奶酪还要搞一个这样的项目呢?

除了“视频一键下载”,这个项目同时还是一套软件使用的方法论,一旦你学会了,你就会打开一扇新的大门。

踏入新的世界。

1、视频一键下载

我们先看看这个项目有什么实际的效率提升。

无论是图形化下载工具,又或者是命令行下载工具,在下载视频时,都需要各种繁复的操作。

没有一键下载视频的方法?

有!

i57_一键下载

这也是奶酪开启这个项目的原因。

很多视频下载软件都“二创”,而奶酪的这个“二创”,目的是让 Windows 用户也能拥有 Downie 般的下载体验。

上图正是效果演示,它可以与浏览器配合,实现视频的一键下载。

2、全网视频下载

其次,用 IDM 来下载视频并不总是有效

一些网站会特意屏蔽了 IDM,而如果用 DownKyi 这类软件,往往能下载的网站有限,而且也不够功能全面。

有没有支持绝大多数视频网站的下载工具?

有!

i57_下载工具

GitHub 上有许多视频下载项目,比如 youtube-dlyt-dlpyou-getluxBBDown,它们都是很好的选择。

我的选择是 luxyt-dlpBBDown

一个用于国内、一个用于国外一个B 站专用,完美配合。

选择 lux 的原因,是因为它有单独的 exe 编译程序,对普通用户来说更简单。

youtube-dl 支持的网站最多,数量超过 1300 多个网站,但由于谷歌的限制,youtube-dl 的下载速度很慢。

所以选择它的分叉版本 yt-dlp

3、自由搭配使用

此外,你还可以根据自己的使用需求,加入其它的视频下载工具,同时也还可以实现一键下载,比如:

1、gallery-dl

支持 1400+ 图片网站下载图片与合集,比如微博、500px、unsplash 等,可以说是图片版的 yt-dlp

可下载原图和视频,像微博,ins 这种,还可以下载某个博主相册内的所有照片,包括 live photo。[支持网站]

2、TikTokDownload

抖音去水印批量,可以批量下载用户主页作品、喜欢、收藏、图文、音频。

3、tdl

从 Telegram 上下载图片和视频,并支持批量下载。

4、.....

4、总结

你可能会说:“不是说全网最简单的视频下载方法吗,为什么有这么多步骤”?这要看你怎么理解了。

你是希望“一次性搞定所有问题”,还是希望每次下载视频的时候都要“来回复制粘贴”呢?

奶酪的这种方法,是从原理上解决问题

说一劳永逸,也一点不为过。

安装必备软件

而要实现这一目的,我们还需要一些前置安装。

别担心,这些软件都只是让你的电脑拥有某个功能,使用时不需要打开,而且只需要一次配置,就可以永久使用。

1、命令行软件

电脑里的大多数软件都是“图形化软件”,比如 Word、Excel、Photoshop,它们的一大特点是「所见即所得」。

软件里的所有内容,都放在我们眼前,只需要用鼠标点几下,就能完成任务,上手非常容易

还有一种软件,叫“命令行软件”,它们的特点是「所想即所得」。

它可以将我们大脑里想的内容「逻辑文本化」,通过不同命令的组合,就可以实现任务的批处理,还有自动化

命令行软件的上手难度较高。

可一旦你掌握以后,你在这上面花费的时间,将无限趋近于零

i57_CLI

2、Python

命令行软件的另一个特点,就是“全平台通用”。

只要安装有相应的语言解释器,命令行软件就可以在 Windows、Mac、Linux 等多个平台上使用。

比如 Python

Python 除了用于开发各种软件,它还有一项神奇的“胶水”功能,就是可以将各种语言和库“黏合”在一起。

比如你想让浏览器与其他软件联动起来,就可以用 Python 来实现。

Python 也可以说是一个“发动机”。因此,我们无论如何都应该给自己的电脑安装上 Python

i57_Python安装

下载地址:

Windows 64位:
https://www.python.org/ftp/python/3.10.10/python-3.10.10-amd64.exe
Win7 64位:
https://www.python.org/ftp/python/3.8.8/python-3.8.8-amd64.exe
Mac:
https://www.python.org/ftp/python/3.10.10/python-3.10.10-macos11.pkg

安装说明:

• 安装方法很简单,选择默认安装 ,并一路“确认”到底就可以了。

• Windows 用户一定要记得勾选上“ Add Python 3.X to PATH”。

• 考虑到兼容性问题,不建议安装 3.11 版本,3.10.10 就可以了。

• Mac 自带 Python,但是 2.x 版本的,建议还要是用 3.x 版本的。

Win 7 最高只支持 3.8 版本。

3、Python pip

此外,Python 还提供了 Python 包管理功能

通过 pip 命令(Package Installer for Python),我们可以下载 GitHub 上的绝大部分 Python 项目。

比如 B 站视频下载软件 Bilix,就是用 pip 的方法下载。

安装方法:

Windows 在“CMD窗口”输入以下指令。

安装:pip install bilix
升级:pip install bilix --upgrade
卸载:pip uninstall bilix

i58_Bilix

Mac 则在“终端”输入同样的指令。

考虑到 pip 默认使用的是“国外源”,下载时可能会非常慢,甚至无法下载,我们可以换用“国内源”。

只需要在原来的指令加上 -i [镜像源地址] 即可,也就是:

下面的链接为“阿里云”镜像源。

安装:pip install bilix -i https://mirrors.aliyun.com/pypi/simple
升级:pip install bilix --upgrade -i https://mirrors.aliyun.com/pypi/simple
卸载:pip uninstall bilix

i57_Bilix

上面的方法只是临时有效

如果你想每一次的 pip 下载,都用国内源的话,则可以用下面的代码来设置一下 pip 默认源。

pip config set global.index-url https://mirrors.aliyun.com/pypi/simple
pip config set install.trusted-host mirrors.aliyun.com

下载完成后。

在 cmd 窗口 或者终端,输入软件名,比如 bilix ,如果有返回结果,而不是 not found,则说明安装成功。

4、可执行文件

为了减低使用门槛,一些命令行软件还会发布编译了的“二进制可执行文件”。

和普通的图形化软件一样,它也是通过点击下载

虽然它没有图形化界面,但却打包了命令行软件的的所有文件,还有环境依赖,用户可以一键点击使用

在 Windows 上,通常以 “.exe” 为后缀名,

在 Mac 和 Linux 上,则通常没有后缀名,但图标会显示“exec”。

i57_可执行文件

还需要注意的是。

Mac 平台下,从网上下载的二进制文件,默认没有运行权限,你需要在“终端”输入以下代码来开启权限。

格式:chmod +x [文件路径]
比如:chmod +x /usr/local/bin/yt-dlp

5、添加环境变量

相比代码,有一个实实在在看得见的文件,对于普通用户来说,确实更容易理解。但这也增加了一个步骤:

添加环境变量

添加环境变量的目的,是为了在 CMD 窗口操作时,可以省去输入软件的具体路径

几乎所有的命令行软件都可以这样设置置。

A25_FFmpge1

正因为如此。

我们可以将所有的命令行工具,都放在同一个文件夹下

只需要设置一次环境变量,那么以后所有的软件,比如 FFMpeg只要放在这个文件夹里,那么就会自动生效。

比如奶酪就将所有命令行软件放在 D:\Commandline 里。

A25_FFmpge2

添加环境变量的具体操作如下:

A25_FFmpge3

最后,在 CMD 窗口或终端输入软件名,比如 ffmpeg,如果有返回内容,而不是 not found,则说明配置成功。

A25_FFmpge4

Mac 平台下也可以设置环境变量。

但更快更方便的方法,是将所有的命令行软件放在 /usr/local/bin 文件夹下,然后就会生效了。

i57_Mac_安装下载软件

至此,”视频一键下载“项目的所有前置软件,都已安装完毕。

安装浏览器扩展

扩展 ContextSearch web-ext 原本是一个右键搜索工具,但它也可以应用于调用第三方软件。[本地一键下载]

我们借此可以实现视频的一键下载。

1、安装扩展

安装扩展 ContextSearch web-ext。地址:FirefoxChrome本地下载

2、下载脚本

下载调用脚本 ContextSearch-Native-App.zip。地址:本地下载

3.1、解压脚本(Windows)

Windows 键,输入 cmd 回车,在弹出的窗口里查看当前目录,比如我的是 C:\Users\RunningCheese

然后将步骤 2 的脚本,解压到这里来。

i57_当前路径

3.2、安装脚本(Windows)

cmd 命令提示符里输入 install.py,又或者直接“双击”运行该文件。

i58_当前路径

注意:.py 文件的默认打开方式需要是 python,如果已经是了,则略过。

20220712143115

4.1、解压脚本(Mac)

如果是 Mac 平台的话。

打开文件夹 /Users/runningcheese(runningcheese 修改为你的用户名),然后将步骤 2 的脚本解压到这里来。

i57_Mac_安装下载软件3

4.2、安装脚本(Mac)

在“终端”窗口输入 python3 install.py,安装该调用脚本。

i57_Mac_安装下载软件4

5、导入配置

打开扩展 ContextSearch web-ext 的设置页面,导入奶酪的配置 ContextSearchOptions.json。(注意选择版本)

Windows 配置:Firefox 版本Chrome 版本本地下载

i57_当前路径3

Mac 配置:Mac Firefox 版本Mac Chrome 版本本地下载

PS:你也可以在奶酪公众号后台回复关键字 i57,一键获取以上所有内容。

i57_Mac_安装下载软件5

注意事项:

导入配置后,点击下载视频时,可能会出现“Messenger app is not connected”的提示。

这时需要在扩展的权限设置里,勾选“Request Permission”。

然后,重启一下浏览器即可。

i57_一键下载

注意:要完全关闭才算是重启,如果浏览器还在后台运行的话,就不能算是重启。

常见问题解答

一、常见问题

0、为什么在我的浏览器上无法调用下载?

A:你可以先试试奶酪的定制版浏览器,扩展、菜单、选项设置什么的,都是现成的,成功率更高。
A:下载地址:RC FirefoxRC ChromeRC Edge

1、为什么显示 Messenger app is not connected?

A:首先要确保已经安装 Python,需要下载官方的版本,安装后记得重启一下浏览器[本地一键下载]


2、为什么会显示“Windows找不到文件“lux.exe”,请确定文件名是否正确后,再试一次这个问题”?

A:在 CDM 窗口输入 lux,如果出现“Run lux failed: too few arguments”,则说明安装成功了,重启电脑即可。


3、为什么使用 lux 一键下载时,cmd 黑色窗口一闪而过就没有了?

A:lux 的下载文件,默认是保存在系统自带的「下载」文件夹,你需要在这里手动新建一个「 Video 」的文件夹。

注意:如果你修改了「下载」文件夹路径,下载的视频依旧是在 C 盘下,你需要自行修改保存位置。

i57_一键下载


4、我想修改视频的默认保存位置,要怎么办?

A:视频的默认保存位置,是在系统自带的 [下载] 文件夹里,也就是在 C:/User/你的用户名/Downloads/Video

修改默认位置,需要在扩展的设置页面里修改路径,比如改成 E:/Downloads/Video

i57_一键下载

如果想一键修改,那么可以用文字编辑软件,打开奶酪的 .json 配置文件,批量替换下面两个路径。

搜索 %HOMEPATH%/Downloads/Video 全部替换为 E:/Downloads/Video
搜索 ../../../Downloads/Video 全部替换为 E:/Downloads/Video

i57_一键下载

5、为什么使用 ytd-lp 无法下载 Youtube 的视频?

A3:需要设置代理端口。已知某 C 开头软件,无需添加。

某 S 开头的软件,需要在添加端口 --proxy 127.0.0.1:1080,某 V 开头软件的端口是 --proxy 127.0.0.1:10809

i57_一键下载

6、为什么在工具栏里点击下载无反应?

A:不要在工具栏里点击下载,会无法传递网页地址,需要在网页右键菜单里点击下载。

i57_一键下载

7、为什么没有 Bilix 的菜单选项?

A:默认情况下,Bilix隐藏的,需要你手动开启,如未安装 Bilix,可查看本文的【自定义选项 - Bilix 选项】。

i58_Bilix

二、已知问题

PS:如果还有什么其它问题,可以直接在评论区反馈!

最后

  1. 欢迎关注奶酪 公众号 获取奶酪所有的原创资源,回复文章编号,比如 i57 就可获取对应的资源。
  2. 欢迎订阅我的 “奶酪书签专业版”,15年沉淀,超过 5000 个分类井条有序的好用实用 html 网站书签。
  3. 本文由「奔跑中的奶酪」原创创作,欢迎订阅、留言和 打赏,也欢迎引用和转载,但要注明出处。

自定义视频下载

如果你在步骤 2 中,已经导入了奶酪配置,那就无需要再做操作,本章节内容,是为了让你了解具体的实现方法。

注意:Windows 和 macOS 的配置不一样。


一、lux 下载参数

lux 常用参数

保存位置 -o
相对路径:-o "%HOMEPATH%/Downloads/Video"
绝对路径:-o "E:/Download/Video"
分辨率 1080P -f 80-7
分辨率 4K -f 120-7
分辨率 720P -f 64-7
信息查询 -i
弹幕下载 -C
列表下载 -p
具体某几集,可以用 -items 选择,然后输入 1,5,6,8-10,数字之间用逗号隔开。
比如:lux -p items 5,6 https://www.bilibili.com/video/BV1fK411A7u3
批量下载 lux url1 url2
又或者将 url 链接保存到一个文件里,比如 lux -F C:/Users/RunningCheese/url.txt
如果 url.txt 文件刚好就在“CMD 窗口的默认位置”,那么可以用 lux -F url.txt
Cookie 下载 -c
比如 lux -c "复制的 cookie" 网址
又或者将 cookie 保存到一个文件里,比如 lux -c C:/Users/RunningCheese/cookie.txt
如果 cookie.txt 文件刚好就在“CMD 窗口的默认位置”,那么可以用 lux -c cookie.txt
网站 cookie 获取方法:FirefoxChrome。[示意图]
代理设置 lux 也支持 U2B 视频,但下需要先设置一下端口,在 CMD 窗口输入。[示意图]
set http_proxy=http://127.0.0.1:1080 & set https_proxy=http://127.0.0.1:1080
lux 下载国外视频较麻烦,建议还是用 yt-dlp 来下载。

二、lux 下载选项(Windows)

由于前面已经将 yt-dlpyou-getluxBBDown 等软件加入系统环境变量。

所以,在用浏览器调用这些软件时,在“Command”一栏,可以只输入“start lux.exe”即可,无需输入完整路径。

而如果是调用一般的软件,则需要输入软件的完整路径

i57_一键视频下载2

如果还需要设置“保存位置、分辨率选择、弹幕下载、列表下载”等等,则还需要添加相应参数。

注意:以下命令,需要在系统默认的「下载」文件夹里,手动新建一个 Video 的文件夹,否则 lux 会下载失败。

i57_一键下载

下面是奶酪 Windows 浏览器里自带的 lux 配置。

lux:

start lux.exe -o "%HOMEPATH%/Downloads/Video" {searchTerms}

lux 1080P:

start lux.exe -o "%HOMEPATH%/Downloads/Video" -f 80-7 {searchTerms}

lux 4K:

start lux.exe -o "%HOMEPATH%/Downloads/Video" -f 120-7 {searchTerms}

lux 720P:

start lux.exe -o "%HOMEPATH%/Downloads/Video" -f 64-7 {searchTerms}

lux 字幕弹幕:

start lux.exe -o "%HOMEPATH%/Downloads/Video" -C {searchTerms}

lux 列表下载:

start lux.exe -o "%HOMEPATH%/Downloads/Video" -p {searchTerms}

lux 信息查询:

start cmd /K lux.exe -i {searchTerms}

三、lux 下载选项(macOS)

由于 yt-dlpyou-getluxBBDown 等软件已经安装在 /usr/local/bin 文件夹下。

在用“终端”调用这些软件时,可以只输入软件名字,无需输入完整路径。

而如果是调用一般的软件,则需要输入软件的完整路径。

i57_Mac_自定义下载

如果还需要设置“保存位置、分辨率选择、弹幕下载、列表下载”等等,则还需要添加相应参数。

注意:以下命令,需要在系统默认的「下载」文件夹里,手动新建一个 Video 的文件夹,否则 lux 会下载失败。

i57_Mac_自定义下载

下面是奶酪 macOS 浏览器里自带的 lux 配置。

lux:

osascript -e 'tell application "Terminal" to activate' -e 'tell app "Terminal" to do script "lux -o ~/Downloads/Video \"{searchTerms}\""'

lux 1080P:

osascript -e 'tell application "Terminal" to activate' -e 'tell app "Terminal" to do script "lux -o ~/Downloads/Video -f 80-7 \"{searchTerms}\""'

lux 4K:

osascript -e 'tell application "Terminal" to activate' -e 'tell app "Terminal" to do script "lux -o ~/Downloads/Video -f 120-7 \"{searchTerms}\""'

lux 720P:

osascript -e 'tell application "Terminal" to activate' -e 'tell app "Terminal" to do script "lux -o ~/Downloads/Video -f 64-7 \"{searchTerms}\""'

lux 字幕弹幕:

osascript -e 'tell application "Terminal" to activate' -e 'tell app "Terminal" to do script "lux -C -o ~/Downloads/Video \"{searchTerms}\""'

lux 列表下载:

osascript -e 'tell application "Terminal" to activate' -e 'tell app "Terminal" to do script "lux -o ~/Downloads/Video -p \"{searchTerms}\""'

lux 信息查询:

osascript -e 'tell application "Terminal" to activate' -e 'tell app "Terminal" to do script "lux -i \"{searchTerms}\""'

一、yt-dlp 下载参数

yt-dlp 常用参数

代理设置 --proxy 127.0.0.1:1080(这里要改成你的端口)
保存位置 --output
相对路径:--output "../../../Downloads/Video/%(title)s.%(ext)s"
绝对路径:--output "E:/Downloads/Video/%(title)s.%(ext)s"
格式转换 --merge-output-format mp4
信息查询 -F
分辨率1080P -f "bestvideo[height<=1080]+bestaudio/best"
分辨率 4K -f "bestvideo[height<=2160]+bestaudio/best"
音频下载 -f bestaudio --extract-audio --audio-format mp3 --audio-quality 0
字幕下载 --skip-download --write-sub --write-auto-sub --sub-lang en,en-US,zh-CN,zh-TW --convert-subs srt
如果有英文、简中、繁中字幕,则全部下载,没有则下载“自动生成字幕”,并转化为 srt 格式。
列表下载 ---yes-playlist
具体某几集,使用 -I 来选择,比如1,5,6,8-10,数字之间用逗号隔开。
比如:yt-dlp -I 5,6 https://www.bilibili.com/video/BV1fK411A7u3
批量下载 yt-dlp url1 url2
又或者将 url 链接保存到文件里,比如 yt-dlp -a C:/Users/RunningCheese/url.txt
如果 url.txt 文件刚好就在“CMD 窗口的默认位置”,那么可以用 yt-dlp -a url.txt
Cookie 下载 --cookies
比如 yt-dlp --cookies "复制的 cookie" 网址
又或者将 cookie 保存到文件里,比如 yt-dlp --cookies C:/Users/RunningCheese/cookie.txt
如果 cookie.txt 文件就在“CMD 窗口的默认位置”里,那么可以用 yt-dlp --cookies cookie.txt
网站 cookie 获取方法:FirefoxChrome。[示意图]

二、yt-dlp 下载选项(Windows)

下面是奶酪 Windows 浏览器里自带的 yt-dlp 配置。

注意:如下载 U2B 视频失败,则需要添加代理端口 --proxy 127.0.0.1:1080(修改 1080 为你的端口)

yt-dlp:

start yt-dlp.exe --output "../../../Downloads/Video/%(title)s.%(ext)s" --merge-output-format mp4 {searchTerms}

yt-dlp 1080P:

start yt-dlp.exe --output "../../../Downloads/Video/%(title)s.%(ext)s" --merge-output-format mp4 -f "bestvideo[height=1080]+bestaudio/best" {searchTerms}

yt-dlp 4K:

start yt-dlp.exe --output "../../../Downloads/Video/%(title)s.%(ext)s" --merge-output-format mp4 -f "bestvideo[height=2160]+bestaudio/best" {searchTerms}

yt-dlp 音频:

start yt-dlp.exe --output "../../../Downloads/Video/%(title)s.%(ext)s" -f bestaudio --extract-audio --audio-format mp3 --audio-quality 0 --embed-thumbnail {searchTerms}

yt-dlp 弹幕:

start yt-dlp.exe --output "../../../Downloads/Video/%(title)s.%(ext)s" --skip-download --write-sub --write-auto-sub --compat-option no-live-chat {searchTerms}

yt-dlp 字幕:

start yt-dlp.exe --output "../../../Downloads/Video/%(title)s.%(ext)s" --skip-download --write-sub --write-auto-sub --sub-lang en,en-US,zh-CN,zh-TW --convert-subs srt {searchTerms}

yt-dlp 嵌入字幕:

start yt-dlp.exe --output "../../../Downloads/Video/%(title)s.%(ext)s" --merge-output-format mp4 -f \"bestvideo[height>=1080]+bestaudio/best\" -S codec:h264:m4a --write-sub --write-auto-sub --sub-lang zh-Hans,en --embed-sub --compat-options no-keep-subs -i {searchTerms}

yt-dlp 完整下载:

start yt-dlp.exe --output "../../../Downloads/Video/%(title)s.%(ext)s" --merge-output-format mp4 --no-playlist --merge-output-format mp4 -S codec:h264:m4a --write-description --write-info-json --write-annotations --write-thumbnail --write-subs --write-auto-subs --sub-langs zh-Hans,en --convert-subs srt {searchTerms}

yt-dlp 列表下载:

start yt-dlp.exe --output "../../../Downloads/Video/%(title)s.%(ext)s" --merge-output-format mp4 --yes-playlist {searchTerms}

yt-dlp 频道下载:(默认前30)

start yt-dlp.exe --output "../../../Downloads/Video/"%(uploader)s/%(title)s.%(ext)s" --merge-output-format mp4 --max-downloads=30 {searchTerms}

yt-dlp 信息查询:

start cmd /K yt-dlp.exe -F {searchTerms}

三、yt-dlp 下载选项(macOS)

下面是奶酪 macOS 浏览器里自带的 yt-dlp 配置。

注意:如下载 U2B 视频失败,则需要添加代理端口 --proxy 127.0.0.1:1080(修改 1080 为你的端口)

yt-dlp:

osascript -e 'tell application "Terminal" to activate' -e 'tell app "Terminal" to do script "yt-dlp -P ~/Downloads/Video -o \"%(title)s.%(ext)s\" --no-playlist --merge-output-format mp4 -S codec:h264:m4a \"{searchTerms}\""'

yt-dlp 1080P:

osascript -e 'tell application "Terminal" to activate' -e 'tell app "Terminal" to do script "yt-dlp -P ~/Downloads/Video -o \"%(title)s.%(ext)s\" --no-playlist --merge-output-format mp4 -f \"bestvideo[height=1080]+bestaudio/best\" -S codec:h264:m4a \"{searchTerms}\""'

yt-dlp 4K:

osascript -e 'tell application "Terminal" to activate' -e 'tell app "Terminal" to do script "yt-dlp -P ~/Downloads/Video -o \"%(title)s_4K.%(ext)s\" --no-playlist --merge-output-format mp4 -f \"bestvideo[height=2160]+bestaudio/best\" -S codec:h264:m4a \"{searchTerms}\""'

yt-dlp 音频:

osascript -e 'tell application "Terminal" to activate' -e 'tell app "Terminal" to do script "yt-dlp -P ~/Downloads/Video -o \"%(title)s.%(ext)s\" no-playlist -f bestaudio --extract-audio --audio-format mp3 --audio-quality 0 --embed-thumbnail \"{searchTerms}\""'

yt-dlp 弹幕:

osascript -e 'tell application "Terminal" to activate' -e 'tell app "Terminal" to do script "yt-dlp -P ~/Downloads/Video -o \"%(title)s.%(ext)s\" --skip-download --write-subs --compat-option no-live-chat \"{searchTerms}\""'

yt-dlp 字幕:

osascript -e 'tell application "Terminal" to activate' -e 'tell app "Terminal" to do script "yt-dlp -P ~/Downloads/Video -o \"%(title)s.%(ext)s\" --skip-download --write-sub --write-auto-sub --sub-lang en,en-US,zh-CN,zh-TW --convert-subs srt \"{searchTerms}\""'

yt-dlp 嵌入字幕:

osascript -e 'tell application "Terminal" to activate' -e 'tell app "Terminal" to do script "yt-dlp -P ~/Downloads/Video -o \"%(title)s.%(ext)s\" --merge-output-format mp4 -f \"bestvideo[height>=1080]+bestaudio/best\" -S codec:h264:m4a --write-sub --write-auto-sub --sub-lang zh-Hans,en --embed-sub --compat-options no-keep-subs -i \"{searchTerms}\""'

yt-dlp 完整下载:

osascript -e 'tell application "Terminal" to activate' -e 'tell app "Terminal" to do script "yt-dlp -P ~/Downloads/Video -o \"%(title)s/%(title)s.%(ext)s\" --no-playlist --merge-output-format mp4 -S codec:h264:m4a --write-description --write-info-json --write-annotations --write-thumbnail --write-subs --write-auto-subs --sub-langs zh-Hans,en --convert-subs srt \"{searchTerms}\""'

yt-dlp 列表下载:

osascript -e 'tell application "Terminal" to activate' -e 'tell app "Terminal" to do script "yt-dlp -P ~/Downloads/Video -o \"%(playlist)s/%(playlist_index)s - %(title)s.%(ext)s\" --yes-playlist --merge-output-format mp4 -S codec:h264:m4a \"{searchTerms}\""'

yt-dlp 频道下载:(默认前30)

osascript -e 'tell application "Terminal" to activate' -e 'tell app "Terminal" to do script "yt-dlp -P ~/Downloads/Video -o \"%(uploader)s/%(title)s.%(ext)s\" --merge-output-format mp4 -S codec:h264:m4a --max-downloads=30 \"{searchTerms}\""'

yt-dlp 信息查询:

osascript -e 'tell application "Terminal" to activate' -e 'tell app "Terminal" to do script "yt-dlp -F \"{searchTerms}\""'

一、BBDown 下载参数

BBDown 常用参数

无水印 -tv
保存位置 --work-dir
相对路径:--work-dir "%HOMEPATH%/Downloads/Video"
绝对路径:--work-dir "E:/Downloads/Video"
信息查询 -ia
分辨率 1080P --dfn-priority "1080P 高帧率, 1080P 高清"
分辨率 4K --dfn-priority "4K 超清, 1080P 高清"
音频下载 --audio-only
弹幕下载 --dd
字幕下载 --sub-only
专辑下载 -p
选择指定分p或分p范围:(-p 8 或 -p 1,2 或 -p 3-5 或 -p ALL)
帐号登陆 login

二、BBDown 下载选项(Windows)

下面是奶酪 Windows 浏览器里自带的 BBDown 配置。

BBDown:

start BBDown.exe --work-dir "%HOMEPATH%/Downloads/Video" {searchTerms}

BBDown 无水印:

start BBDown.exe -tv --work-dir "%HOMEPATH%/Downloads/Video" {searchTerms}

BBDown 1080P:

start BBDown.exe -tv --dfn-priority "1080P 高帧率, 1080P 高清" --work-dir "%HOMEPATH%/Downloads/Video" {searchTerms}

BBDown 4K:

start BBDown.exe -tv --dfn-priority "4K 超清, 1080P 高清" --work-dir "%HOMEPATH%/Downloads/Video" {searchTerms}

BBDown 音频:

start BBDown.exe --audio-only --work-dir "%HOMEPATH%/Downloads/Video" {searchTerms}

BBDown 弹幕:

start BBDown.exe -dd --work-dir "%HOMEPATH%/Downloads/Video" {searchTerms}

BBDown 字幕:

start BBDown.exe --sub-only --work-dir "%HOMEPATH%/Downloads/Video" {searchTerms}

BBDown 列表下载:

start BBDown.exe -tv -p ALL " --work-dir "%HOMEPATH%/Downloads/Video" {searchTerms}

BBDown 频道下载:

start BBDown.exe -tv -p ALL --work-dir "%HOMEPATH%/Downloads/Video" {searchTerms}

BBDown 信息查询:

start cmd /K BBDown.exe -ia {searchTerms}

BBDown 帐号登陆:

start /max BBDown.exe login

三、BBDown 下载选项(macOS)

下面是奶酪 macOS 浏览器里自带的 BBDown 配置。

BBDown:

osascript -e 'tell application "Terminal" to activate' -e 'tell app "Terminal" to do script "BBDown --work-dir ~/Downloads/Video \"{searchTerms}\""'

BBDown 无水印:

osascript -e 'tell application "Terminal" to activate' -e 'tell app "Terminal" to do script "BBDown -tv --work-dir ~/Downloads/Video \"{searchTerms}\""'

BBDown 1080P:

osascript -e 'tell application "Terminal" to activate' -e 'tell app "Terminal" to do script "BBDown -tv --dfn-priority \"1080P 高帧率, 1080P 高清\" --work-dir ~/Downloads/Video \"{searchTerms}\""'

BBDown 4K:

osascript -e 'tell application "Terminal" to activate' -e 'tell app "Terminal" to do script "BBDown -tv --dfn-priority \"4K 超清, 1080P 高清\" --work-dir ~/Downloads/Video \"{searchTerms}\""'

BBDown 音频:

osascript -e 'tell application "Terminal" to activate' -e 'tell app "Terminal" to do script "BBDown --audio-only --work-dir ~/Downloads/Video \"{searchTerms}\""'

BBDown 弹幕:

osascript -e 'tell application "Terminal" to activate' -e 'tell app "Terminal" to do script "BBDown -dd --work-dir ~/Downloads/Video \"{searchTerms}\""'

BBDown 字幕:

osascript -e 'tell application "Terminal" to activate' -e 'tell app "Terminal" to do script "BBDown --sub-only --work-dir ~/Downloads/Video \"{searchTerms}\""'

BBDown 列表下载:

osascript -e 'tell application "Terminal" to activate' -e 'tell app "Terminal" to do script "BBDown -tv -p ALL --work-dir ~/Downloads/Video \"{searchTerms}\""'

BBDown 频道下载:

osascript -e 'tell application "Terminal" to activate' -e 'tell app "Terminal" to do script "BBDown -tv -p ALL -M \"\" --work-dir ~/Downloads/Video \"{searchTerms}\""'

BBDown 信息查询:

osascript -e 'tell application "Terminal" to activate' -e 'tell app "Terminal" to do script "BBDown -ia \"{searchTerms}\""'

BBDown 帐号登陆:

osascript -e 'tell application "Terminal" to activate' -e 'tell app "Terminal" to do script "BBDown login"'

0、Bilix 安装

在默认情况下,Bilix 的选项是隐藏的,你需要手动开启

i58_Bilix

之所以将 Bilix 的选项默认隐藏,是因为它的安装方式异于寻常

Bilix 没有现成的 exe 编译版本,需要通过 Python 的 pip 包安装程序来安装,方法是在 cmd 或者终端输入:

Windows 安装方法:

安装:pip install bilix
升级:pip install bilix --upgrade
卸载:pip uninstall bilix

安装完成后,在 cmd 窗口输入 bilix -h,如果有返回结果,则证明安装成功。

i58_Bilix

macOS 安装方法:

安装:pip3 install bilix
升级:pip3 install bilix --upgrade
卸载:pip3 uninstall bilix

i58_Bilix

原理说明:

pip 的意思是 Package Installer for Python

它可以提供 Python 包的安装、升级和卸载等功能,我们可以通过 pip 下载 GitHub 上的大部分 Python 项目。

一旦你学会了这个技能,你就可能会打开一扇新的大门,踏入新的世界。

一、Bilix 下载参数

Bilix 常用参数

命令 参数
视频下载 get_video
视频质量 -q 0(0 为最高质量,1 为次高质量,2为第三质量)
保存位置 --dir
相对路径:--dir "%HOMEPATH%/Downloads/Video"
绝对路径:--dir "E:/Downloads/Video"
音频下载 --only-audio
弹幕下载 --dm
字幕下载 --subtitle
列表下载 get_series(选择指定分p或分p范围:-p 8 或 -p 1,2 或 -p 3-5 或 -p ALL)
频道下载 get_up(如果只下载前面 30 个视频,可加上 -n 30 ,默认前 30。)
收藏下载 get_favour
合集下载 get_collect

二、Bilix 下载选项(Windows)

下面是奶酪 Windows 浏览器里自带的 Bilix 配置。

Bilix:

start bilix.exe get_video --dir "%HOMEPATH%/Downloads/Video" {searchTerms}

Bilix 最高质量:

start bilix.exe get_video -q 0 --dir "%HOMEPATH%/Downloads/Video" {searchTerms}

Bilix 次高质量:

start bilix.exe get_video -q 1 --dir "%HOMEPATH%/Downloads/Video" {searchTerms}

Bilix 音频:

start bilix.exe get_video --only-audio --dir "%HOMEPATH%/Downloads/Video" {searchTerms}

Bilix 弹幕字幕:[测试链接]

start bilix.exe get_video --image --subtitle --dm --dir "%HOMEPATH%/Downloads/Video" {searchTerms}

Bilix 列表下载:[测试链接]

start bilix.exe get_series --dir "%HOMEPATH%/Downloads/Video" {searchTerms}

Bilix 频道下载:[测试链接]

start bilix.exe get_up -n 30 --dir "%HOMEPATH%/Downloads/Video" {searchTerms}

Bilix 收藏下载:[测试链接]

start bilix.exe get_favour --dir "%HOMEPATH%/Downloads/Video" {searchTerms}

Bilix 合集下载:[测试链接]

start bilix.exe get_collect --dir "%HOMEPATH%/Downloads/Video" {searchTerms}

三、Bilix 下载选项(macOS)

下面是奶酪 macOS 浏览器里自带的 Bilix 配置。

Bilix:

osascript -e 'tell application "Terminal" to activate' -e 'tell app "Terminal" to do script "bilix get_video --dir ~/Downloads/Video \"{searchTerms}\""'

Bilix 最高质量:

osascript -e 'tell application "Terminal" to activate' -e 'tell app "Terminal" to do script "bilix get_video -q 0 --dir ~/Downloads/Video \"{searchTerms}\""'

Bilix 次高质量:

osascript -e 'tell application "Terminal" to activate' -e 'tell app "Terminal" to do script "bilix get_video -q 1 --dir ~/Downloads/Video \"{searchTerms}\""'

Bilix 音频:

osascript -e 'tell application "Terminal" to activate' -e 'tell app "Terminal" to do script "bilix get_series --only-audio --dir ~/Downloads/Video \"{searchTerms}\""'

Bilix 弹幕字幕:[测试链接]

osascript -e 'tell application "Terminal" to activate' -e 'tell app "Terminal" to do script "bilix get_video --image --subtitle --dm --dir ~/Downloads/Video --no-hierarchy \"{searchTerms}\""'

Bilix 列表下载:[测试链接]

osascript -e 'tell application "Terminal" to activate' -e 'tell app "Terminal" to do script "bilix get_series --dir ~/Downloads/Video \"{searchTerms}\""'

Bilix 频道下载:[测试链接]

osascript -e 'tell application "Terminal" to activate' -e 'tell app "Terminal" to do script "bilix get_up -n 30 --dir ~/Downloads/Video \"{searchTerms}\""'

Bilix 收藏下载:[测试链接]

osascript -e 'tell application "Terminal" to activate' -e 'tell app "Terminal" to do script "bilix get_favour --dir ~/Downloads/Video \"{searchTerms}\""'

Bilix 合集下载:[测试链接]

osascript -e 'tell application "Terminal" to activate' -e 'tell app "Terminal" to do script "bilix get_collect --dir ~/Downloads/Video \"{searchTerms}\""'

一、速度对比

为了验证各下载工具的快慢,我分别用 lux、yt-dlp、BBDown、Bilix 做了一组速度对比:

下载速度对比 - 详细

速度对比 lux yt-dlp BBDown Bilix
220mb 8K 视频 56秒 25秒 22秒 21秒
2.2gb 电影 5分21秒 无法下载 3分30秒 3分17秒
688mb 7P 视频列表 3分13秒 2分03秒 1分21秒 59秒
305mb 27P 视频列表 2分16秒 1分08秒 56秒 33秒

得到的结论是:

luxyt-dlp 默认没有多线程下载,下载速度一般。

BBDown 默认自带了 Aria2 多线程下载,所以下载速度非常快。

Bilix 利用了 Python 的 Async 异步特性,高性能,高并发,在批量下载多个视频时,优势十分明显。

二、特对对比

不同下载工具,对视频的支持不同,下面是我对各工具的特性对比,其中“收藏下载”和“合辑下载”是 B 站特有的。

下载特性对比 - 详细

特性对比 lux yt-dlp BBdown Bilix
测试版本 0.15 2022-07-18 1.5.3 0.6.13
支持网站 国内网站 国内外网站 B站专用 B站专用
下载速度 很快 非常快
分辨率选择 可以指定 可以指定 可以指定 相对选择
信息查询 支持 支持 支持 不支持
音频 不支持 有缩略图 有缩略图 无缩略图
弹幕 无法单独下载 可单独下载 无法单独下载 无法单独下载
字幕 无法单独下载 可单独下载 可单独下载 无法单独下载
列表下载 支持 支持 缩略图异常 支持
频道下载 不支持 支持 导出视频链接 支持
收藏下载 不支持 不支持 支持 支持
合集下载 不支持 不支持· 支持 支持



注:本文由 奔跑中的奶酪 作者:奔跑中的奶酪 发表,其版权均为作者所有,如需转载,请注明作者名字以及文章来源。
509
avataravatar

评论:

168 条评论,访客:0 条,站长:0 条
  1. Qy
    Qy发布于: 

    如果想自己研究的话,使用奶酪的方法可以学习很多下载相关的知识。
    如果为了批量下载更方便,也可以考虑使用“闪豆下载器”,带界面傻瓜化操作,批量下载肯定比命令行操作方便。

  2. 康
    发布于: 

    只能下载b站的视频吗, 百度网盘怎么下载呢

  3. 楠木擎天
    楠木擎天发布于: 

    太难了,不是很方便

  4. linsan7788
    linsan7788发布于: 

    你们不用讨论得那么复杂,试试星愿浏览器,你会发现下载视频真的是太简单了

  5. avatar
    发布于: 

    看看

  6. Freefly
    Freefly发布于: 

    我按照一切步骤都安装成功了, 开始也可以下载,就是这两天开始,突然在使用下载的时候, 命令窗口闪退了,怎么回事呢?

  7. 煌弟
    煌弟发布于: 

    实测下载YouTube视频,使用yt-dlp会显示一堆warning然后命令框消失,在cmd运行yt-dlp -u 升级后可用:)

  8. 热风突然发
    热风突然发发布于: 

    和托管人复核

  9. ×12
    ×12发布于: 

    按照教程设置完,lux下载路径设置为自定义绝对路径,但下载还是下载到默认目录内。而且下载的还是低码率的,没按设置参数中的码率下载(源视频有1080P),总体来说算是提供了一个解决方案,比较折腾,没IDM之类现成方便。

  10. Frank
    Frank发布于: 

    目前有什么好的优酷视频下载方法么,you-get目前有问题

  11. messiah27
    messiah27发布于: 

    老实说,一个idm都搞定了。。。

    • 1232121213
      1232121213发布于: 

      > 首先,是因为用 IDM 下载视频,IDM 并不总是有效,一些网站特意屏蔽了 IDM。

  12. cat
    cat发布于: 

    三个选项方式都不能下载,单点yt-dlp下载有中文提示:由于目标计算机积极拒绝,无法连接。
    英文的是:警告:[youtube]无法下载网页:Kurlopen错误超时> [youtube] IFxZoApOT-0:下载android播放器API JSON ;
    [youtube] .]重试IFxZoApOT-0:下载android播放器API JSON(重试#1>

    • cat
      cat发布于: 

      用的是Chrome浏览器,修改端口后提示: 错误:[generic]-proxy’不是一个有效的URL。设置——默认搜索“ytsearch”或执行yt-dlp “ytsearch: -proxy”>命令搜索YouTube错误:[generic] 127.0.0.1:20512不是有效的URL。Set——default-search“uts”earch” 搜索YouTube [YouTube] 3AtDnEC4zak:下载网页 用netstat -na命令查到的非0端口大致上都试了一遍都是这个提示。上网工具用的是https://github.com/bannedbook/fanqiang/wiki/Chrome%E4%B8%80%E9%94%AE%E7%BF%BB%E5%A2%99%E5%8C%85#chromego-xia-zai-di-zhi 不用设置代理直接命令窗口自动运行的 里面的地址端口一直在变化。请问大大这种情况怎么办?

  13. cat
    cat发布于: 

    求助:提示“lux”不是外部命令也不是内部命令,也不是可运行的程序或批处理文件。其它的也是一样。python_win7勾选了安装的时候是3.7版本的。win7系统

    • cat
      cat发布于: 

      已解决,原因是添加了新的环境,没有修改环境

  14. loskyertt
    loskyertt发布于: 

    作者大大,请问这种方式是不能直接下载网页端网盘里的视频的吗?

  15. loskyertt
    loskyertt发布于: 

    作者大大,这种方式是不能直接网页端网盘里的视频的吗?

  16. avatar
    一只认真的喵发布于: 

    下载环境 设置全部搞好了。油管也能下载。
    我看一个4K视频,选4K清晰度后,就是用选项4K下载的是1280X640的分辨率,反而没有一键下载的清晰度高。
    用我IDM下载4H+HDR 跟拓展一键下载的文件大小是一样的,4K选项下载只有60

  17. 他是懂调调的
    他是懂调调的发布于: 

    奶酪哥,我是那个点了下载之后命令行的界面一闪而过的情况,于是我想按照你的方法改一下那个json配置文件,结果我不太会用notepad++或者notepad2,我是改完之后另存为json文件后,在插件里导入的时候显示json文件不可用,另外我也用微软的VS编辑了一下,但是好像更复杂,(这个问题好像超出这个范围了)于是我放弃了,我就去系统默认下载文件夹里面新建了Video文件夹,但是问题依然在,lu yt bbdown都是一闪而过的命令行,泪目,怎么办

  18. qi
    qi发布于: 

    图片看不到

  19. Archer
    Archer发布于: 

    啊,折腾半天才看到第6点,原来是工具栏里点击下载无反应。。。。现在下载比较方便了,谢谢大佬
    PS:可以添加个快捷键功能吗,比如按住ctrl不松开(或其他自定义键)加鼠标点击直接下载就更好了。直接在视频右键无法下载,得进入播放页面才能下载 😛
    再啰嗦下,如果配合油猴脚本Play-With-MPV食用更好~~奶酪可以考虑加进去~~~

  20. YQ
    YQ发布于: 

    [youtube] BhXlVXmIkzQ: Downloading webpage
    [youtube] BhXlVXmIkzQ: Downloading android player API JSON
    [info] BhXlVXmIkzQ: Downloading 1 format(s): 248+251
    [download] Got server HTTP error: . Retrying (attempt 1 of 10) …

    我用yt-dlp下载油管视频,总是出现这个错误,是我哪里没设置好吗?求解

    • sq
      sq发布于: 

      我下载油管视频也是这样,下载某hub视频有时成功有时失败,不知道为啥··

回复 loskyertt 取消回复