timerring
(timerring)
1
目前实现功能如下:
- 速度快:采用 pipeline 流水线处理视频,理想情况下录播与直播相差半小时以内,能够在没有下播前就上传录播。
- 多房间:同时录制多个直播间内容视频以及弹幕文件(包含普通弹幕,付费弹幕以及礼物上舰等信息)。
- 占用小:自动删除本地已上传的视频,很小的空间也能跑起来(每个房间预留 5G 空间即可)。
- 模版化:无需复杂配置,开箱即用,通过 b 站搜索建议接口自动抓取相关热门标签。
- 检测片段并合并:对于网络问题或者直播连线导致的视频流分段,能够自动检测合并成为完整视频。
- 渲染弹幕版视频:自动转换 xml 为 ass 弹幕文件并且渲染到视频中形成有弹幕版视频并自动上传。根据不同分辨率的视频有 fine tune 的渲染参数。
- 硬件要求极低:即使无 GPU ,只用最基础的单核 CPU 搭配最低的运存即可完成录制,弹幕渲染,上传等等全部过程,无最低配置要求,10 年前的电脑或服务器依然可以使用!
- ( NEW)自动渲染字幕(如需使用本功能,则需保证有 Nvidia 显卡):采用 OpenAI 的开源模型 whisper ,自动识别视频内语音并转换为字幕渲染至视频中。
项目地址:
目前已经将性能优化得相当极致了,理想状态下可以实现开播 20 分钟左右即可以上传弹幕+字幕版的录播。 不知道大家还能提出什么需求吗?欢迎佬多多提建议。
21 个赞
timerring
(timerring)
4
感谢,一共迭代了一个多月,改了 60 个 PR 花了很多心血,现在终于可以用于生产了,还是很兴奋的。
1 个赞
是否可以增加个定制录制,比如录全屏,或者指定区域,或者手机尺寸等。
感谢大佬分享,提个小建议:
可以做个计划任务的上传,以免录制和上传同时占满带宽
timerring
(timerring)
12
这个其实取决于主播开播的设置吧,b 站直播目前主要有四种分辨率 1280x720, 1920x1080 1080x1920, 720x1280,我给字幕渲染做了适配的 fine tune 参数。
另外想要指定区域的话应该是没问题的,不过可能分两种情况,一种是那个主播经常用这个分辨率的参数开播,这个可以专门写规则,另一种是录制完成之后不确定效果,可以手动用 ffmpeg 切分。 在不确定渲染效果的情况下还是不太推荐提前把规则写固定。
timerring
(timerring)
14
好的,这个确实可以,我后期再研究一下录制的带宽需求。目前我同时录制四个直播,然后上传一个录播的情况下,好像录制没有受到影响,后面我再专门确定一下上下行带宽。
timerring
(timerring)
15
更新一下,我通过 vitepress 部署上线了相关文档,欢迎大家使用并提建议。
非常感谢,现在项目已经迭代完整了,这12 月已经迭代新增了自动切片等新功能,欢迎提需求和意见。