FFmpeg:mp4 和多个 srt 到 mkv

the*_*en8 3 unix bash zsh shell ffmpeg

我有几个视频的srt字幕轨道mp4。我如何让他们mkv使用ffmpeg/ avconv

我想有效地利用空间。在Darwin v13上执行转换。如果有人可以帮助我,我将不胜感激。提前致谢。

我可以使用任何为操作提供足够方便的环境的 shell。但是,我主要使用zsh.

例子

/some/path
    Lecture_About_Evolution_of_Evolution.mp4
    english.srt
    native.srt
    perl.srt
    elven.srt
Run Code Online (Sandbox Code Playgroud)

我要生成Lecture.mkv的出mp4文件和所有*.srt字幕轨道。但我不知道如何。

llo*_*gan 9

使用ffmpeg

ffmpeg -i video.mp4 -i subtitle1.srt -i subtitle2.srt -map 0 -map 1 -map 2 \
-c copy -metadata:s:s:0 language=eng -metadata:s:s:1 language=ipk output.mkv
Run Code Online (Sandbox Code Playgroud)
  • 这将流式复制( -c copy) 所有流,因此避免了重新编码。

  • 默认流选择只会为每个流类型选择一个流,因此-map用于手动覆盖它。

  • 我不使用avconv,所以我不知道这些信息是否适用。确保您使用的是最新的真实版本的ffmpeg. 开发非常活跃,ffmpeg来自 Libav 分叉的假冒“ ”已经陈旧。有关各种选项,请参阅FFmpeg 下载页面。