我有视频,我想处理,以消除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...\output”/r /x
这允许我处理"C:\Users...\video“文件夹中的所有视频,并将它们保存在"C:\Users...\output”文件夹中。
帧速率改变和压缩可以完美地工作,但不能修剪!令人费解的是,当我在VDub中打开其中一个视频,然后加载脚本时,它实际上定义了一个范围,并完全按照我想要的方式进行处理!
一个额外的问题是我如何为每个视频文件定义特定的开始(我可能会更改脚本打开每个文件的设置范围,关闭它,并有一个例程来根据每个文件更改范围-不确定这在脚本中是可能的,我不知道如何做,但我还没有检查)。
任何帮助都将不胜感激!
泽维尔
发布于 2021-02-05 06:56:04
我正在探索我的第二个目标(处理几个文件),使用下面的脚本,它是前一个的简化版本(没有音频和看似无用的东西):
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");它成功了!可能是递归处理一个文件夹的内容被出了问题?
注意,从命令行移到脚本时,必须将路径中的\更改为/
干杯,
泽维尔
https://stackoverflow.com/questions/66052558
复制相似问题