我正在使用最新的手刹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 了解如何操作。
而且它自由的!!!