如何使用 ffmpeg 将 srt 字幕混合到视频中,同时保留多个音频文件?

发布于 2025-01-09 06:25:48 字数 282 浏览 0 评论 0原文

我一直在使用:

ffmpeg -i "video.mkv" -sub_charenc UTF-8 -i "video.srt" -c:v copy -c:a copy -c:s mov_text -metadata:s:s:0 language= eng -metadata:s:s:0 handler="English" -id3v2_version 3 -write_id3v1 1 "subbed_video.mp4"

但是当我这样做时,我只注意到英语音频继续存在,但日语音频消失。有没有办法确保两者都结转?谢谢。

I have been using:

ffmpeg -i "video.mkv" -sub_charenc UTF-8 -i "video.srt" -c:v copy -c:a copy -c:s mov_text -metadata:s:s:0 language=eng -metadata:s:s:0 handler="English" -id3v2_version 3 -write_id3v1 1 "subbed_video.mp4"

But when I do it, I notice only the English audio carries over but the Japanese audio disappears. Is there a way to ensure both carry over? Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

醉生梦死 2025-01-16 06:25:48

默认情况下,ffmpeg 仅复制一个视频流和一个音频流。您需要使用 3 个 -map 输出选项指定所有流:

ffmpeg -i "video.mkv" -sub_charenc UTF-8 -i "video.srt" -c:v copy -c:a copy -c:s mov_text -metadata:s:s:0 language=eng -metadata:s:s:0 handler="English" -id3v2_version 3 -write_id3v1 1 -map 0:v:0 -map 0:a:0 -map 0:a:1 -map 1:s:0 "subbed_video.mp4"

这里,我假设您只有 2 个音轨(a:0a:1)在video.mkv上。

By default ffmpeg only copies one video stream and one audio stream. You need to specify all your streams using 3 -map output options:

ffmpeg -i "video.mkv" -sub_charenc UTF-8 -i "video.srt" -c:v copy -c:a copy -c:s mov_text -metadata:s:s:0 language=eng -metadata:s:s:0 handler="English" -id3v2_version 3 -write_id3v1 1 -map 0:v:0 -map 0:a:0 -map 0:a:1 -map 1:s:0 "subbed_video.mp4"

Here, I'm assuming that you have only 2 audio tracks (a:0 and a:1) on video.mkv.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文