【猫耳FM广播剧字幕提取】批量处理猫耳FM的xml弹幕转换成的ass弹幕,运用正则筛选出其中的底部弹幕,并转换成lrc格式字幕文件。
✅经作者测试可用的python版本为Python 3.11.9
-
通过我的这个油猴脚本fishhh666/-FM-XML-: 记录猫耳FM / missevan 的 标题和网址,可导出为 JSON 方便后期处理其他任务。脚本支持下载当前页面弹幕 xml 或记录中的所有页面对应 xml(只能逐个下载)导出需要下载弹幕网页的网址和标题,导出到link.json
-
下载并运行同目录下的download_xml.py
(也在上述仓库中,直达链接 -FM-XML-/download_xml.py at main · fishhh666/-FM-XML- )
程序运行后的一个典型的文件结构示例如下:
.
├── link.json (油猴脚本导出,程序优先识别)
├── link.txt (备选,一行一个手动输入网址,link.json不存在则识别该文件)
├── 🐍 download_xml.py (程序本体,上面两个文件必须二者有一)
└── 📁 XML/ (存放下载好的XML文件)
├── 1-123456.xml (如果是读取txt下载的: 序号-猫耳音频ID)
└── 网页标题.xml (如果是读取json下载的: 网页标题)
- 通过 弹幕盒子 - 转换 批量将xml转换成ass.⭐到这步就可以在potplayer中看到全滚动弹幕和底部字幕。
✅ 强烈推荐使用上面网页进行 xml 转 ass。本程序(process_ass.py)筛选底部弹幕的原理是匹配并删除所有带 move 的行和所有 y 坐标小于视频高度一半的行(为了剔除顶部弹幕),所以需要确保您的.ass文件中 [Script Info] 段存在 PlayResY 标识视频高度 .
- 运行ass文件同目录下的 process_ass.py (在本仓库下载)。即可一步完成提取底部弹幕作为字幕转换成lrc字幕。lrc文件会生成在当前目录。而程序会保留正则替换筛选后的ass文件到“替换后ass文件夹”。
程序运行后的一个典型的文件结构示例如下:
.
├── .ass (原本的全弹幕文件)
├── 🎵.lrc (最终转换成的字幕文件)
├── 🐍 process_ass.py (⭐本程序)
└── 📁 替换后ass/ (程序自动生成的文件夹,存放中间步骤的ASS文件)
└── .ass (仅底部弹幕的ASS文件)
🎉🎉🎉由xml弹幕经筛选提取的字幕lrc生成成功!