1 Star 0 Fork 18

liwooood / BilibiliDown

forked from NiceLee / BilibiliDown 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
Apache-2.0

INeedBiliAV - BilibiliDown

语言java 支持系统 Win/Linux/Mac 测试版本64位Win10系统, jre 1.8.0_101 开源协议Apache2.0
当前版本 Release 下载总量 CI 最近更新

Bilibili 视频下载器,用于下载B站视频/相册。

以下多图警告

:smile:特性

  • 支持UI界面(自认为是傻瓜式操作)
  • 支持扫码/密码登录(能看=能下,反过来也一样)
  • 支持各种链接解析(直接输入BVXXX/avXXX,或者各种网页链接, V4.3 新增画廊/相簿解析)不再支持番剧解析!!
  • 支持自定义各种链接解析(V5.8新增)
  • 支持多p下载!(看了看部分别人的作品, 听说有的只支持单p?)
  • 支持收藏夹下载!!
  • 支持稍后再看下载!!
  • 支持UP主视频下载!!!
  • 支持长视频,杜绝片头式下载!!!!
  • 支持断点续传下载!!!!!(因异常原因退出后, 只要下载目录不变, 直接在上次基础上继续下载)
  • 支持CC字幕下载
  • 支持互动视频下载
  • 支持课程视频下载
  • 支持相簿图片下载

:smile:关于下载速度

  • 从服务端来看,FLV链接会比M4S链接要慢上很多
  • 默认最大同时下载数为3,有需要可以在config/app.config更改(不推荐)
  • 关于下载速度,和下载任务数、配置、网络条件等相关,直接上截图

:smile:使用方法

安装(可选)

其实这是一款绿色软件,安装只是创建了一个快捷方式。。。

密码登录(可选)
  • 默认为扫码登录,使用该功能需要在config/app.config中更改配置项
    bilibili.user.login = pwd
  • 程序打开后,点击主界面右上角登录按钮即可
扫码登录(可选)
  • 如果当前为密码登录,可在config/app.config中更改配置项
    bilibili.user.login = qr
  • 点击主界面右上角登录按钮,在手机端使用哔哩哔哩app扫描弹出的二维码
普通下载

批量下载
根据策略下载所有打开标签页的(全部/第一个)视频

V3.4后移至菜单栏

根据策略批量下载多p视频

下载封面

单击封面图片获取URL。

更换预览图(适用于单页呈现多部作品的情况)

长按作品文字,然后对应预览图会更新(网络原因可能会有卡顿,正常)。

获取作品信息(适用于单页呈现多部作品的情况)

双击作品文字,然后文本 + avId将会复制到剪贴板。

版本升级

关于 -> 更新版本。(最近版本比较多,省得麻烦😳 目前只是人工触发版本检查。
不是WINDOWS的话需要人工update/INeedBiliAV.update.jar替换掉INeedBiliAV.jar( ╯□╰ )

其它
  • 关闭作品信息页面
    • 双击Tab标签(单击Tab标签为切换焦点)
  • 复制作品信息
    • 在作品Tab页单击想要复制的目标文字
  • 修改优先下载的视频格式[V4.6取消]
  • 批量重命名
    • 找到下载目录中的rename.bat,双击它(V3.1增加自定义重命名,且支持下载完自动改名)
  • 卸载
    • 找到下载目录中的unistall.bat,双击它(仅仅只是删除了文件夹)
  • 设置代理
    • config/app.config中配置相应代理类型的地址和端口
  • 修改其它配置
    • config/app.config即可,详见文件见备注
  • 更多问题请见Wiki
清晰度说明

当因权限不足,或视频不存在该清晰度时,将返回不大于该qn值的合法最大qn值对应的清晰度。

清晰度 qn值
HDR 125
4K 120
1080P60 116
1080P+ 112
1080P 80
720P60 74
720P 64
480P 32
360P 16
  • 举例
https://www.bilibili.com/video/av39405510
"accept_description": ["高清 1080P60", "高清 720P60", "高清 1080P", "高清 720P", "清晰 480P", "流畅 360P"],
"accept_quality": [116, 74, 80, 64, 32, 16]

https://www.bilibili.com/bangumi/play/ep116157/
"accept_description": ["高清 1080P+", "高清 1080P", "高清 720P", "清晰 480P", "流畅 360P"],
"accept_quality": [112, 80, 64, 32, 16]
  • 举例,假设某av存在1080P+/1080P/720P/480P/360P,1080P+/1080P 需要大会员才能观看,720P需要登录才能观看。
    • 无cookie 发起 1080P+ 请求 =====> 得到480P链接
    • 普通cookie 发起 1080P+ 请求 =====> 得到720P链接
    • 大会员cookie 发起 1080P+ 请求 =====> 得到1080P+链接
    • 大会员cookie 发起 720P60 请求 =====> 得到720P链接
关于互动视频说明
  • 仅支持单个互动视频下载。
    当从收藏夹/UP主链接查询时,仅下载互动视频的首片段。

  • 输入互动视频av号查询时,将会罗列所有世界线的全部视频片段,同时也支持这些片段的下载。
    片段title名称规则为:
    i.j-上次做出的选择
    其中,i为第i条世界线;j为世界线的第j+1个视频

  • 举例 av64006660

【互动式视频】史蒂夫的故事,你决定Steve的命运《我的世界》
该互动视频包含5个片段:
    pn0-起始
    pn1-0.1-A 造个木剑防御怪物
    pn2-1.1-B 造个木镐开始挖矿_2.1-B 造个木镐开始挖矿
    pn3-1.2-A 先造个庇护所
    pn4-2.2-B 先种树再造房

以上有3条世界线,观看顺序为:  
    世界线0: pn0 -> pn1
    世界线1: pn0 -> pn2 -> pn3
    世界线2: pn0 -> pn2 -> pn4
关于字幕的说明
  • 本程序的逻辑认为字幕是一种特别清晰度的视频,而基于程序不会同时下载同一视频的不同清晰度的链接的Feature
    • 当下载面板存在视频任务时,其对应的字幕下载任务不会被发起
    • 当下载面板存在字幕任务时,其对应的视频下载任务不会被发起
    • 如有需要,请在下载面板删除对应任务后再继续尝试
  • 如果存在多语种,默认优先下载中文简体zh-CN
  • 如有需要,可在app.config更改配置,如:
bilibili.cc.lang = en-US
  • 关于语言的配置,详见此处
关于自定义背景图片
关于自定义各种链接解析
  • 一般来说,将各种实现的xxxParser.java放在parsers文件夹下即可
  • 如果自定实现的类与已有的是相同名称,请确保它在已有的类之前加载。
    而为了实现这个,需要指定加载顺序,需要在parsers文件夹下创建配置parsers.ini。举例:
假设你自定义实现了BVParser 和 B23Parser,其中B23Parser继承BVParser。  
如果先尝试加载B23Parser,那么它在加载时会搜寻其父类,于是会找到现有的BVParser。  
其结果是你自定义的BVParser没用了,自定义的B23Parser也可能因此而存在逻辑问题。  
解决方案是,在parsers文件夹下创建parsers.ini,将顺序指定,其内容为:
BVParser
B23Parser

:smile:第三方库使用声明

:smile:Linux/Mac用户请看过来

  • Mac用户可参考简单说下如何在mac下跑起来
  • ffmpeg环境设置参考issues #15
  • 自带的ffmpeg.exeWin10+Msys+MingW+msvc自行编译,其它平台请自行官网下载,替换源程序;
  • 对于非WIN用户,请直接使用命令行调用该程序
    javaw -Dfile.encoding=utf-8 -jar INeedBiliAV.jar
  • 对于非WIN用户,如需使用程序的一键更新功能,请在程序操作完毕并退出后,人工update/INeedBiliAV.update.jar替换掉INeedBiliAV.jar

:smile:其它

:smile:LICENSE

// 为了能够编译成功,注释掉了cmdutils.c中CC_IDENT所在的第1156行
./configure --toolchain=msvc --arch=x86 --enable-yasm --enable-asm --disable-debug --disable-doc --disable-ffplay --disable-ffprobe --enable-static --disable-shared --disable-network --disable-autodetect --disable-decoders --disable-gpl --disable-version3 --enable-decoder='h264,aac*,mp3*,mp4' --disable-encoders --disable-demuxers --enable-demuxer='concat,mov,m4v,flv,mp3' --disable-muxers --enable-muxer='flv,mp4,mp3' --enable-encoder='libmp3lame,mp3' --disable-parsers --enable-parser=h264 --disable-protocols --enable-protocol='concat,file' --disable-bsfs --enable-bsf='h264_metadata,h264_mp4toannexb' --disable-filters --enable-filter='concat,aresample' --disable-iconv --enable-small
make
  • 本项目遵守开源协议Apache 2.0
    为了分发的便利,历史版本可能直接使用过其它编译版本ffmpeg.
    当协议不兼容时,具体情况请以使用的ffmpeg版本为准(大概率是GPL 3.0
Copyright (C) 2019 NiceLee. All Rights Reserved.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1. Definitions. "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. 2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. 3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. 4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: (a) You must give any other recipients of the Work or Derivative Works a copy of this License; and (b) You must cause any modified files to carry prominent notices stating that You changed the files; and (c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and (d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. 6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. 8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. 9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. END OF TERMS AND CONDITIONS APPENDIX: How to apply the Apache License to your work. To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives. Copyright [yyyy] [name of copyright owner] Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

简介

INeedBiliAV - B站视频下载 - Java爬虫作品 展开 收起
Apache-2.0
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
1
https://gitee.com/liwooood/BilibiliDown.git
git@gitee.com:liwooood/BilibiliDown.git
liwooood
BilibiliDown
BilibiliDown
master

搜索帮助