FFMPEG - 转换具有多个音频和字幕的视频

时间:2021-05-27 14:15:57

标签: ffmpeg

我有一个 MKV 视频文件,其中包含 1 个视频轨道、3 个音频轨道和 2 个字幕轨道。

现在,我使用下面的代码将视频转换为 x265,但遗憾的是无法控制要转换的音频和字幕。有人可以建议我如何调整语句以使用音轨 #0:3 和副标题 #0:4?

ffmpeg -i INPUT.mkv -c:v libx265 -c:a copy -x265-params crf=25 OUTPUT.mkv

这是 .mkv 文件包含的内容:

  Stream #0:0(jpn): Video: h264 (High), yuv420p(progressive), 1280x692 [SAR 1:1 DAR 320:173], 23.98 fps, 23.98 tbr, 1k tbn, 47.95 tbc (default)
  Stream #0:1(eng): Audio: aac (LC), 48000 Hz, stereo, fltp (default)
    Metadata:
      title           : English 2.0 channel AAC (Original)
  Stream #0:2(eng): Audio: aac (LC), 48000 Hz, stereo, fltp
    Metadata:
      title           : English 2.0 channel AAC (New)
  Stream #0:3(jpn): Audio: aac (LC), 48000 Hz, stereo, fltp
    Metadata:
      title           : Japanese 2.0 channel AAC
  Stream #0:4(eng): Subtitle: ass (default)
    Metadata:
      title           : Signs/Karaoke [Kametsu]
  Stream #0:5(eng): Subtitle: ass
    Metadata:
      title           : Re-styled [Kametsu]
  Stream #0:6: Attachment: ttf
    Metadata:
      filename        : nyala.ttf
      mimetype        : application/x-truetype-font
  Stream #0:7: Attachment: ttf
    Metadata:
      filename        : fontastique.ttf
      mimetype        : application/x-truetype-font
  Stream #0:8: Attachment: ttf
    Metadata:
      filename        : ARIALNB.TTF
      mimetype        : application/x-truetype-font
  Stream #0:9: Attachment: ttf
    Metadata:
      filename        : BorisBlackBloxx.ttf
      mimetype        : application/x-truetype-font
  Stream #0:10: Attachment: ttf
    Metadata:
      filename        : CODE2000.TTF
      mimetype        : application/x-truetype-font
  Stream #0:11: Attachment: ttf
    Metadata:
      filename        : CronosPro-Semibold.ttf
      mimetype        : application/x-truetype-font
Stream mapping:
  Stream #0:0 -> #0:0 (h264 (native) -> hevc (libx265))
  Stream #0:1 -> #0:1 (copy)
  Stream #0:4 -> #0:2 (ass (ssa) -> ass (ssa))

非常感谢

1 个答案:

答案 0 :(得分:0)

使用 -map 选项。这两个命令将执行相同的操作,但使用不同的 -map 语法:

ffmpeg -i INPUT.mkv -map 0:0 -map 0:3   -map 0:4   -c:v libx265 -c:a copy -c:s copy -x265-params crf=25 OUTPUT.mkv
ffmpeg -i INPUT.mkv -map 0:v -map 0:a:2 -map 0:s:0 -c:v libx265 -c:a copy -c:s copy -x265-params crf=25 OUTPUT.mkv

有关详细信息,请参阅 FFmpeg Wiki: Map