简介
用于下载斗鱼视频录播以及弹幕,支持订阅,自动下载,自动上传到 B 站。
安装
npm install douyu-cli
该程序依赖于ffmpeg,需要手动安装,程序默认会调用环境变量中的ffmpeg,如果想自定于或者无法调用,请使用douyu config set ffmpegBinPath xxxx手动设置可执行文件地址。
视频教程
使用
Usage: douyu [options] [command]
斗鱼视频下载命令行
Options:
-V, --version output the version number
-h, --help display help for command
Commands:
download [options] [url] 下载视频
subscribe|sub 订阅
config 配置项
help [command] display help for command
下载视频
douyu download https://v.douyu.com/show/yVY8WwdzNyVvLOz9
你也可以加上-d, -a 来下载当前视频的所有分 p ,并下载弹幕,弹幕为 b 站兼容格式,你可以使用如 DanmakuFactory 将弹幕转换为 ass 格式进行后续操作。
如果你正在寻找将录播上传到 B 站的工具,可以尝试一下 biliLive-tools,支持将弹幕转换以及压制到视频中并自动上传。
Usage: douyu download [options] [url]
下载视频
Options:
-a, --all 下载所有分 p
-d, --danmaku 下载弹幕
-r, --rewrite 覆盖已有文件
-st, --stream-type 清晰度
--dir 下载文件夹,会覆盖 config 中的 downloadPath
-h, --help display help for command
清晰度参数,默认为最大清晰度
大致清晰度供参考:
原画 2K60:1440p60a
高清 1080P60:1080p60
高清 720P:high
标清 480P:normal
订阅
添加订阅
douyu sub add 93589
移除订阅
douyu sub remove 93589
下载订阅
这个功能会读取订阅主播最近的一次直播回放并进行下载,已下载过的任务不会重复下载。
webhook 功能
在视频下载前会发送类似的包给 webhook 服务器:
filePath: 下载完成后的文件地址
roomId: 房间号
time: 录播视频开始时间戳
title: 分 p 标题
username: 用户名
curl --location 'http://127.0.0.1:18010/custom' \
--header 'Content-Type: application/json' \
--data '{
"event":"FileOpening",
"filePath":"D:\\aa.mp4",
"roomId": 93589,
"time":"2021-05-14T17:52:54.946",
"title":"我是猪",
"username":"djw"
}'
你可以搭配 biliLive-tools( 0.9.0 版本及以上) 使用来实现自动压制上传。
如果需要将一天的录播设置为一个分 p ,请开启断播续传功能,并将间隔设置为录播间隔往上,建议设置 3 小时以上。
douyu sub download
定时运行下载订阅任务
默认时间间隔为 60 分钟,斗鱼录播的分隔时间约为 75 分钟,间隔调整为较短大致上也没什么用。
douyu sub server
你也可以使用定时任务来执行 douyu sub download 命令,可以到达相同的效果
赞赏
如果本项目对你有帮助,请我喝瓶快乐水吧,有助于项目更好维护。
爱发电:https://afdian.net/a/renmu123
License
GPLv3