AI大模型分析电影写微小说项目:字幕文件清理工具 - Subtitle Cleaner
一个简单高效的Python工具,用于清理ASS和SRT字幕文件,提取纯文本台词,去除所有格式标记、时间码和特效代码。
🎯 项目简介
在日常的视频处理、字幕制作或文本分析工作中,我们经常需要从字幕文件中提取纯文本内容。然而,原始的字幕文件包含大量的格式信息(如时间码、样式定义、特效代码等),这些信息会干扰我们对纯文本内容的使用。这个工具可以自动批量处理ASS和SRT字幕文件,提取干净的台词文本。
✨ 主要功能
- 支持多种格式:自动识别并处理ASS和SRT两种主流字幕格式
- 智能清理:
- ASS文件:去除
[Script Info]、[V4 Styles]、Format:等格式信息 - SRT文件:去除序号、时间码行(如
00:00:24,290 --> 00:00:27,700) - 通用处理:去除所有花括号内的特效代码(如
{\3c&HFF8000&})
- ASS文件:去除
- 批量处理:一键处理整个文件夹中的所有字幕文件
- 编码兼容:自动检测并处理UTF-8、GBK、GB2312、UTF-16等多种编码
- 保持原结构:按原始文件名生成对应的清理后文件
📁 项目结构
1 | subtitle-cleaner/ |
🚀 快速开始
安装要求
- Python 3.6+
- 无需安装额外依赖库
使用方法
准备文件:将所有要处理的ASS和SRT字幕文件放入
download_srt文件夹运行脚本:
1
python clean_subtitles.py
查看结果:清理后的纯文本文件将保存在
cleaned_srt文件夹中
运行示例
1 | 输入文件夹: download_srt |
🔧 技术特点
ASS文件处理逻辑
- 只提取以
Dialogue:开头的行 - 分割并获取第10个逗号后的文本内容
- 去除所有
{...}格式的特效代码
SRT文件处理逻辑
- 跳过纯数字的序号行
- 跳过包含
-->的时间码行 - 保留纯文本台词行,同样去除特效代码
编码处理机制
脚本会自动尝试多种编码格式读取文件:
- UTF-8
- GBK
- GB2312
- UTF-16
💡 应用场景
- 视频内容分析:提取视频对话用于文本分析
- 字幕翻译辅助:获取干净文本进行翻译
- 学习笔记制作:从教学视频中提取讲解内容
- 内容摘要生成:基于字幕文本生成视频摘要
- 语音识别校对:对比语音识别结果与原始字幕
📝 代码示例
核心清理函数:
1 | def clean_srt_content(content): |
🔄 扩展性
项目具有良好的扩展性,可以轻松添加以下功能:
- 支持更多字幕格式:如SSA、VTT等
- 添加文本后处理:如去除广告词、标准化标点
- 集成翻译API:自动翻译提取的文本
- 导出多种格式:如JSON、CSV、Markdown
📊 性能特点
- 高效处理:单文件处理时间通常在毫秒级
- 内存友好:逐行处理,避免大文件内存溢出
- 容错性强:单个文件出错不影响其他文件处理
- 日志详细:实时显示处理进度和结果预览