Handbrake:如何批量转换视频(包括调整大小)?

Handbrake:如何批量转换视频(包括调整大小)?

我正在使用最新的手刹v0.9.9。我想批量转换 200 个视频文件,格式从 800x600 到 640x480。问题是,如果我将视频添加到队列(单击 >源 >文件夹),并且如果我将Width第一个视频的参数更改为 640x480,我发现所有其他视频仍为 800x600。

所以我实际上必须逐一浏览每个视频并Width: 640手动插入。

有什么方法可以一次性为所有视频设置 640x480 格式吗?

答案1

您需要使用轮廓右侧部分。设置具有自定义宽度的配置文件。将文件夹添加到队列,然后从右侧选择配置文件。如果您现在浏览所有视频(参见下拉菜单),您会注意到所有视频都会有设置Width: 640

然后点击向下箭头“添加到队列”并选择“全部添加”,单击“开始”,批处理开始。

答案2

以下是我如何使用命令行中的 handbrakecli 转换来自相机的所有原始 mts 文件(这里我在 mobaxterm 中使用 bash 命令行)

首先,我在 handbreak GUI 日志文件中检查了从 GUI 转换单个 mts 时使用了哪些选项。有了这个,我创建了带有选项的文件(示例中名为“opcyje”),后来我将其用于批处理。

[mobaxterm] ➤ ls *.mts

00139.MTS  00141.MTS  00143.MTS  00145.MTS  00147.MTS  00149.MTS  00151.MTS  00153.MTS
00140.MTS  00142.MTS  00144.MTS  00146.MTS  00148.MTS  00150.MTS  00152.MTS  00154.MTS

[mobaxterm] ➤ cat opcyje

 -i **${i}** -t 1 --angle 1 -c 1 -o **${i%.*}**.mp4 -f mp4  -w 1920 --crop 0:0:0:0 --loose-anamorphic  --modulus 2 -e x264 -q 20 --vfr -a 1 -E av_aac -6 dpl2 -R Auto -B 160 -D 0 --gain 0 --audio-fallback ac3 --encoder-preset=veryfast  --encoder-level="4.0"  --encoder-profile=main  --verbose=1

[mobaxterm] ➤ type HandBrakeCLI.exe

HandBrakeCLI.exe is hashed (/cygdrive/c/Program Files/Handbrake/HandBrakeCLI.exe)

[mobaxterm] ➤ for i in *.mts;do eval HandBrakeCLI.exe $(cat opcyje);done

它运行得非常好。

答案3

将队列导出为 json 并转换为此并导入

const Results = exportedJson.map((val) => {
    const hms = val?.Statistics.ContentLength;
    var a = hms?.split(':');
    var seconds = +a[0] * 60 * 60 + +a[1] * 60 + +a[2];
    val.Task.PointToPointMode = 1;
    val.Task.StartPoint = 0;
    val.Task.EndPoint = seconds;
    return val;
  });

控制台.log(结果);

答案4

使用http://www.freemake.com/free_video_converter/

我也对 handbrake 苦苦挣扎,freemake 有足够好的用户界面,至少不需要像 handbrake 那样去 google 了解如何操作。

而且它自由的!!!

相关内容