我正在进行一项非常耗时的任务,将 800 多个小文件转换为 mp4,目前我正在使用 Handbrake。它很快,但由于文件很多,所以需要花费大量时间。我为 HandbrakeCLI 创建了一个自动化工作流程,这样我就可以批量转换任何文件夹中的文件。这很好用,但我需要它与 Handbrake GUI 上的自定义预设配合使用。我可以通过某种方式将预设导入 CLI 吗?我不是 Lunix 或终端专家。
答案1
如果您在与创建预设的 GUI 实例相同的机器和帐户上工作,则只需使用 -z 选择它:
HandBrakeCLI -Z MyPreset -i inputfile.mpg -o outputfile.mp4
如果您尝试在另一台计算机上执行此操作以设置预设,则首先需要将其从 GUI(在预设菜单中)导出为 .plist 文件。然后您可以在进行编码时导入它(每次都需要这样做,它不会保存它):
HandBrakeCLI --preset-import-file /path/to/preset.plist -Z "my preset" -i inputfile.mpg -o outputfile.mp4
它使用 PresetName。文件名仅用于打开文件,然后就会被遗忘和忽略。
如果 PresetName =="My Custom Preset"
且文件为"somepreset.json"
,则使用该预设的正确命令行是:
HandBrakeCLI --preset-import-file somepreset.json -Z "My Custom Preset" ...
答案2
我发现了如何创建和使用导出的 JSON。
我使用 GUI 创建 JSON,然后使用以下命令从命令行引用它:
HandBrakeCLI -v --preset-import-file 20RF.json -i input.ts file name -o output.mp4
我创建了一些不起作用的程序……出于某种原因,一个可以运行的程序在编辑和重命名后也不起作用了。当我按照以下步骤操作时,它就起作用了。
在 GUI 中创建所需的预设,并以您选择的名称保存为新预设。
预设 - 设置默认值(这会将您的新预设设置为默认值...如果我不这样做,它就不起作用)
预设 - 导出(将您的新 .json 文件命名..在我上面的示例中为 20RF.json。)
以这种方式创建后,HandBrakeCLI 将打开并使用 json 文件中的设置。我使用的是 HandBrake 1.1.0 (x86_64),配有 i5 8400 和 Ubuntu mate 18.04
这是为我指明正确方向的线程之一,让我能够找到我的系统上运行良好的方法,所以想与大家分享。
答案3
https://trac.handbrake.fr/roadmap列出了尚未完成的 1.0 版本中的此功能。
或许http://www.osomac.com/2011/05/05/handbrake-custom-presets/可能会有帮助,但似乎仅限于 OS X。
答案4
我刚刚遇到了这个问题,并在最新版本的帮助文件。自己比较一下四个:
# Default preset list
HandBrakeCLI --preset-list
# Additionally load presets defined in the GUI
HandBrakeCLI --preset-list --preset-import-gui
如果你问自己:
嗯,使用特定文件的路径也可以,不是吗?
如果您想跟踪您将要使用的每个系统上的每个位置,当然可以!在 Ubuntu 上,我可能有一个来自存储库、Flatpak、Snap 以及 Appimage 的软件包。我确信在 Mac 和 Windows 上安装和使用 Handbranke 的方式不同。使用--preset-import-gui
,它既好又简单。