第七下载:绿色软件放心下载

首页 > 游戏攻略 > 游戏资讯 > 详情

教你如何用命令行下载B站无水印视频,支持4k杜比视界图文

作者:wangjing 来源:第七下载 更新:2022-04-26 13:58:05 阅读:

用手机看

  • iOS版

视界 6.3.16 官方版

视界 6.3.16 官方版

大小:84.3MB 语言:简体中文

类型:摄影录像 等级:

立即下载 查看详情

最近有小伙伴因为在做视频时需要一些B站的视频作为素材,但是又不知道怎么去下载,哔哩哔哩客户端和网页也都没有提供相关的下载方式,于是跑来问我有没有办法可以帮忙下载视频,授人以鱼不如授人以渔,帮忙下载终究无法解决根本问题,所以就有了这篇教程。

既然哔哩哔哩本身不想让你下载,那么空手套视频的方法肯定是行不通的,这次我们选择使用Github上开源的这个B站下载工具BBDown来帮助我们完成B站视频的下载,这是个已有2k个Star的项目,可见其已有一定知名度。

至于为什么选择这个工具呢肯定不是没有原因的,从它的开源文档中可以了解到它具备有以上这些功能。

相比起其它的插件和油猴脚本来说,它可以直接下载mp4格式的视频而不是Flv格式,这对用户来说更加方便,而且它还支持多源多线程下载等功能,极大的优化了视频下载体验。

下载地址

目前该项目程序已支持在linux、MacOS和windows系统下运行,下载地址可以到开源地址里的发布页找到,本教程以windows版本的程序为例,因为大部分用户都是用windows系统。

Github开源地址:

https://github.com/nilaoda/BBDown

在release发布页找到图中这个带有win-x64字符串标识的文件直接下载就是了,打不开Github网站的小伙伴可以到交流群里直接获取你想要的资源。

软件使用教程

不知道小伙伴们有没有这样一种感觉,越是牛x的东西使用门槛就越高。

BBDown下载工具是一款命令行式哔哩哔哩下载器,也就是说它不像其它大部分软件一样提供UI图形交互界面,这对新手来说可能不是很友好,但是这不刚好就是一个很好的学习和装x的机会,要知道大佬都是只用⌨️不用鼠标的,用鼠标的我们最多也只能叫他佬大,而且当你看完教程之后会发现这些其实根本不难,没有错看完之后你也是大佬了。

话不多说开始我们今天的教程,先按照上方下载提示下载完成后得到一个压缩包,直接解压里面的BBDown.exe文件到你想保存的目录下。

如果直接使用它就会报错,错误提示是在当前目录下找不到ffmpeg,学过数字图像处理的小伙伴应该都知道ffmpeg是一个开源的多媒体框架,主要用来做一些媒体文件的处理,而BBDown也是使用它将下载的音视频进行最后的合并才能得到最终想要下载的视频。因此现在提示缺少ffmpeg我们就要先去下载它。

ffmpeg下载地址:
https://github.com/GyanD/codexffmpeg/releases/tag/4.4.1

在下载地址里随便找一个压缩包下载就行,里面的东西功能都是一样的,只是文件形式不一样,比如说我这里下载图中框出来的这两个中的其中一个,7z跟zip只是压缩格式不同而已。

下载完成后将其解压出来,将之前的BBDown.exe程序文件也放到解压出来的ffmpeg文件夹里的bin目录下(如上图),随后在上方地址栏输入cmd后回车调出命令行工具(如下图)。

因为BBDown是命令行下载工具没有图形界面,所以你双击它肯定没用,打不开的,需要用命令行工具来运行它才行。

这里简单介绍一下它的命令行用法:

​​​​BBDown [options] <url> [command]

上面这个就是它的运行命令的基本形式,其中BBDown指的就是运行你当前目录下的BBDown.exe程序,在哪个文件夹的地址栏输入cmd回车后打开的命令行窗口的当前目录就是那个你在地址栏输入cmd的文件夹目录。

options是选项的意思,在开源文档里可以看到它有哪些可选择的选项和这些选项对应有什么功能,比如-tv就是使用TV端接口解析模式下载视频,-app就是使用APP端接口解析模式下载视频,很多粉丝量多的up账号投稿的视频可以通过这个tv端解析接口直接下载到它的无水印视频。

url就是你想要下载的视频的网页地址,这个可以在浏览器地址栏直接复制。

command就是命令的意思,按照原文档中命令行参数提示可以看到它支持两种渠道的登录命令,网页账号登录和TV版账号登录,这个只在你需要下载大会员视频时才需要登录,下载其它普通视频时无需登录直接用就行。

开源文档命令行参数图

文档里也给出了一些常用的命令行下载命令可供参考,会用Linux的大佬想必对这种命令行已经是基操了,Windows小白即使现在看不懂也没关系,后面就懂了。

我们这里为了方便理解就举个例子,用下面这行命令来下载视频,在命令行窗口中直接粘贴命令后回车就会开始下载视频,等待下载完成后可以在BBDown.exe所在的目录下看到已下载的视频文件。

​​BBDown -tv -mt https://www.bilibili.com/video/BV19L4y1q7vS

可以看到这里使用了一个命令一共下载了四个视频,这是因为我找的视频链接里就有四个视频,看下边这张图就知道。

打开下载好的视频对比一下原B站中的视频可以发现右上角已经没有了哔哩哔哩的水印。

这里就有小伙伴要发问了,我不想全部都下载下来,我只想下载链接里面的其中一个视频怎么办?简单,用下面这行命令就可以了。

​​​​​​BBDown -tv -mt -p 1 https://www.bilibili.com/video/BV19L4y1q7vS

也是将这段命令直接输入到命令行窗口里回车看到有开始下载的提示就没问题,等待下载完成后就可以看到它只下载了四个视频里的第一个视频。

现在开始观察上边提及到的两个下载命令,我们把它们放到一起,不难看出它们只相差了一个option选项就是-p 1,url都是用的一样的视频链接,就是多了这个-p 1让它选择只下载第一个视频。

​​​​​​BBDown -tv -mt https://www.bilibili.com/video/BV19L4y1q7vS
BBDown -tv -mt -p 1 https://www.bilibili.com/video/BV19L4y1q7vS

在命令行中,符号-加上一个或一串字母就是一个选项,比如说这里的-p,它后面的1就是给这个选项的值,这里的意思就是让它选择第1个p(page),就是选择第一集的意思。

它前面的-tv和-mt也都是功能选项,从命令行参数文档中可以看出-tv选择了tv端解析,-mt选择了多线程下载。每个选项之间必须用空格隔开,不然一堆字母连在一起程序根本不知道你想表达什么意思,这些选项之间没有前后顺序之分,它们也可以相互交换位置,就好比你在登录QQ时可以先打钩记住密码,也可以先打钩自动登录,最后点击登录时效果都是一样的。

这也就是说你可以这样写

BBDown -tv -mt -p 1 url

也可以这样写

​​​​​​​BBDown -mt -tv -p 1 url

这句下载命令的意思就是运行BBDown程序时使用TV端解析模式解析url地址内的视频并使用多线程下载这个视频里的第一集内容。

后面的command命令可加也可不加,只在你需要下载大会员视频的时候加就行了,options选项也不是说一定要加,在你不添加任何选项的时候程序就会按照它预先设置好的默认选项去运行,就好比你在登录QQ时可以既不选择记住密码也不选择自动登录,你就可以这样写下载命令:

​​​​​​​BBDown url

可以看出url参数是一定要填写的,不然程序不知道你要下载哪个视频,这个下载命令的意思就是运行BBDown程序去下载对应url地址内的所有视频。

总结一下,写下载命令时都是按照下面这个格式来写:

​​​​​​BBDown 视频地址

或者

​​​​​​​BBDown 选项 视频地址

或者

​​​​​​​BBDown 命令

给它们对应举一个实际例子就是

​​​​​​​BBDown https://www.bilibili.com/video/BV19L4y1q7vS

或者

​​​​​​​BBDown -tv -mt -p 3 --video-only https://www.bilibili.com/video/BV19L4y1q7vS

或者

​​​​​​​BBDown login

所有的下载命令都必须在BBDown.exe文件所在目录下的命令行窗口内执行才有效。

前面提到直接运行BBDown.exe会有错误提示找不到ffmpeg(如下图),所以要将BBDown.exe文件要放到ffmpeg目录下的bin文件夹内运行才不会报错。


这时候肯定会有小伙伴问我能不能让它随便放到哪都能直接运行?不然每次都得去找ffmpeg装在哪太麻烦了,其实这也是可以的,在电脑桌面或者文件管理器里找到此电脑(我的电脑),右键-属性-高级系统设置,在弹出的系统属性对话框中选择高级-环境变量,如下图:

接下来在弹出的对话框内下边找到这个变量路径Path,双击它或者点击编辑后在弹出的对话框中点击新建,浏览找到你当时解压的ffmpeg文件夹的bin目录地址,复制后粘贴进来如图所示,随后一路确定保存即可。


比如说我这里的ffmpeg解压目录就是D:\ffmpeg\bin,所以就将它复制进去就行确定就行,接下来将BBDown.exe移动到其它文件夹里运行试试,发现已经可以下载视频并调用ffmpeg合并音视频,总算是大功告成了。

新手可能不理解为什么将ffmpeg的路径添加进系统变量就可以用了?

这是因为我们只写了BBDown这个程序名但没有告知系统它的位置在哪,系统在运行程序时如果在当前目录下没有找到名字相同的程序文件,它就会自己去系统环境变量path指定的路径中寻找这个程序,如果不存在就报错,如果存在就可以正常运行。

?
热点推荐
?
赞助
?
网友跟帖吐槽
pl
返回顶部