文章总结: 本文介绍了一种利用ffmpeg从视频提取英文字幕并借助AI翻译生成中文的轻量方案。作者讲解了通过ffprobe分析流信息、区分srt与ass字幕格式,并提供了具体的提取命令行参数。该方法适合个人快速处理视频,无需等待字幕组即可高效观影。 综合评分: 84 文章分类: 其他
字幕组的平替
原创
沈沉舟 沈沉舟
青衣十三楼飞花堂
2026年1月28日 21:02 北京
声明,这不是我的主意。是在TG上看来的,不清楚原作者是谁,是一个信息收集分发群里的匿名信息。
上下文是,你有一个some.mkv,没有原生中文字幕,但携有英文软字幕。可用ffmpeg从mkv中提取srt格式的英文软字幕,上传到AI,生成srt格式的中文软字幕,最后让播放器加载之。
肯定有其他方案,只是我个人比较喜欢这个方案,轻量级,消耗不大。
- 1. srt vs ass
ffprobe -hide_banner -i some.mkv 2>&1 | grep "Stream"
此处不要用”-v quiet”,必须用”-hide_banner”,否则完全无输出。
Stream #0:0(eng): Video: ...
Stream #0:1(eng): Audio: ...
Stream #0:2(eng): Subtitle: subrip (srt)
Stream #0:3(chi): Subtitle: ass (ssa) (default)
Stream #0:4(chi): Subtitle: subrip (srt)
Stream #0:5(chi): Subtitle: ass (ssa)
Stream #0:6(chi): Subtitle: subrip (srt)
此mkv除了视频流、音频流,还带有5条字幕流,对应不同的语言。
若上述ffprobe命令看不到字幕流,则是内嵌字幕(硬字幕),这种无法提取。
srt是基础字幕,纯文本,序号+时间+文本,不支持样式(字体、颜色、位置),兼容性好。
ass是样式字幕/特效字幕,同样是纯文本,但通过文本语法描述样式与特效,不含二进制数据。ass字幕可出现在任意位置(不一定在底部),功能强,兼容性差。
- 2. 从视频中提取字幕流(软字幕)
假设要提取Stream #0:5、Stream #0:6两条字幕流,可用如下命令
ffmpeg -v quiet -i some.mkv -map 0:s:3 some.ass
ffmpeg -v quiet -i some.mkv -map 0:s:4 some.srt
或
ffmpeg -v quiet -i some.mkv -map 0:5 some.ass
ffmpeg -v quiet -i some.mkv -map 0:6 some.srt
使用”-map 0:s:3″时,其含义是
0 第0个输入(现在只有一个some.mkv)
s Subtitle Stream (字幕流)
3 第3条字幕流 (字幕流从0开始单独计)
使用”-map 0:5″时,其含义是
0 第0个输入(现在只有一个some.mkv)
5 第5条流 (不使用:s:)
提取srt后,可上传至AI,生成翻译后的srt。自力更生,快速看片。
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:青衣十三楼飞花堂 沈沉舟 沈沉舟《字幕组的平替》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。










评论