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

标签 video ffmpeg

我一直在使用:
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"
但是当我这样做时,我注意到只有英文音频继续存在,而日文音频消失了。有没有办法确保两者都结转?谢谢。

最佳答案

默认情况下,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"
在这里,我假设您在 a:0 上只有 2 个音轨( a:1video.mkv ) .

关于video - 如何在使用 ffmpeg 保留多个音频文件的同时将 srt 字幕混合到视频中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71229485/

相关文章:

video - 自定义文件格式和编解码器?

c++ - 标准化直方图?

video - ffmpeg:在过滤器 Parsed_pa​​d_5 上找不到未标记输入 pad 0 的匹配流

FFmpeg 使用所有内存并在 filter_complex 中多次使用输入时崩溃

ffmpeg - ffmpeg 如何将视频缩放到相同的大小,同时保持它们的纵横比?

javascript - Video.js 样式不覆盖默认视频样式

java - 安卓和 ffmpeg。播放视频(有声)

video - 如何在给定时间开始视频?

php - 从 PHP 向命令行程序发送输入

Linux 作为 USB UVC 设备