增加录播视频趣味性的小方法——压制直播弹幕
唐家17号
2021年11月25日 17:35

众所周知,一些游戏直播不会放弹幕在直播界面里(嗯,说的就是瓶子君152),上传的原始录播就是没有直播弹幕的原始画面,那么能不能方便快捷的把弹幕贴上去呢,就像看直播一样复原弹幕飘过的效果。

当然是可以的

首先我们需要两个文件“录播视频文件.flv”&“直播弹幕文件.xml”

怎么获得?用录播姬录制。

录播姬是啥?看这个↓

一般设置参数下结束录制后会得到像这些的文件,每个视频文件都会有对应的弹幕文件

示例


好了有了数据文件,我们可以开始转化弹幕文件了

弹幕压制的原理就是xml弹幕数据转换成ass字幕数据,再用小丸工具箱压制(其他ffmpeg核心的压制工具都可以),就完成了。

首先介绍一下转换工具:https://tiansh.github.io/us-danmaku/bilibili/ 

这个网站可以在线转换xml弹幕文件,点击“在线转换”选择要转的弹幕文件就行,浏览器会自动下载的。

但是上面这个方法有一个致命的问题,就是转换大小有限制,即xml收录的弹幕数据太多,转换会失败,有解决方法吗?


你好,有的,本地转换(掏出记事本写个转换dat脚本)。

咳咳咳,不闹了。

嗯,事实上曾经已经有大佬写过转换程序了:https://github.com/muzuiget/niconvert

具体使用就是,点击“main.pyw”运行->点击浏览->选择文件->调整限制行数(32+就行)->点击转换,转换完成

好了,现在我们得到了ass弹幕文件了,演示文件中总共7264条弹幕

接下来的操作很简单了 压制

现在我们打开小丸工具箱(小丸在哪下?搜索引擎了解一下)

点那个“AVS”选项卡

点“视频”按钮,选择要处理的视频->点“字幕”,选择对应的字幕文件->点“压制”,完成

需要注意的是:1.在下方这堆字符里要修改一个值,将默认的“VSFilter.DLL”改成“VSFilterMod.DLL”,就是在“VSFilter”后面加个“Mod”(虽然我也不清楚为什么要改,但是每次不改就压不了,所以算一个不知道为什么的经验吧)

2.记得勾选“压制音频”,不然输出视频没声的

3.如果是为了做切片的话就不用把全部弹幕都压上了,所以我们可以用到这个“截取”功能操作,至于这个对应的选取帧数的计算公式就是对应秒数%5Ctimes%20视频源帧数,具体的你试试就知道了

最后友情提醒:没事别全录播压制,小丸是单核计算的,cpu越拉跨,压制时间越长

好了,写的好饿,吃东西去了,下次有机会再见吧,摆了个摆~