Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

khcloud-python/DouyinLiveRecorder

Open more actions menu
 
 

Repository files navigation

抖音直播录制工具

特点

  • 支持无人值守自动监测和录制多个主播的直播。
  • 支持录制弹幕
  • 未知直播间地址时,也可以通过主播主页来监测直播,因此可以监测没开过直播的、开播时间阴间导致从未赶上直播的主播。
  • 支持自动获取 cookie,并在 cookie 失效时自动重新获取。无需手动获取 cookie。
  • 不使用 selenium,不需要安装浏览器,几乎开箱即用。
  • 支持自定义脚本、插件,以自定义开播推送等功能。
  • 高性能,奶奶家的老爷机、1核2G的经济型服务器都能录制。
  • 支持 linux。
  • 理论上支持 mac,但未测试,如果是 mac 用户可以参考 linux 的安装和使用方法,勤使用搜索引擎。

缺点

  • 由于是根据作者本人自用的需求而开发的,因此不支持诸如更改清晰度(直接录制最高清晰度)、最大文件长度之类的功能,以后可能会加入这些功能。
  • 高级功能如插件、推送等的使用门槛较高,可能要会写 python 代码。
  • 因新鲜出炉,尚未测试足够长时间,可能有较多 bug。
  • 不能保证失效时及时维护

说明

如果有bug或有什么建议的话请发issues,建议贴上日志( logs 文件夹下遇到 bug 时对应的日志)

软件仅供个人科研性质使用,禁止商业使用,禁止不正当使用,不接受定制,不接受捐助。

本人从未也不会从本软件中获利,没有义务保证软件长期有效和及时更新,没有义务对所有遇到的问题都作解答,任何对软件的不正当修改和使用所造成的危害由使用者负责。

目前更新软件的方式是下载最新软件,并把旧软件的 room.json 复制到新目录下,config.txt 可能要重新配置,因为新旧版本配置不兼容。

使用方法

下载软件并解压,进入到解压后的目录,你能看到在这个目录下的 运行命令行版.bat 等文件,这个目录称为软件根目录

Windows平台安装

首先安装 python 并将其添加到环境变量(可以在安装过程中勾选 Add Python x.x to PATH),如果是新手的话可以百度搜索 Python 安装,有手把手教程。

Windows平台可以按键盘上的 Win + R,并在文本框中输入cmd,回车,打开命令提示符,并在命令提示符中输入python --version,如果输出了python的版本,则表明安装成功。

如果是 Windows 10/11,执行命令python后可能什么都不输出,甚至会出现打开微软应用商店的迷惑行为,可以百度搜索python弹出微软应用商店

Linux平台(无图形化界面)安装

如果使用 Linux 应该会安装 python吧。

使用方法见下方

配置文件

在软件根目录下找到 config.txt,用文本编辑器打开它。里面对各选项都作了说明,可以根据自己的需求调整。

linux 服务器可以考虑使用 bypy 来上传录制到的文件,以便在自己的 PC 中转码和渲染弹幕。可以使用插件(下面说明)来实现自动上传。

设置房间

可以在 GUI 界面中点击下方的 添加主播 来添加房间,支持 Web_Sid、直播间地址、直播间短链、主播主页。

使用纯命令行的用户,可以先在有 GUI 的平台下添加好房间,再把 room.json 复制到纯命令行平台下。或者:

在软件根目录下找到 room.json,用文本编辑器打开它,下面是几个例子:

[
  {
    "id": 71034333127,
    "name": "主播名1",
    "auto_record": true,
    "record_danmu": true,
    "important": false
  },
  {
    "id": 851917085931,
    "name": "主播名2",
    "auto_record": true,
    "record_danmu": true,
    "important": false
  }
]

id 是房间的 Web_Rid,即用网页版打开直播间(也可以自己在网页输入直播分享的短链,会跳转另一链接),链接为 live.xxx.com/123456789?roomid=...

这个 123456789 就是 Web_Rid 。

name 可以填主播名,同时也是录制到的文件所存放的目录名,由于一些主播会经常改名,所以不自动获取名称,你可以自己填一个容易记的名字。

auto_record 是否自动监测和录制,一般是 true,如果不想录了又怕删掉它下次不方便加回来,可以改成 false。

record_danmu 为是否录制弹幕,对性能要求较高,根据实际需求和录制设备性能决定。

important 为 true 的情况下,该主播使用独立线程检测,以保证第一时间录到直播。不建议添加太多重要主播

运行

双击 main.pyw 即可运行 GUI 版。

运行命令行版,Windows 平台直接打开 运行命令行版.bat 就可以了。

Windows 或 Linux 下,在软件根目录下执行指令 python3 main.pyw

对于命令行版,当配置或房间修改时,需要重新启动软件才能生效。

下载的文件存放于 根目录/download 下。

自动转码

需要下载 ffmpeg,可以放在软件根目录下或其他位置,在 config.txt 中配置 ffmpeg 所在目录,并配置自动转码选项。

插件

在 src/plugin/plugin.py 中编写你的插件,比如当直播开始时向一个 api POST 一个信息以便通知你开播了:

def on_live_start(room, filename):
    requests.post(f'123.45.67.89:65565/?room_name={room.room_name}')

对录制到的文件进行处理

下载到的文件是flv格式,由于时间戳错误等,许多软件播放有异常,可以使用 PotPlayer 播放,但仍存在拖拽进度条卡顿等问题,你可以尝试转码:

下载 ffmpeg 并将其添加到环境变量中(网上有教程),假设录到的文件名是 20230114_123456.flv,执行指令:

ffmpeg -i 20230114_123456.flv -c copy 20230114_123456.mp4

可以进行无损转码,且速度非常快,还能修复部分由于时间戳错误造成的问题。

建议使用 b站录播姬 的录播修复工具进行修复,ffmpeg容易修坏。不过不能保证 100% 的修复成功率,建议保留录制到的原始文件以便以后修复。

如果不嫌转码麻烦费时的话,可以只保留原始 flv 格式,要用的时候才转为 mp4 格式,以免日后发现转码后的视频有问题时,原flv文件已经删了。

下载的弹幕是类 b站xml 格式的,可以使用 nicovert 来转为 ass 格式字幕文件,播放时拖入 PotPlayer 就能显示弹幕了。

如果要将弹幕渲染到视频中,可以使用命令:

ffmpeg -i 20230114_123456.flv -vf ass=20230114_123456.ass 有弹幕.mp4

但是这样如果原视频模糊或帧数低的话,弹幕也会模糊或一卡一卡的,你可以先生成一个高质量中间文件,再渲染弹幕:

ffmpeg -i 20230114_123456.flv -c:v h264 -b:v 5824k -vf scale=iw*2:ih*2 -c:a copy -r 60 hq.mp4
ffmpeg -i hq.mp4 -c:v h264 -b:v 5824k -vf ass=20230114_123456.ass -c:a copy 有弹幕.mp4

参考项目

About

一个自动监测和录制抖音直播的工具,支持录制弹幕,以GUI或命令行形式运行,支持linux,无需设置cookie,不使用selenium,开箱即用。

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Python 99.9%
  • Batchfile 0.1%
Morty Proxy This is a proxified and sanitized view of the page, visit original site.