一款命令行式B站下载器,软件混流时需要外部程序:普通视频(ffmpeg 或 mp4box),杜比视界(ffmpeg5.0 以上或新版 mp4box)。
下载器下载地址《Bilibili Downloader》

混流工具下载地址《ffmpeg》或《mp4box》 建议下载 mp4box 官网交互比较友好 😄

本次使用的是Bilibili Downloader + mp4box的组合,安装一共两个文件:
1️⃣(Bilibili Downloader) BBDown_v1.4.8_20220127_win-x64.zip 解压获得 BBDown.exe 不能直接执行要使用 cmd 命令,使用方法下边会详细说明。
2️⃣(mp4box) gpac-2.0-rev0-g418db414-master-x64.exe 直接安装即可。
在文件 BBDown.exe 所在的文件夹的地址栏输入cmd 然后敲回车进入 Windows 系统的命令行工具界面:

命令行工具界面:

在命令行工具内输入 1️⃣ BBDown.exe login 按回车(输入 b 后按 Tab 键即可补全为 BBDown.exe 再敲空格+login即可) 2️⃣ 打开生成的登录二维码qrcode.png 3️⃣ 使用手机app进行扫码登录

登录成功后:

获取视频连接,可在app内分享视频获取:

开始下载,输入BBDown.exe 地址 -app --use-mp4box(复制视频地址后在命令行工具内点击鼠标右键即可粘贴)敲回车即可:

使用mp4box混流合成的mp4格式视频文件有些平台无法识别,这里介绍一下使用ffmpeg进行混流的方法。首先是下载混流工具:

下载后将压缩包内的ffmpeg.exe放在BBDown.exe同级目录下:

下载视频时不要添加--use-mp4box参数,直接使用BBDown.exe 地址即可下载。
BBDown
BBDown是一个免费且便捷高效的哔哩哔哩下载/解析软件.
Usage:
BBDown [options] <url> [command]
Arguments:
<url> 视频地址 或 av|bv|BV|ep|ss
Options:
-tv, --use-tv-api 使用TV端解析模式
-app, --use-app-api 使用APP端解析模式
-intl, --use-intl-api 使用国际版解析模式
--use-mp4box 使用MP4Box来混流
-hevc, --only-hevc 只下载hevc编码
-avc, --only-avc 只下载avc编码
-av1, --only-av1 只下载av1编码
-info, --only-show-info 仅解析而不进行下载
-hs, --hide-streams 不要显示所有可用音视频流
-ia, --interactive 交互式选择清晰度
--show-all 展示所有分P标题
--use-aria2c 调用aria2c进行下载(你需要自行准备好二进制可执行文件)
--aria2c-proxy <aria2c-proxy> 调用aria2c进行下载时的代理地址配置
-mt, --multi-thread 使用多线程下载
-p, --select-page <select-page> 选择指定分p或分p范围:(-p 8 或 -p 1,2 或 -p 3-5 或 -p ALL)
--audio-only 仅下载音频
--video-only 仅下载视频
--sub-only 仅下载字幕
--no-padding-page-num 不给分P序号补零
--debug 输出调试日志
--skip-mux 跳过混流步骤
--skip-subtitle 跳过字幕下载
--skip-cover 跳过封面下载
-dd, --download-danmaku 下载弹幕
--add-dfn-subfix 为文件加入清晰度后缀,如XXX[1080P 高码率]
--no-part-prefix 多P时,不要加入分P前缀,如[P1],[P2]等
--language <language> 设置混流的音频语言(代码),如chi, jpn等
-c, --cookie <cookie> 设置字符串cookie用以下载网页接口的会员内容
-token, --access-token <access-token> 设置access_token用以下载TV/APP接口的会员内容
--work-dir <work-dir> 设置程序的工作目录
--ffmpeg-path <ffmpeg-path> 设置ffmpeg的路径
--mp4box-path <mp4box-path> 设置mp4box的路径
--aria2c-path <aria2c-path> 设置aria2c的路径
--delay-per-page <delay-per-page> 设置下载合集分P之间的下载间隔时间(单位: 秒, 默认无间隔)
--version Show version information
-?, -h, --help Show help and usage information
Commands:
login 通过APP扫描二维码以登录您的WEB账号
logintv 通过APP扫描二维码以登录您的TV账号
更新记录:
ffmpeg进行混流的说明。我在从html页面生成PDF时遇到问题。我正在使用PDFkit。在安装它的过程中,我注意到我需要wkhtmltopdf。所以我也安装了它。我做了PDFkit的文档所说的一切......现在我在尝试加载PDF时遇到了这个错误。这里是错误:commandfailed:"/usr/local/bin/wkhtmltopdf""--margin-right""0.75in""--page-size""Letter""--margin-top""0.75in""--margin-bottom""0.75in""--encoding""UTF-8""--margin-left""0.75in""-
我想为Heroku构建一个Rails3应用程序。他们使用Postgres作为他们的数据库,所以我通过MacPorts安装了postgres9.0。现在我需要一个postgresgem并且共识是出于性能原因你想要pggem。但是我对我得到的错误感到非常困惑当我尝试在rvm下通过geminstall安装pg时。我已经非常明确地指定了所有postgres目录的位置可以找到但仍然无法完成安装:$envARCHFLAGS='-archx86_64'geminstallpg--\--with-pg-config=/opt/local/var/db/postgresql90/defaultdb/po
尝试通过RVM将RubyGems升级到版本1.8.10并出现此错误:$rvmrubygemslatestRemovingoldRubygemsfiles...Installingrubygems-1.8.10forruby-1.9.2-p180...ERROR:Errorrunning'GEM_PATH="/Users/foo/.rvm/gems/ruby-1.9.2-p180:/Users/foo/.rvm/gems/ruby-1.9.2-p180@global:/Users/foo/.rvm/gems/ruby-1.9.2-p180:/Users/foo/.rvm/gems/rub
我对最新版本的Rails有疑问。我创建了一个新应用程序(railsnewMyProject),但我没有脚本/生成,只有脚本/rails,当我输入ruby./script/railsgeneratepluginmy_plugin"Couldnotfindgeneratorplugin.".你知道如何生成插件模板吗?没有这个命令可以创建插件吗?PS:我正在使用Rails3.2.1和ruby1.8.7[universal-darwin11.0] 最佳答案 随着Rails3.2.0的发布,插件生成器已经被移除。查看变更日志here.现在
我尝试运行2.x应用程序。我使用rvm并为此应用程序设置其他版本的ruby:$rvmuseree-1.8.7-head我尝试运行服务器,然后出现很多错误:$script/serverNOTE:Gem.source_indexisdeprecated,useSpecification.Itwillberemovedonorafter2011-11-01.Gem.source_indexcalledfrom/Users/serg/rails_projects_terminal/work_proj/spohelp/config/../vendor/rails/railties/lib/r
我正在尝试在我的centos服务器上安装therubyracer,但遇到了麻烦。$geminstalltherubyracerBuildingnativeextensions.Thiscouldtakeawhile...ERROR:Errorinstallingtherubyracer:ERROR:Failedtobuildgemnativeextension./usr/local/rvm/rubies/ruby-1.9.3-p125/bin/rubyextconf.rbcheckingformain()in-lpthread...yescheckingforv8.h...no***e
我花了三天的时间用头撞墙,试图弄清楚为什么简单的“rake”不能通过我的规范文件。如果您遇到这种情况:任何文件夹路径中都不要有空格!。严重地。事实上,从现在开始,您命名的任何内容都没有空格。这是我的控制台输出:(在/Users/*****/Desktop/LearningRuby/learn_ruby)$rake/Users/*******/Desktop/LearningRuby/learn_ruby/00_hello/hello_spec.rb:116:in`require':cannotloadsuchfile--hello(LoadError) 最佳
我的最终目标是安装当前版本的RubyonRails。我在OSXMountainLion上运行。到目前为止,这是我的过程:已安装的RVM$\curl-Lhttps://get.rvm.io|bash-sstable检查已知(我假设已批准)安装$rvmlistknown我看到当前的稳定版本可用[ruby-]2.0.0[-p247]输入命令安装$rvminstall2.0.0-p247注意:我也试过这些安装命令$rvminstallruby-2.0.0-p247$rvminstallruby=2.0.0-p247我很快就无处可去了。结果:$rvminstall2.0.0-p247Search
由于fast-stemmer的问题,我很难安装我想要的任何rubygem。我把我得到的错误放在下面。Buildingnativeextensions.Thiscouldtakeawhile...ERROR:Errorinstallingfast-stemmer:ERROR:Failedtobuildgemnativeextension./System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/rubyextconf.rbcreatingMakefilemake"DESTDIR="cleanmake"DESTDIR=
我在pry中定义了一个函数:to_s,但我无法调用它。这个方法去哪里了,怎么调用?pry(main)>defto_spry(main)*'hello'pry(main)*endpry(main)>to_s=>"main"我的ruby版本是2.1.2看了一些答案和搜索后,我认为我得到了正确的答案:这个方法用在什么地方?在irb或pry中定义方法时,会转到Object.instance_methods[1]pry(main)>defto_s[1]pry(main)*'hello'[1]pry(main)*end=>:to_s[2]pry(main)>defhello[2]pry(main)