Skip to content

给英语视频添加双语字幕的一个解决方案

Notifications You must be signed in to change notification settings

helloint/subtitle-process

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

给英语视频添加双语字幕的一个解决方案

How To Use

准备

  1. 环境配置:
  1. 把原视频命名为src.mp4 如果不修改文件名,也可以修改最后的ffmpeg命令。

  2. 使用【剪映】生成字幕文件
    在【剪映】里导入原视频,使用剪映自带功能,自动生成英语字幕(菜单/文本/识别字幕),然后退出剪映。
    剪映的文件路径:
    Win: ${Users}\AppData\Local\JianyingPro\User Data\Projects\com.lveditor.draft
    Mac: ${Users}/Movies/JianyingPro/User Data/Projects/com.lveditor.draft
    确保bin/config.js里的config.jianyin正确指向了剪映项目目录,程序会自动读取数据文件:draft_info.json

  3. 生成待翻译文件translation.xlsx
    执行extract命令获取待翻译文件 translation.xlsx,路径在配置config.translation里,默认是"下载"目录。

  4. 获取翻译后的文件translated.xlsx
    用 Google Translate 对文字进行翻译。
    打开 Google Translate,上传translated.xlsx,把翻译后的Excel下载下来,重命名为 translated.xlsx
    确保文件目录和config.translated的一致,默认是"下载"目录。

  5. 生成字幕文件subtitle.srt
    执行srt命令,生成 subtitle.srt,路径在配置config.translation里,默认是"下载"目录。

  6. 使用FFmpeg合成字幕,压缩视频。src.mp4是源文件,dist.mp4是生成后的文件。 执行ffmpeg命令,生成 dist.mp4 对应的命令行:

ffmpeg -y -i src.mp4 -lavfi "subtitles=subtitle.srt" -c:v h264 -qp 25 dist.mp4

命令说明

extract

npm环境npm run extract(或者Node环境node extract.js), 字幕文件会提取到待翻译文件translation.xlsx

srt

npm环境npm run srt(或者Node环境node srt.js), 生成字幕文件subtitle.srt

ffmpeg

npm环境npm run ffmpeg(或者Node环境node ffmpeg.js), 生成合成字幕后的视频文件dist.mp4
注:之所以选择内嵌字幕,是因为这样的格式兼容性好,可以在大多数浏览器内直接播放。

About

给英语视频添加双语字幕的一个解决方案

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published