在这种情况下,我知道 ffmpeg 是一般的答案,方法是执行以下操作
ffmpeg -i 40\ Days\ Falling\ Apart-55db1e546b66d1421b2cb43c.mp4 -i 40\ Days\ Falling\ Apart-55db1e546b66d1421b2cb43c.en.ttml -c copy -c:s mov_text 40\ Days\ Falling\ Apart.mp4
但就我而言,标题是 ffmpeg 不支持的 ttml 格式。
由于许可问题,我无法将文件上传到网络服务。
答案1
我手头没有任何 TTML 或 MP4 文件可以测试它,所以这是一个不完整的答案,但一般步骤是:
1. 将 TTML 字幕文件转换为 SRT
有很多在线转换器可用,但您表示需要离线执行。
这netflix-to-srt 存储库有一个可以转换.xml
为的脚本.srt
。由于 TTML 文件似乎是一种 XML 文件,您可以尝试以下操作:
- 复制 TTML 文件并将扩展名更改为
.xml
。 - 克隆/下载netflix-to-srt 存储库
- 按照转换步骤使用步骤 1 中的 XML 文件
2. 为视频添加字幕
Stackoverflow 上的这个答案解释如何将字幕作为单独的流添加到 MP4 文件中。使用合适的视频播放器,您可以切换字幕。
Stackoverflow 上的这个答案解释如何将字幕刻录到 MP4 文件中。无论使用什么视频播放器,字幕始终可见,并且无法关闭。