有时,我必须将播放列表引用的文件从蓝光光盘转换为 MKV 文件。我通常ffmpeg在 Windows 下使用命令行,如下所示:
"C:\Program Files\ffmpeg\bin\ffmpeg.exe" -analyzeduration 1G -probesize 1G -fix_sub_duration -playlist 00001 -i "bluray:D:\Daten\Temp\My Blu-Ray Disc" -map 0:0 -map 0:1 -map 0:2 -codec copy c:\Users\User\Desktop\result.mkv
Run Code Online (Sandbox Code Playgroud)
到目前为止,这有效。
但是,我正在寻找一种方法,可以将章节标题(元数据)直接添加到生成的 MKV 文件中,并一次性进行初始转换。
我知道我可以在创建 MKV 文件后将章节标题添加到其中。然而,这意味着再次复制(即解复用和重新复用)它。由于文件有时约为 40 GB,这会对磁盘造成不可忽视的磨损。
因此我想知道如何更改命令行,以便在第一次转换期间将章节标题元数据一次性插入到 MKV 文件中。我尝试过以下命令行:
"C:\Program Files\ffmpeg\bin\ffmpeg.exe" -analyzeduration 1G -probesize 1G -fix_sub_duration -playlist 00001 -i "bluray:D:\Daten\Temp\My Blu-Ray Disc" -i metadata.txt -map 0:0 -map 0:1 -map 0:2 -map_metadata 1 -codec copy c:\Users\User\Desktop\result.mkv
Run Code Online (Sandbox Code Playgroud)
是metadata.txt这样的:
[CHAPTER]
TIMEBASE=1/1000
START=0
END=9999
title=Chapter Title …Run Code Online (Sandbox Code Playgroud)