咨询热线
400-123-4657
本帖最后由 Lyzen 于 2023-4-24 00:05 编辑 抖音直播录制工具 介绍 因本人需要自动监测和录制几个抖音主播的直播,在2021年写过几个程序,但由于效果并不好,再加上抖音经常变动,写完的程序没过多久就失效了,于是放弃。 后来有幸在吾爱破解论坛找到 biqiang的抖音直播录制工具 ,效果良好且更新很勤快,于是便一直用他的工具,但不能在 Linux 下运行且CPU占用较高。 2023年初,biqiang的工具和论坛另一 Python版工具 都已失效,为应急把之前的代码找出来重新改了一下,并加入了弹幕录制的功能。 本人佛系更新,该工具可以用来应急用,如果隔壁恢复更新或者抖音再次更新接口,本工具可能会更新不及时或不再更新。 如果有bug或有什么建议的话请在本帖中交流,建议贴上日志( logs 文件夹下遇到 bug 时对应的日志),不要使用私信或尝试寻找我的其他社交帐号,不接受加好友,不接受定制,不接受捐助。 和biqiang大佬一样,开发本工具原本是为了自用,发布软件是为了交流,软件仅供个人使用,禁止商业使用,禁止不正当使用, 本人从未也不会从本软件中获利,没有义务保证软件长期有效和及时更新,没有义务对所有遇到的问题都作解答,任何对软件的不正当修改和使用所造成的危害由使用者负责。 网盘下载地址:https://wwmr.lanzoul.com/b018fwkpc 访问密码:个人使用 更新记录 目前更新软件的方式是下载最新软件,并把旧软件的 room.json 复制到新目录下,config.txt 可能要重新配置,因为新旧版本配置不兼容。 2023-4-23 - 添加 GUI 界面的 [添加主播] 按钮,支持直播间链接、直播间分享短链、主播主页 现在不用等主播开播也能添加主页链接了,对于还没开过直播的、开播时间阴间的,没赶上过直播?没有直播间链接?没关系,只要主页链接,都可以录。 2023-4-18 重大更新 - 重构了录制部分代码 - 移除 selenium ,现在不需要使用浏览器了,大幅提升性能,1核2G的服务器都能录 - 修复了因浏览器性能瓶颈造成录制弹幕时间不对且集中出现的bug,现在的弹幕录制更接近于实时 - 新增懒人版,下载下来后解压后即可直接运行,无需安装 python 和依赖,仅限 Windows 系统。 2023-2-7 - 由于原接口失效,更换接口 - 修复部分可能发生的 bug - 新增重要主播功能,每个重要主播使用独立线程检测,以保证第一时间录到直播,不建议添加太多重要主播 更多更新内容请看软件目录下的 更新记录.txt 。 特点
缺点
使用方法 下载软件并解压,进入到解压后的目录,你能看到在这个目录下的 运行命令行版.bat 等文件,这个目录称为软件根目录。 Windows平台安装 可以直接下载懒人版,解压后直接运行命令行版或窗口版,请勿直接在压缩包内运行。 如果需要使用指令运行,或者需要修改代码(编写插件),请往下看,否则,直接跳到下方的配置文件。 首先安装 python 并将其添加到环境变量(可以在安装过程中勾选 Add Python x.x to PATH),如果是新手的话可以百度搜索 Python 安装,有手把手教程。 Windows平台可以按键盘上的 Win + R,并在文本框中输入 cmd,回车,打开命令提示符,并在命令提示符中输入 python --version,如果输出了python的版本,则表明安装成功。 如果是 Windows 10/11,执行命令 python 后可能什么都不输出,甚至会出现打开微软应用商店的迷惑行为,可以百度搜索 python弹出微软应用商店。 运行 安装依赖.bat。如果没有报错的话应该就安装成功了,可以把 安装依赖.bat 删掉以防以后误触。 Linux平台(无图形化界面)安装 如果使用 Linux 应该会安装 python吧。 安装依赖: [Shell] 纯文本查看 复制代码 python3 -m pip install -r requirements.txt 配置文件 在软件根目录下找到 config.txt,用文本编辑器打开它。里面对各选项都作了说明,可以根据自己的需求调整。 linux 服务器可以考虑使用 bypy 来上传录制到的文件,以便在自己的 PC 中转码和渲染弹幕。可以使用插件(下面说明)来实现自动上传。 设置房间 可以在 GUI 界面中点击下方的 添加主播 来添加房间,支持 Web_Sid、直播间地址、直播间短链、主播主页。 使用纯命令行的用户,可以先在有 GUI 的平台下添加好房间,再把 room.json 复制到纯命令行平台下。或者: 在软件根目录下找到 room.json,用文本编辑器打开它,下面是几个例子: [Plain Text] 纯文本查看 复制代码 [ { "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 就可以了,或在软件根目录下执行指令 python main.pyw。 对于命令行版,当配置或房间修改时,需要重新启动软件才能生效。 下载的文件存放于 根目录/download 下。 自动转码 需要下载 ffmpeg,可以放在软件根目录下或其他位置,在 config.txt 中配置 ffmpeg 所在目录,并配置自动转码选项。 如果是小白的话,可以直接在网盘中下载 ffmpeg.exe 并放在软件根目录下,配置里面 ffmpeg 所在目录填(注意别漏了最后那个点): [Plain Text] 纯文本查看 复制代码 ffmpeg_path=. 插件 在 src/plugin/plugin.py 中编写你的插件,比如当直播开始时向一个 api POST 一个信息以便通知你开播了: [Python] 纯文本查看 复制代码 def on_live_start(room, filename): requests.post(f'123.45.67.89:23333/?room_name={room.room_name}') 手动对录制到的文件进行处理 下载到的文件是flv格式,由于时间戳错误等,许多软件播放有异常,可以使用 PotPlayer 播放,但仍存在拖拽进度条卡顿等问题,你可以尝试转码: 下载 ffmpeg 并将其添加到环境变量中(网上有教程),假设录到的文件名是 20230114_123456.flv,执行指令: [Shell] 纯文本查看 复制代码 ffmpeg -i 20230114_123456.flv -c copy 20230114_123456.mp4 可以进行无损转码,且速度非常快,还能修复部分由于时间戳错误造成的问题。 如果不嫌转码麻烦费时的话,可以只保留 flv 原始文件,要用的时候才转为 mp4 格式,以免日后发现转码后的视频有问题时,原flv文件已经删了。 下载的弹幕是类 b站xml 格式的,可以使用 nicovert 来转为 ass 格式字幕文件,播放时拖入 PotPlayer 就能显示弹幕了。 如果要将弹幕渲染到视频中,可以使用命令: [Shell] 纯文本查看 复制代码 ffmpeg -i 20230114_123456.flv -vf ass=20230114_123456.ass 有弹幕.mp4 但是这样如果原视频模糊或帧数低的话,弹幕也会模糊或一卡一卡的,你可以先生成一个高质量中间文件,再渲染弹幕: [Shell] 纯文本查看 复制代码 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 软件截图 弹幕效果 |
img2.png (222.25 KB, 下载次数: 44)
录制弹幕的播放效果