根据章节分割 MKV

根据章节分割 MKV

我有一个很长的 MKV 文件,想将其拆分成单独的章节。

运行后ffmpeg -i long.mkv我会得到文件中嵌入的章节的所有信息:

 Duration: 01:23:45.80, start: 0.000000, bitrate: 8116 kb/s
    Chapter #0.0: start 0.000000, end 235.000000
    Metadata:
      title           : Chapter 01
    Chapter #0.1: start 235.000000, end 450.160000
    Metadata:
      title           : Chapter 02
    Chapter #0.2: start 450.160000, end 789.400000
    ...

文件中有 10 个章节 - 我希望最终得到 10 个单独的文件。

它看起来-map_chapters可能与某些东西类似 - 但我找不到任何相关文档。

答案1

使用 mkvmerge 按章节分割 mkv 视频

mkvmerge -o output.mkv --split chapters:all input.mkv

https://www.bunkus.org/videotools/mkvtoolnix/doc/mkvmerge.html

答案2

我找不到使用 ffmpeg / avconv 执行此操作的可靠方法 - 但是我找到一种方法来做到这一点HandBrakeCLI

 HandBrakeCLI -c 3 -i whatever.mkv -o 3.mkv

将从中提取第 3 章mkv

答案3

强力解决方案,呵呵:

ffmpeg -i long.mkv | grep 'start.*end.*[0-9]*' | sed -r 's/.*#[0-9]\.([0-9]*).* ([0-9]*\.[0-9]*).*( [0-9]*\.[0-9]*)/ ffmpeg -i long.mkv -ss \2 -to\3 -acodec copy -vcodec copy chapter\1.mkv/g;'

您可以添加 xargs 以牛仔风格运行输出: | xargs -I cmd bash -c 'cmd'

答案4

您可以使用名为 的开源 GUI 程序LosslessCut。它可以即时无损剪切 mp4 和 mkv 等流行格式,而无需重新编码视频。它效果非常好。

相关内容