gpt4 book ai didi

连接一系列视频的 VirtualDub 脚本

转载 作者:行者123 更新时间:2023-12-04 05:32:41 28 4
gpt4 key购买 nike

我正在逐个制作视频,并以文件名 scene1.avi 保存。 , scene2.avi等等。

我想要一种简单的方法将视频构建到一个块中并在音轨中配音。为此,我使用 VirtualDub。

现在,对我来说打开 VirtualDub 很简单,通过 File => Open,加载第一个场景,转到 File => Append video segment,选择第二个场景,勾选“通过文件名自动检测附加片段”选项,设置视频到直接流复制,将音频设置为“来自其他文件”并选择配乐,然后将整个内容保存为 out.avi ......但只需要四行就可以解释这一切!

我想要的是一个 VCF 脚本来构建所有这些文件。不幸的是,编码语言很糟糕。

I don't know what I was thinking when I created this scripting language. It's very loosely based on C, but it sucks more. I must have been watching Bubblegum Crisis before I created it.
All statements are either declarations or expressions, and all statements must end in a semicolon. There is no flow control -- no functions, no procedures, no if, no while, no for, no switch, no goto.



if , 否 while , 否 for ... 所以我猜 while file exists("scene"+i+".avi") {VirtualDub.Append("scene"+i+".avi"); i++;}完全不可能。

我正在使用批处理脚本来检查 VCF 文件是否存在,并使用正确的命令行运行 VirtualDub 来运行脚本,所以也许我可以使用该脚本来“构建”包含所有所需的 VCF 文件文件?有什么方法可以自动检测 VCF 文件中的段,还是必须使用 Batch 脚本自定义构建 VCF?

最佳答案

在研究了做一些非常相似的事情的方法后,我刚刚遇到了这个问题。在我看来,最好的办法是编写一个小脚本或程序,生成一个 VirtualDub 脚本文件以供一次性使用,然后执行它。

例如,我手写了以下脚本将三个 .avi 文件连接在一起:

// Set Video and Audio to Direct Stream Copy
VirtualDub.video.SetMode(0);
VirtualDub.audio.SetMode(0);

VirtualDub.Open(U"D:\path\to\file1.avi");
VirtualDub.Append(U"D:\path\to\file2.avi");
VirtualDub.Append(U"D:\path\to\file3.avi");

VirtualDub.SaveAVI(U"D:\path\to\concatenatedFile.avi");
VirtualDub.Close();

您可以将其用作模板并从那里开始。

关于连接一系列视频的 VirtualDub 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12379412/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com