AviSynth 内存不足错误(数百个图像叠加)

2024-03-04

我想在不同时间在视频上叠加多个图像。我将用户函数定义为

function myFunction(clip c, int coordinateX, int from, int to) {
    c = c.trim(0, from-1) + c.trim(from, to).Overlay(myImage, x=coordinateX, y=667, mask=myImageMask, opacity=1) + c.trim(to+1, 0)
    return c
}

这本质上需要myImage图像并将其放置在剪辑的特定部分。

我将我的函数称为

video = video.myFunction(320, 1, 187)

我有很多这样的(我正在尝试用多个图像制作某种动画)

video = video.myFunction(320, 1, 187)
video = video.myFunction(480, 1, 187)
video = video.myFunction(640, 1, 187)
video = video.myFunction(320, 187, 374)
video = video.myFunction(480, 187, 374)
video = video.myFunction(640, 187, 374)
video = video.myFunction(319, 374, 561)

如果这些调用少于 400 个,则一切正常。如果超过该限制,则会发生“内存不足”(我正在使用 VirtualDub)。

我想这是因为 AviSynth 必须处理所有调用才能找出输出(尽管这 100 只中只有约 3 个的呼叫与特定单帧)。如果我删除video =在该行的开头,我可以有 10000 个,并且没有“内存不足”错误,但当然我没有视频输出。

有解决办法吗?视频剪辑上不同时间叠加数百/数千个图像?


尝试使用 SetMemoryMax() 函数。但请确保您有足够的可用内存。

另请注意,如果您在 32 位环境中工作,最大内存容量将为 2 GB。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

AviSynth 内存不足错误(数百个图像叠加) 的相关文章

  • common lisp:宏如何使用以编程方式生成的名称定义其他方法/宏?

    我意识到我的代码的某个部分由看起来相似的方法组组成 就像我有多个三重奏 一个由程序员的其他两个函数调用的辅助函数 我正在尝试编写一个宏来为我定义这三个函数 以便我所需要做的就是调用该宏 但我的尝试导致 defun 和函数调用将引用字符串而不
  • 如何查看 PyCharm 中每个键的作用?

    我正在 emacs 中寻找类似 M x描述键 的东西 I see Help gt Default Keymap Reference and Settings gt Keymap但这两者都是按主题分组和排序的 我想要一些按键分组和排序的东西
  • MVC4 中的 Bootstrap 和 font-awesome

    我正在使用 MVC4 并通过 nuget 添加了 Bootstrap 和 Font Awesome 我可以看到 Bootstrap 如何通过 via 进行捆绑BootstrapBundleConfig cs 由 nuget 包添加 如下 p
  • 由于语法错误,我无法在 Haskell 上执行任何操作

    我可以执行简单的操作 例如 Hugs gt 2 2 例如 或任何操作 就此而言 但是当涉及到实际尝试定义一个函数时 例如 occurs Eq a gt a gt a gt Bool occurs x l x elem l 然后我收到消息 E
  • 在 PHP 中查找图像边框颜色的算法

    我正在尝试找到一种使用图像从图像中获取边框颜色的方法php 我尝试使用此代码 但此算法为我提供了任何图像中的所有颜色
  • 删除包含文件的文件夹

    我想发送文件file txt从我的 Rails 控制器使用send file 然后删除包含它的文件夹 send file Rails root public folder file txt system rm rf Rails root p
  • Android 应用内结算。何时取消注册 ResponseHandler?

    我们一年前实现了应用内结算 按照文档中的示例代码没有出现任何问题 几周前 我们注意到用户抱怨没有收到他们的物品 在调试代码时我们发现下面这句话才是问题的根源 Called when this activity is no longer vi
  • 在 Visual Studio Code 中隐藏 .js.map 文件:文件嵌套

    我正在 Visual Studio 代码中开发一个打字稿项目 并且想隐藏 js map 甚至可能是 js 文件不会出现在文件资源管理器中 是否可以只显示 ts文件资源管理器中的文件 在您的设置 用户或工作区 中 有一个设置可以调整以隐藏您想
  • 枚举智能感知显示属性?

    我想做这个 enum Foo Display Item One ItemOne 这样智能感知就会像在属性中一样显示它而不是实际名称 我知道这是可能的 我以前见过 那么你可以提供 XML 文档 enum Foo
  • 将条形图和折线图与 pandas 结合起来[重复]

    这个问题在这里已经有答案了 我正在尝试将条形图和折线图结合起来 但我似乎无法弄清楚 我尝试了代码here https stackoverflow com questions 23482201 plot pandas dataframe as
  • 关闭父级而不关闭子级

    我有一个项目 其中弹出一个设置对话框 父级 当用户点击 继续 时 将打开一个主对话框 子级 在主对话框中 用户可以重新编辑设置对话框 父级 当用户单击 X 关闭设置对话框时 应用程序终止 我认为这是因为我们关闭了父级并处理了它的所有子级 是
  • 重新定义 Mathematica 中的非交换乘法

    Mathematicas NonCommutativeMultiply 不会简化诸如 a 0 0 a 0 a 1 1 a a or a a a 2 我想重新定义 去做这个 我使用 NCAlgebra 来执行此操作 但我需要 ReplaceR
  • PHP 生成一个预先定义长度的随机数

    我正在尝试使用 mt rand 创建一个函数来生成真正的随机数 因为 rand 还不够 问题是我需要预先定义数字的长度 假设我需要一个 10 位随机数 无论如何 我一直在搞乱 这就是我想出的 function randomNumber le
  • 如何将 Scalaz 的 traverse 和 traverseU 与 Either 结合使用

    是否可以使用 Scalaz traverse and traverseU with Either代替Option 对于以下代码 val list List 1 2 3 def f i Int Either Int String if i g
  • Ajax根据行获取表值

    我可以从行中获取第一个和最后一个值 但无法获取行中的第二个和第三个值 谁能帮我 这是我的代码 gt 网页 tr td one td td two td td three td td four td td td tr
  • java.lang.IllegalArgumentException:解析错误 - 日期格式错误?

    我使用变量 CURRENT DATE 将当前日期存储在 SQLite 数据库中 我发现使用的日期格式是yyyy mm dd在相同的 我想解析代码中的日期 但收到此错误 java lang IllegalArgumentException 解
  • C# 将字符转换为字节(十六进制表示)

    这似乎是一个简单的问题 但我无法弄清楚 我需要转换这个字符 lt 以字节 十六进制表示 表示 但如果我使用 byte b Convert ToByte lt i get 60 十进制表示 代替3c 60 0x3C 你已经有了正确的答案 但你
  • 如何合并两个ArrayList而不重复? [复制]

    这个问题在这里已经有答案了 我有两个数组列表 ArrayList one A B C D E ArrayList two B D F G 我想要我的最终 ArrayList 它将有All一的元素和只存在于二而不存在于一的元素 所以 Arra
  • 如何在 SQL 中比较两个表并删除重复行?

    我有两个表 如果第二个表中存在行的精确副本 则需要从第一个表中删除行 有谁有我如何在 MSSQL 服务器中执行此操作的示例吗 好吧 在某些时候你将不得不检查所有列 不妨加入 DELETE a FROM a first table INNER

随机推荐