Skip to content

Commit

Permalink
Update to Version 1.33
Browse files Browse the repository at this point in the history
  • Loading branch information
ScottSloan committed Dec 3, 2022
1 parent ea731be commit 7d06bbd
Show file tree
Hide file tree
Showing 5 changed files with 19 additions and 23 deletions.
19 changes: 9 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,6 @@ Bili23 Downloader GUI 桌面端版本

请前往 [Release](https://github.com/ScottSloan/Bili23-Downloader/releases) 页面,下载最新版本。

Windows 版本已集成 `ffmpeg`,无需再次下载安装。

### **主界面**
[![zUM8v6.png](https://s1.ax1x.com/2022/11/27/zUM8v6.png)](https://imgse.com/i/zUM8v6)

Expand All @@ -40,29 +38,30 @@ Windows 版本已集成 `ffmpeg`,无需再次下载安装。
- 剧集 epid、md、ss 号
- 音乐 au 号、歌单 am 号

> 互动视频解析下载目前正在研究中...
### **下载**
[![zUMYDO.png](https://s1.ax1x.com/2022/11/27/zUMYDO.png)](https://imgse.com/i/zUMYDO)

下载模块使用流式下载实现,默认开启 4 个线程以提升下载速度,经测试可以跑满带宽
下载模块使用流式下载实现,默认开启 4 个线程以提升下载速度,理论上可以跑满带宽,实际速度取决于B站服务器状况

程序默认下载 `HEVC/H.265` 编码的 `1080P` 视频,您可在设置中更改。若视频不含所设置的清晰度或编码,程序将自动下载可用的最高清晰度或自动选择可用的编码
程序默认下载 `HEVC/H.265` 编码的 `1080P` 视频,您可在设置中更改。若视频不含所选的清晰度或编码,程序将自动下载可用的最高清晰度或编码

> **关闭程序后未完成的任务需重新下载**
> 请注意,关闭程序后未完成的任务需重新下载
### **登录**
#### **支持的登录方式**
* 扫码登录
* Cookie 登录 (SESSDATA 字段)

未登录状态下程序默认使用 `网页解析` 方式解析视频链接,可下载部分 1080P 视频。为确保正常下载,我们建议您登录使用。
未登录状态下程序默认使用 `网页解析` 方式解析视频链接,可下载**部分** `1080P` 视频。为确保正常下载,我们建议您登录使用。

**此功能仅获取账号的必要信息并保存在本地,不会泄露您的账号,您可以随时注销账户清除本地数据。**
> 登录有效期为半年,过期后需重新登录。
> 登录有效期为半年,过期后需重新登录,程序会自动提醒。
> 账号密码登录和短信登录功能目前正在研究中...
### **其他功能**
- 支持显示非正片剧集,如花絮,PV,OP,ED 等
- 支持解析直播链接,并在播放器中播放
- 支持显示非正片剧集,如花絮、PV、OP、ED等
- 下载弹幕 (保存为 `xml` 格式)
- 下载字幕 (保存为 `srt` 格式,如有多个字幕将全部下载)
- 下载歌词 (保存为 `lrc` 格式)
Expand Down
5 changes: 4 additions & 1 deletion gui/download.py
Original file line number Diff line number Diff line change
Expand Up @@ -486,7 +486,10 @@ def onError(self):

self.info["update_title"](error = True)

raise ProcessError("下载失败:无法获取下载链接")
if not Config.user_login:
raise ProcessError("当前未登录,无法获取下载大会员专享视频")
elif Config.user_vip_status == 0:
raise ProcessError("大会员鉴权失败,无法下载此视频")

def start_download(self):
self.pause_btn.SetBitmap(wx.Bitmap(Config.res_pause))
Expand Down
2 changes: 1 addition & 1 deletion gui/processing.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import wx

from gui.templates import Dialog
from .templates import Dialog

class ProcessingWindow(Dialog):
def __init__(self, parent):
Expand Down
8 changes: 0 additions & 8 deletions gui/templates.py
Original file line number Diff line number Diff line change
Expand Up @@ -208,14 +208,6 @@ def ShowMessageInfo(self, code: int):
msg = "无法获取视频下载地址"
self._show_message(msg, wx.ICON_ERROR, 0)

elif code == 403:
msg = "未登录,无法下载大会员专享资源"
self._show_message(msg, wx.ICON_ERROR, 0)

elif code == 406:
msg = "大会员鉴权失败,请检查大会员是否过期"
self._show_message(msg, wx.ICON_ERROR, 0)

elif code == 404:
msg = "无法获取直播源"
self._show_message(msg, wx.ICON_ERROR, 0)
Expand Down
8 changes: 5 additions & 3 deletions utils/live.py
Original file line number Diff line number Diff line change
Expand Up @@ -45,8 +45,7 @@ def get_live_playurl(self):
live_req = requests.get(self.playurl_api, headers = get_header(cookie = Config.user_sessdata), proxies = get_proxy(), auth = get_auth())
live_json = json.loads(live_req.text)

if live_json["code"] != 0:
self.onError(404)
self.check_json(live_json)

LiveInfo.playurl = live_json["data"]["durl"][0]["url"]

Expand All @@ -55,4 +54,7 @@ def parse_url(self, url: str):

self.get_live_info()
self.get_live_playurl()


def check_json(self, json):
if json["code"] != 0:
self.onError(404)

0 comments on commit 7d06bbd

Please sign in to comment.