吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 22789|回复: 331
上一主题 下一主题
收起左侧

[Python 原创] [0423更新] Python版抖音直播自动录制工具【支持录制弹幕】,开箱即用!

    [复制链接]
跳转到指定楼层
楼主
Lyzen 发表于 2023-1-14 22:27 回帖奖励
本帖最后由 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 。



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




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



使用方法
下载软件并解压,进入到解压后的目录,你能看到在这个目录下的 运行命令行版.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, 下载次数: 32)

录制弹幕的播放效果

录制弹幕的播放效果

免费评分

参与人数 61吾爱币 +68 热心值 +57 收起 理由
onlyclxy + 3 + 1 同行
过往温柔的你 + 1 谢谢@Thanks!
大西瓜 + 1 + 1 谢谢@Thanks!
JETrek + 1 + 1 我很赞同!
Rfors + 1 + 1 我很赞同!
未来丨 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
tp5026 + 1 + 1 谢谢@Thanks!
C11 + 1 + 1 谢谢@Thanks!
xyxianmu + 1 + 1 谢谢@Thanks!
ian1805 + 1 + 1 我很赞同!
w220913 + 1 + 1 我很赞同!
Shuhei + 1 + 1 我很赞同!
太行山搬书 + 1 + 1 谢谢@Thanks!
evianincrush + 1 + 1 鼓励转贴优秀软件安全工具和文档!
linfafa2 + 1 + 1 谢谢@Thanks!
lanren7 + 1 + 1 谢谢@Thanks!
zxq150 + 1 + 1 鼓励转贴优秀软件安全工具和文档!
oyaya + 1 + 1 我很赞同!
锦鲤一号 + 1 + 1 谢谢@Thanks!
gp2 + 1 + 1 谢谢@Thanks!
yaojinxin + 1 用心讨论,共获提升!
模糊 + 1 + 1 谢谢@Thanks!
雨打荷花 + 1 + 1 谢谢@Thanks!
Tyuank + 3 鼓励转贴优秀软件安全工具和文档!
Durant35 + 1 + 1 谢谢@Thanks!
发哥哥 + 1 + 1 谢谢@Thanks!
fengdale + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
dorseyhu + 1 + 1 热心回复!
sdx520521 + 2 + 1 谢谢@Thanks!
crary06 + 1 + 1 谢谢@Thanks!
494635277 + 1 + 1 鼓励转贴优秀软件安全工具和文档!
chlianfu + 1 + 1 我很赞同!
小小小莫莫 + 1 + 1 谢谢@Thanks!
liuyue123 + 1 + 1 我很赞同!
wuweimao + 1 + 1 我很赞同!
一纸红笺 + 1 + 1 这个工具牛皮, 重要的是可以添加重要主播, 楼主辛苦了
yjn866y + 1 + 1 谢谢@Thanks!
qiyi217 + 1 + 1 想问下,别人直播间开通了会员,是不是不能录了
话痨司机啊 + 1 + 1 谢谢@Thanks!
Angel0772 + 1 + 1 谢谢@Thanks!
bin_chb + 1 谢谢@Thanks!
lingwushexi + 1 谢谢@Thanks!
志舟ing + 1 热心回复!
YuanFang0w0 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
Spacecraft + 1 热心回复!
junjia215 + 1 + 1 用心讨论,共获提升!
hanfujk + 1 + 1 谢谢@Thanks!
SkyLI10 + 1 谢谢@Thanks!
on99777t + 1 + 1 感谢非常好用,爱了
宅者无敌 + 1 + 1 谢谢@Thanks!
来碗大碗宽面 + 1 + 1 很好用,感谢
Μs丶兄弟 + 2 + 1 热心回复!
苏紫方璇 + 7 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
shenjx + 1 + 1 谢谢@Thanks!
decheng + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
DCBA + 1 谢谢@Thanks!
nowls47 + 1 + 1 谢谢@Thanks!
pk555157815 + 1 + 1 我很赞同!
yywxsz + 2 + 1 我很赞同!
ookk + 1 + 1 我很赞同!
haoera + 1 鼓励转贴优秀软件安全工具和文档!

查看全部评分

本帖被以下淘专辑推荐:

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

来自 #
 楼主| Lyzen 发表于 2023-4-18 22:07 |楼主
2023-4-18 重大更新

由于工作原因好久没上吾爱论坛了,发现现存工具要么没了要么不太好用。个人开发的本工具下载量突然暴增,故将本工具的基础功能完善一下。


看到此类工具大多使用麻烦(之前的本工具也是),本工具也常有人不会用,索性打包了一个开箱即用的版本,在网盘中下载懒人版即可。


当前版本大幅提升了弹幕录制性能,使用经济型服务器的可以放心大胆地录很多个主播的弹幕了。不再需要安装浏览器,改一改房间列表就能用。

具体更新内容:
- 新增懒人版,下载下来后解压后即可直接运行,无需安装 python 和依赖,仅限 Windows 系统。
- 移除 selenium ,现在不需要使用浏览器了,大幅提升性能,1核2G的服务器都能录。
- 修复了因浏览器性能瓶颈造成录制弹幕时间不对且集中出现的bug,现在的弹幕录制更接近于实时。

免费评分

参与人数 3吾爱币 +3 热心值 +3 收起 理由
jiajiahui + 1 + 1 谢谢@Thanks!
怅惘 + 1 + 1 谢谢@Thanks!
zoenbo + 1 + 1 谢谢@Thanks!

查看全部评分

来自 #
 楼主| Lyzen 发表于 2023-4-23 23:57 |楼主
2023-4-23 更新

上一次更新因为添加房间部分的api有很大变动,加上不使用 selenium 的限制(为降低使用门槛和提高性能),使添加房间变得困难,由于本人比较忙,就暂时移除了添加主播的功能,改为纯配置文件的形式。


现在,添加房间的功能,它回来了。



目前,可以通过以下四种方式添加房间
  • web_rid,就是 live.douyin.com/123456?xxx 中的123456
  • 直播间地址,例如 live.douyin.com/123456?xxx
  • 直播间分享短链(不是主页短链),例如 v.douyin.com/abcdef
  • 主播主页链接,例如 www.douyin.com/user/MS4wLjABAAAA...



其中,主播主页链接不需要保证主播正在直播,对于还没开过直播的、开播时间阴间导致从未赶上直播的,都可以直接监测。

免费评分

参与人数 2吾爱币 +2 热心值 +2 收起 理由
pys123 + 1 + 1 谢谢@Thanks!
Dan717 + 1 + 1 谢谢@Thanks!

查看全部评分

来自 #
 楼主| Lyzen 发表于 2023-5-7 19:25 |楼主
话痨司机啊 发表于 2023-5-7 08:12
在linux下使用您的程序录制的时候,弹幕会产生很多分支文件,时间有时候也对不上。不知道为什么~

这是正常的,由于录制机器的网络问题、主播网络问题、抖音服务器问题、CDN问题等,会造成某次录制无弹幕或断连等,在实际的直播中就是卡一下,或者刷新就能解决的,但如果是录制,反复重连就会生成很多文件,尝试了很多种方案,生成多个文件是最稳妥的,不然可能会因为主播下播后短时间内又重新开播、抖音服务器卡顿等原因产生几乎不可能修复的问题(很常出现!)。

由于上述问题,生成的弹幕文件时间也是不可能100%对得上的,即便是在抖音客户端中观看直播都可能产生弹幕时间偏移等等,没有任何一个软件能够解决,包括b站录播姬。但在使用说明里提到可以使用niconvert将xml弹幕文件转为ass,niconvert中就支持设置弹幕的偏移时间,只要录制机、主播等的网络不太离谱,将弹幕时间整体向前或向后偏移一段时间后基本都能重新对上,我自己就是这样校准每一次录制的弹幕时间的。

但遇上户外直播等网络波动较大的情况,还是会产生将弹幕时间整体偏移不能解决的问题,比如:
00:30:00 - 0:31:00 这一分钟由于主播进电梯,卡没了,但录制到的flv文件就是直接没了1分钟,但弹幕时间这1分钟还是在的(观众在发“卡了”等),于是就产生了1分钟的整体偏移。
为了修复这种情况,一种方法是在代码中加入边录边校准时间的功能,但难度太大,不同直播的视频编码等都可能不同,抖音又经常变化,我没有时间加这个功能,花了几周时间加上去可能没几天就失效了。
另一种就是手动校准,像在视频编辑软件里拉时间线,但写这样一个软件也是很费时间,且用python写这样的GUI估计没一会就崩溃了。我之前写了个命令行版的手动校准程序,但用命令去修复估计学习门槛太高了,等我有空优化一下。
推荐
虚拟时间 发表于 2023-2-11 19:40
大佬为啥我添加主播时一直无法正常添加,提示不符合要求

微信截图_20230211193921.png (18.2 KB, 下载次数: 8)

微信截图_20230211193921.png

微信截图_20230211193931.png (16.24 KB, 下载次数: 2)

微信截图_20230211193931.png
推荐
airwenlee 发表于 2023-7-5 08:30
多谢 分享!
建议添加停止录制功能啊,添加已录制时长和文件大小的显示
推荐
 楼主| Lyzen 发表于 2023-4-27 20:37 |楼主
jk517 发表于 2023-4-27 19:06
大佬,开会员,能放开限制吗?3个有点不够用啊

大哥,这是免费的软件,是不是回复错帖了或者被骗了
推荐
 楼主| Lyzen 发表于 2023-4-24 00:14 |楼主
eing888 发表于 2023-4-20 14:12
为什么一场直播录出来有多个字幕文件。怎么合并到一起呢

由于网络问题有可能会产生多个弹幕文件,我有空写一个小工具来合并
推荐
mimi820 发表于 2023-9-22 11:04
大佬win7无法使用。。。。。。
推荐
xyxianmu 发表于 2023-8-20 21:06
感谢楼主无私分享!!试用了几百块一年都没这个好使,楼主为我这种不懂代码的人提供了极大的便利,还省了钱。
推荐
wapj小新手 发表于 2023-7-13 17:32
本帖最后由 wapj小新手 于 2023-7-13 17:52 编辑

愁死我了

2023-07-13 17:23:51,198 [INFO] platform: Windows-7-6.1.7601-SP1
2023-07-13 17:23:51,198 [INFO] python version: 3.8.10
2023-07-13 17:23:51,222 [CRITICAL] <class 'json.decoder.JSONDecodeError'>: Unexpected UTF-8 BOM (decode using utf-8-sig): line 1 column 1 (char 0)

一直出现这个转码的错误   愁死我了



哦,我解决了    改成encoding='utf-8_sig'   就行了
头像被屏蔽
沙发
Tunny 发表于 2023-1-15 12:47
提示: 作者被禁止或删除 内容自动屏蔽
3#
 楼主| Lyzen 发表于 2023-1-15 12:55 |楼主
Tunny 发表于 2023-1-15 12:47
坐个沙发https://www.52pojie.cn/thread-1736470-1-1.html抖音直播录制工具【旧版本存档集合】10月15的可以 ...

我也一直在用这个版本呢,希望biqiang大大早日康复
4#
xxl1039 发表于 2023-1-15 13:58
创作不易,感谢分享。
5#
aa2923821a 发表于 2023-1-15 14:17
谢谢,我正好需要
6#
jackymark 发表于 2023-1-15 14:31
感谢分享
7#
WJia 发表于 2023-1-15 14:42
创作不易,感谢分享。
8#
 楼主| Lyzen 发表于 2023-1-15 15:45 |楼主
20230113版本在linux测试下发现,chromedriver会生成大量临时文件将硬盘占满,大家先不要在linux下用这个版本,问题会在下一个版本修复。
如果有人已经中招了,可以使用以下命令清理缓存
[Shell] 纯文本查看 复制代码
cd /tmp
sudo find . -name ".com.google*" | sudo xargs rm -rf ".com.google*"
9#
 楼主| Lyzen 发表于 2023-1-15 22:01 |楼主
20230115 新版本推出,在原网盘链接中就可以下载最新版本。

只需将原来配置的 room.json 移到新版本目录下即可,可能需要重新配置一下 config.txt,不过默认配置已经可以满足绝大多数需求了。

现在可以不用填写 cookie了,cookie会自动获取。

修复了一个导致硬盘被塞满的bug,请及时更新软件以修复bug。如果已经有人遇到了,,可以使用以下方法删除:

Windows平台:在 C:\Users\你的用户名\AppData\Local\Temp 下删除所有以 scoped_dir 开头的文件夹。
Linux平台:请看 #8 楼
10#
lingfeill 发表于 2023-1-16 00:04
不错 研究了一会整明白了
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止灌水或回复与主题无关内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2023-9-27 09:50

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表