ffmpeg 剪切、编码 MKV 为 MP4,并刻录字幕

ffmpeg 剪切、编码 MKV 为 MP4,并刻录字幕

我想剪切 MKV 的一部分并将其编码为 MP4,同时刻录字幕。
但我不知道如何一次性完成所有操作(相关问题),于是我就一步步尝试起来。

  • 当我首先剪切 MKV,然后将其编码为 MP4 时,它不会硬编码字幕。剪切的 MKV 容器仍保留字幕。我尝试了内部字幕和外部字幕。

    • 测试 1(失败):直接来自 MKV 的字幕
      ffmpeg -i konosuba.mkv -ss 180 -t 30 test.mkv
      ffmpeg -i test.mkv -vf subtitles=test.mkv test2.mp4

    • 测试 2(失败):外部字幕
      ffmpeg -i konosuba.mkv -ss 180 -t 30 test.mkv
      ffmpeg -i test.mkv -map 0:s:0 subs.ass
      ffmpeg -i test.mkv -vf subtitles=subs.ass test2.mp4

  • 当我首次将整个 MKV 编码为 MP4 时,它成功地对字幕进行了硬编码,之后我可以对其进行剪切。但是对于较大的源文件,这需要更长的时间 :(

    • 测试 3(成功)
      ffmpeg -i konosuba.mkv -vf subtitles=konosuba.mkv test.mp4
      ffmpeg -i test.mp4 -ss 180 -t 30 test2.mp4

日志中似乎存在差异:测试 1对比测试 3

我是不是做错了什么?我真的不明白为什么我不能刻录字幕,除非在编码原始 MKV 容器时不进行剪切。

编辑:仅尝试刻录字幕对我来说似乎不起作用(日志)
ffmpeg -i test2.mp4 -vf subtitles=subs.ass test3.mp4


日志:https://gist.github.com/anonymous/d2eb6f09fabba88afe86bd4607b048a4
建造:https://ffmpeg.zeranoe.com/builds/
操作系统:Windows 10 v1607

https://trac.ffmpeg.org/wiki/HowToBurnSubtitlesIntoVideo
https://ffmpeg.org/ffmpeg-filters.html#subtitles-1

在此处输入图片描述

答案1

只需将test3的两个命令合并即可:

ffmpeg -i konosuba.mkv -ss 180 -t 30 -vf subtitles=konosuba.mkv test.mp4

相关内容