项目地址: https://github.com/renmu123/douyu-video-cli

简介

用于下载斗鱼视频录播以及弹幕,支持订阅,自动下载,自动上传到 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