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

关于「视频下载」可以讲的内容很多,也很有意思。
如果说文章《i14 - 视频下载》讲的是下载思路,文章《i37 - 浏览器协作》讲的是下载技巧。
那么本文讲的就是下载工具。
视频下载的工具那么多,为什么奶酪还要搞个这样的项目呢?
一、全网视频下载
首先,是因为用 IDM 下载视频,IDM 并不总是有效,一些网站特意屏蔽了 IDM。
而如果用 DownKyi 这样的下载软件,往往只能下载 B 站或者 U2B 的视频,对其它网站无能为力。
有没有全网视频都支持的下载工具?
有!用命令行下载工具就可以实现,youtube-dl、yt-dlp、you-get、lux、BBDown、Bilix 都是很好的选择。
大多数情况下,lux、yt-dlp、BBDown 就已经够用。
一个用于国内、一个用于国外、一个B 站专用,完美配合。
选择 lux 的原因,是因为它有单独的 exe 编译程序,对普通用户来说更简单。
youtube-dl 支持的网站最多,数量超过 1300 多个网站,但由于谷歌的限制,youtube-dl 的下载速度很慢。
所以可以选择它的分叉版本 yt-dlp。
二、视频一键下载
其次,无论是图形化下载工具,还是命令行下载工具,在下载时都需要各种繁复的操作。
没有一键下载视频的方法?
有!这也正是奶酪开启这个项目的重要原因,它可以与浏览器配合,实现视频一键下载,下面是效果演示。
很多视频下载软件都“二创”,而奶酪的这个“二创”,目的是让 Windows 用户也能拥有 Downie 般的下载体验。
安装必备软件
而要实现这一目的,我们需要先安装一些必备软件。
别担心,这些软件都只是让你的电脑拥有某个功能,使用时不需要打开,而且,只需要一次配置就可以永久使用。
一、安装 Python
首先是安装 Python,可以说 Python 是整个项目的“发动机”。[本地一键下载]
Windows 安装方法:
安装方法很简单,选择默认安装 ,并一路“确认”到底就可以了。(记得勾选 Add Python 3.XX to PATH)
PS:Windows 7 只能安装 Python 3.7 以下的版本。
二、安装下载软件
在你觉得合适的位置,新建一个文件夹,比如「OnekeyVideoDownload」。
下载 FFmpeg、lux、you-get、yt-dlp、BBDown 等命令行软件,然后将它们复制到这里来。[本地一键下载]
PS:FFmpeg 的作用,并不是下载视频,而是将分离的音频和视频文件,自动合并成一个文件。
三、配置环境变量
配置环境变量的目的。
是为了在 CMD 窗口操作时,可以省去输入软件的路径,几乎所有的命令行工具都可以这样配置。
首先,按 Windows 键,输入「高级系统设置」,回车。
然后,点击「环境变量」,选择「Path」,点击「新建」,输入 步骤 2 文件夹的路径,然后点击「确定」。
比如我的是 D:\Videos\OnekeyVideoDownload
最后,在 CMD 窗口分别输入 lux、yt-dlp、BBdown 等内容 ,如果有返回内容,则证明安装成功。
一、安装 Python
Mac 自带就有 Python,但版本太旧,需要更新一下这个“发动机”。
安装方法很简单,下载 Python,安装到默认路径 ,并一路“确认”到底就可以了。[本地一键下载]
二、安装下载软件
打开 /usr/local/bin 文件夹。
下载 FFmpeg、lux、yt-dlp、BBDown 等命令行软件,然后将它们复制到这个文件夹里来。[本地一键下载]
PS1:
如果下载的 lux、yt-dlp、BBDown 没有使用权限,则需要在“终端”分别输入以下代码来开启文件权限。
chmod +x /usr/local/bin/lux
chmod +x /usr/local/bin/yt-dlp
chmod +x /usr/local/bin/BBDown
PS2:
如果你想安装 you-get,由于 you-get 没有二进制编译版本,你需要通过 Python 来安装,可以在“终端”输入:
pip3 install you-get
最后,在“终端”窗口分别输入 lux、yt-dlp、BBdown 等内容 ,如果有返回内容,则证明安装成功。
安装浏览器扩展
扩展 ContextSearch web-ext 原本是一个右键搜索工具,但它也可以应用于调用第三方软件。[本地一键下载]
我们借此可以实现视频的一键下载。
一、安装扩展
安装扩展 ContextSearch web-ext。地址:Firefox、Chrome、代理下载
二、下载调用脚本
下载调用脚本 ContextSearch-Native-App.zip。地址:本地一键下载、源地址
三、解压调用脚本
按 Windows 键,输入 cmd 回车,在弹出的窗口里查看当前目录,比如我的是 C:\Users\RunningCheese。
然后将步骤 2 的脚本,解压到这里来。
四、安装调用脚本
在 cmd 命令提示符里输入 install.py,又或者直接双击运行该文件。
注意:.py 文件的默认打开方式需要是 python,如果已经是了,则略过。
五、导入扩展配置
打开扩展 ContextSearch web-ext 的设置页面,导入奶酪的配置 ContextSearchOptions.json。(注意选择版本)
奶酪配置下载:Firefox 版本、Chrome 版本、本地一键下载
PS:你可以在奶酪公众号后台回复关键字 i57,一键获取以上所有内容。
六、注意事项
导入配置后,点击下载视频时,可能会出现“Messenger app is not connected”的提示。
这时需要在扩展的权限设置里,勾选“Request Permission”,然后重启一下浏览器即可。
注意要完全关闭才算是重启,如果浏览器在后台还在运行的话,就不能算是重启。
一、安装扩展
安装扩展 ContextSearch web-ext。地址:Firefox、Chrome、代理下载
二、下载调用脚本
下载调用脚本 ContextSearch-Native-App.zip。地址:本地一键下载、源地址
三、解压调用脚本
打开文件夹 /Users/runningcheese(runningcheese 修改为你的用户名),然后将步骤 2 的脚本解压到这里来。
四、安装调用脚本
在“终端”窗口输入 python3 install.py,安装该调用脚本。
五、导入扩展配置
打开扩展 ContextSearch web-ext 的设置页面,导入奶酪的配置 ContextSearchOptions.json。(注意选择版本)
奶酪配置下载:Firefox 版本、Chrome 版本、本地一键下载
PS:你可以在奶酪公众号后台回复关键字 i57,一键获取以上所有内容。
六、注意事项
导入配置后,点击下载视频时,可能会出现“Messenger app is not connected”的提示。
这时需要在扩展的权限设置里,勾选“Request Permission”,然后重启一下浏览器即可。
注意要完全关闭才算是重启,如果浏览器在后台还在运行的话,就不能算是重启。
自定义选项视频下载
如果你在步骤 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 获取方法:Firefox、Chrome。[示意图] |
代理设置 | 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-dlp、you-get、lux、BBDown 等软件加入系统环境变量。
所以,在用浏览器调用这些软件时,在“Command”一栏,可以只输入“start lux.exe”即可,无需输入完整路径。
而如果是调用一般的软件,则需要输入软件的完整路径。
如果还需要设置“保存位置、分辨率选择、弹幕下载、列表下载”等等,则还需要添加相应参数。
注意:以下命令,需要在系统默认的「下载」文件夹里,手动新建一个 Video 的文件夹,否则 lux 会下载失败。
下面是奶酪 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-dlp、you-get、lux、BBDown 等软件已经安装在 /usr/local/bin 文件夹下。
在用“终端”调用这些软件时,可以只输入软件名字,无需输入完整路径。
而如果是调用一般的软件,则需要输入软件的完整路径。
如果还需要设置“保存位置、分辨率选择、弹幕下载、列表下载”等等,则还需要添加相应参数。
注意:以下命令,需要在系统默认的「下载」文件夹里,手动新建一个 Video 的文件夹,否则 lux 会下载失败。
下面是奶酪 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 获取方法:Firefox、Chrome。[示意图] |
二、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 \"
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 的选项是隐藏的,你需要手动开启。
之所以将 Bilix 的选项默认隐藏,是因为它的安装方式异于寻常。
Bilix 没有现成的 exe 编译版本,需要通过 Python 的 pip 包安装程序来安装,方法是在 cmd 或者终端输入:
Windows 安装方法:
安装:pip install bilix
升级:pip install bilix --upgrade
卸载:pip uninstall bilix
安装完成后,在 cmd 窗口输入 bilix -h,如果有返回结果,则证明安装成功。
macOS 安装方法:
安装:pip3 install bilix
升级:pip3 install bilix --upgrade
卸载:pip3 uninstall 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秒 |
得到的结论是:
lux 和 yt-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站专用 |
下载速度 | 快 | 快 | 很快 | 非常快 |
分辨率选择 | 可以指定 | 可以指定 | 可以指定 | 相对选择 |
信息查询 | 支持 | 支持 | 支持 | 不支持 |
音频 | 不支持 | 有缩略图 | 有缩略图 | 无缩略图 |
弹幕 | 无法单独下载 | 可单独下载 | 无法单独下载 | 无法单独下载 |
字幕 | 无法单独下载 | 可单独下载 | 可单独下载 | 无法单独下载 |
列表下载 | 支持 | 支持 | 缩略图异常 | 支持 |
频道下载 | 不支持 | 支持 | 导出视频链接 | 支持 |
收藏下载 | 不支持 | 不支持 | 支持 | 支持 |
合集下载 | 不支持 | 不支持· | 支持 | 支持 |
常见问题解答
一、常见问题
0、为什么在我的浏览器上无法调用下载?
A:你可以先试试奶酪的定制版浏览器,扩展、菜单、选项设置什么的,都是现成的,成功率更高。
A:下载地址:RC Firefox、RC Chrome、RC 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 盘下,你需要自行修改保存位置。
4、我想修改视频的默认保存位置,要怎么办?
A:视频的默认保存位置,是在系统自带的 [下载] 文件夹里,也就是在 C:/User/你的用户名/Downloads/Video。
修改默认位置,需要在扩展的设置页面里修改路径,比如改成 E:/Downloads/Video。
如果想一键修改,那么可以用文字编辑软件,打开奶酪的 .json 配置文件,批量替换下面两个路径。
搜索 %HOMEPATH%/Downloads/Video 全部替换为 E:/Downloads/Video
搜索 ../../../Downloads/Video 全部替换为 E:/Downloads/Video
5、为什么使用 ytd-lp 无法下载 Youtube 的视频?
A:需要设置代理端口,已知某 S 开头软件,需要添加端口 --proxy 127.0.0.1:1080,某 C 开头软件,无需添加。
6、为什么在工具栏里点击下载无反应?
A:不要在工具栏里点击下载,会无法传递网页地址,需要在网页右键菜单里点击下载。
7、为什么没有 Bilix 的菜单选项?
A:默认情况下,Bilix 是隐藏的,需要你手动开启,如未安装 Bilix,可查看本文的【自定义选项 - Bilix 选项】。
二、已知问题
PS:如果还有什么其它问题,可以直接在评论区反馈!
最后


如果想自己研究的话,使用奶酪的方法可以学习很多下载相关的知识。
如果为了批量下载更方便,也可以考虑使用“闪豆下载器”,带界面傻瓜化操作,批量下载肯定比命令行操作方便。
只能下载b站的视频吗, 百度网盘怎么下载呢
太难了,不是很方便
你们不用讨论得那么复杂,试试星愿浏览器,你会发现下载视频真的是太简单了
看看
我按照一切步骤都安装成功了, 开始也可以下载,就是这两天开始,突然在使用下载的时候, 命令窗口闪退了,怎么回事呢?
实测下载YouTube视频,使用yt-dlp会显示一堆warning然后命令框消失,在cmd运行yt-dlp -u 升级后可用:)
和托管人复核
按照教程设置完,lux下载路径设置为自定义绝对路径,但下载还是下载到默认目录内。而且下载的还是低码率的,没按设置参数中的码率下载(源视频有1080P),总体来说算是提供了一个解决方案,比较折腾,没IDM之类现成方便。
目前有什么好的优酷视频下载方法么,you-get目前有问题
老实说,一个idm都搞定了。。。
> 首先,是因为用 IDM 下载视频,IDM 并不总是有效,一些网站特意屏蔽了 IDM。
三个选项方式都不能下载,单点yt-dlp下载有中文提示:由于目标计算机积极拒绝,无法连接。
英文的是:警告:[youtube]无法下载网页:Kurlopen错误超时> [youtube] IFxZoApOT-0:下载android播放器API JSON ;
[youtube] .]重试IFxZoApOT-0:下载android播放器API JSON(重试#1>
用的是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 不用设置代理直接命令窗口自动运行的 里面的地址端口一直在变化。请问大大这种情况怎么办?
求助:提示“lux”不是外部命令也不是内部命令,也不是可运行的程序或批处理文件。其它的也是一样。python_win7勾选了安装的时候是3.7版本的。win7系统
已解决,原因是添加了新的环境,没有修改环境
作者大大,请问这种方式是不能直接下载网页端网盘里的视频的吗?
作者大大,这种方式是不能直接网页端网盘里的视频的吗?
下载环境 设置全部搞好了。油管也能下载。
我看一个4K视频,选4K清晰度后,就是用选项4K下载的是1280X640的分辨率,反而没有一键下载的清晰度高。
用我IDM下载4H+HDR 跟拓展一键下载的文件大小是一样的,4K选项下载只有60
奶酪哥,我是那个点了下载之后命令行的界面一闪而过的情况,于是我想按照你的方法改一下那个json配置文件,结果我不太会用notepad++或者notepad2,我是改完之后另存为json文件后,在插件里导入的时候显示json文件不可用,另外我也用微软的VS编辑了一下,但是好像更复杂,(这个问题好像超出这个范围了)于是我放弃了,我就去系统默认下载文件夹里面新建了Video文件夹,但是问题依然在,lu yt bbdown都是一闪而过的命令行,泪目,怎么办
图片看不到
啊,折腾半天才看到第6点,原来是工具栏里点击下载无反应。。。。现在下载比较方便了,谢谢大佬
PS:可以添加个快捷键功能吗,比如按住ctrl不松开(或其他自定义键)加鼠标点击直接下载就更好了。直接在视频右键无法下载,得进入播放页面才能下载 😛
再啰嗦下,如果配合油猴脚本Play-With-MPV食用更好~~奶酪可以考虑加进去~~~
[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下载油管视频,总是出现这个错误,是我哪里没设置好吗?求解
我下载油管视频也是这样,下载某hub视频有时成功有时失败,不知道为啥··
油管和hub用IDM比较好