首页 > 解决方案 > virtualdub 剪辑视频的脚本

问题描述

我有想要处理的视频,以便在开头删除 x 秒。因为我有大约 140 个视频,所以我开始编写脚本来这样做,但是......它不起作用!

我现在的脚本是:

VirtualDub.audio.SetSource(1);
VirtualDub.audio.SetMode(0);
VirtualDub.audio.SetInterleave(1,500,1,0,0);
VirtualDub.audio.SetClipMode(1,1);
VirtualDub.audio.SetEditMode(1);
VirtualDub.audio.SetConversion(0,0,0,0,0);
VirtualDub.audio.SetVolume();
VirtualDub.audio.SetCompression();
VirtualDub.audio.EnableFilterGraph(0);
VirtualDub.video.SetInputFormat(0);
VirtualDub.video.SetOutputFormat(7);
VirtualDub.video.SetMode(3);
VirtualDub.video.SetSmartRendering(0);
VirtualDub.video.SetPreserveEmptyFrames(0);
VirtualDub.video.SetFrameRate2(15,1,1);
VirtualDub.video.SetRange(600000,290000);
VirtualDub.video.SetIVTC(0, 0, 0, 0);
VirtualDub.video.SetCompression(0x6376736d,0,8000,0);
VirtualDub.video.SetCompData(4,"SwAAAA==");
VirtualDub.video.filters.Clear();
VirtualDub.audio.filters.Clear();

您可能会注意到,我还更改了帧速率并压缩了视频。

我的命令行是: "C:\Program Files\VirtualDub-1.10.4\VirtualDub.exe" /s "C:\Users...\framerate.vdscript" /c /b "C:\Users... \video" "C:\Users...\输出" /r /x

这使我可以处理“C:\Users...\video”文件夹中的所有视频,并将它们保存在“C:\Users...\output”文件夹中。

帧率更改和压缩效果完美,但修剪效果不佳!令人费解的是,当我在 VDub 中打开其中一个视频时,我加载了脚本,它实际上定义了一个范围并完全按照我的意愿处理它!!!

另一个问题是我如何为每个视频文件定义特定的开始(我可能会更改打开每个文件设置范围的脚本,关闭它并有一个例程来根据每个文件更改范围 - 不确定它是否可能在脚本中,我不知道该怎么做,但我还没有检查)。

任何帮助将不胜感激!

泽维尔

标签: virtualdub

解决方案


我正在使用下面的脚本探索我的第二个目标(处理多个文件),这是前一个脚本的简化版本(没有音频和看似无用的东西):

VirtualDub.Open("C:/Users/.../File1.avi",0,0);
VirtualDub.video.SetFrameRate2(15,1,1);
VirtualDub.video.SetRange(600000,290000);
VirtualDub.video.SetCompression(0x6376736d,0,8000,0);
VirtualDub.video.SetCompData(4,"SwAAAA==");
VirtualDub.video.filters.Clear();
VirtualDub.SaveAVI("C:/Users/.../Output1.avi");
VirtualDub.Open("C:/Users/.../File2.avi",0,0);
VirtualDub.video.SetFrameRate2(15,1,1);
VirtualDub.video.SetRange(600000,290000);
VirtualDub.video.SetCompression(0x6376736d,0,8000,0);
VirtualDub.video.SetCompData(4,"SwAAAA==");
VirtualDub.video.filters.Clear();
VirtualDub.SaveAVI("C:/Users/.../Output2.avi");

它奏效了!!!可能是一个文件夹内容的递归处理是问题吗?

请注意,从命令行移动到脚本路径中的 \ 必须更改为 /

干杯,

泽维尔


推荐阅读