问题标签 [avisynth]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
algorithm - 关于从视频中删除静音
- 我有一个带语音的视频。
- 我提取了它的音频。
我从这个音频的 adobe 试听中提取了一个剪辑列表,如下所示:
开始时间:00:00:12:00
结束:00:00:13:00
这些是沉默的部分,需要被移除。
我将这些转换为给定 25fps 视频文件的帧。
我创建了一个这样的avisynth文件:
AVISource("20130531_1303_46.avi")
作物(2,0,852,480)
修剪(0,4-1) ++ 修剪(50+1,0)
修剪(0,34-1) ++ 修剪(82+1,0)
……
每行包含开始(第一次修剪)减(前一个结束和开始之间的所有差异的总和)和结束(第二次修剪)减(前一个结束和开始之间的所有差异的总和) - 帧。
我将它加载到 virtualdub 中。
- 我根据剪辑列表删除试听中的所有静音并保存为mp3
- 我将 mp3 加载到 virtualdub 中。
问题:它在整个视频上不同步,即它开始同步,一段时间后它向正方向漂移(我必须输入一个负值 -3000ms 才能在中间同步。另外它经常被砍掉。)
表示有什么不对劲。我猜是所有差异的总和。
要理解这一点:
当您在 virtualdub 中选择一个部件并将其删除时,总帧数是总帧数减去该部件的帧数。
例子:
第 2-5 帧被删除。所以它基本上是 1-6-7-8-... 剩下的。根据最初的时间框架关系,我会从 7 开始。但现在 7 是 3。这加起来我删除的越多。
所以我想:如果我用帧数减去所有之前删除的帧的总和,我应该在正确的位置剪切。
我好像忘记了什么,是什么?
avisynth - 切割清单 -> 循环/修剪的帧范围
如何转换剪辑列表
进入帧范围
或者
?
我试过了
但这切错了位置。
avisynth - 是否可以在某些框架上创建书签?
是否可以在时间轴上创建多个代表特定帧的书签?假设我想打开一个 .avs 文件,它会在时间线上有几个“书签”,代表感兴趣的帧。
AviSynth 中是否存在这个东西?
avisynth - AviSynth 内存不足错误(100 次图像叠加)
我想在不同时间在我的视频上叠加多个图像。我将用户功能定义为
它基本上拍摄myImage
图像并将其放置在剪辑的特定部分。
我称我的功能为
我有一堆这样的(我正在尝试用多个图像制作某种动画)
如果这些电话少于约 400 个,一切正常。如果超过该限制,则会发生“内存不足”(我正在使用 VirtualDub)。
我想这是因为 AviSynth 必须处理所有调用以找出输出(尽管这 100 次调用中只有约 3次与特定的单帧相关)。video =
但是,如果我在行首删除,我可以有 10000 个,并且没有“内存不足”错误,但我当然没有视频输出。
有解决办法吗?视频剪辑上不同时间的成百上千的图像叠加?
video - 以编程方式在视频剪辑上添加 100 个图像叠加层
我正在寻找一种程序化视频编辑解决方案,它可以提供 API,用于在视频 (1080p) 剪辑的特定坐标处的特定时间/帧中添加图像和文本叠加,以及调整到 720p 等。
我尝试了 AviSynth,但由于“内存不足错误”,总共叠加了约 400 次后被阻止 - 请参阅AviSynth 内存不足错误(100 次图像叠加)
还有什么我可以尝试的(示例代码会很棒)?
batch-file - 使用 Avisynth 创建多个视频
我有一堆单独的文件,我希望每个文件都通过 Avisynth 运行。但是,一个 AVS 文件只能创建一个视频。据我所知,没有办法从命令行声明变量的值。
我知道您可能可以创建一个脚本来生成一堆 AVS 文件,然后以某种方式将每个 AVS 文件转换为视频。然而,由于 Avisynth 是一个脚本系统,这似乎有点复杂。一定有某种方法可以通过脚本运行不同的视频,对吧?
做这个的最好方式是什么?提前致谢。
video - 使用 x264 水平堆叠 2 个视频
我有两个编码相同长度和尺寸的视频,我想以这样的方式将它们组合成一个视频,使两个视频在一个视频文件中彼此相邻观看。我正在寻找使用 x264 编码器(+ Avisynth 脚本)的解决方案
unicode - avisynth 不支持 UTF-8 源文件
我使用 avisynth 从音频中解复用视频。当我使用
它可以正常工作,但是当我将视频文件名更改为 UTF-8 并且我的脚本为:
我收到以下错误:无法打开哈希 avisynth
我找到了一个链接(不支持 UTF-8 源文件),它告诉 UTF-8 文件名在 avisynth 中不起作用,为了纠正这个问题,它说:
调用ffvideosource时指定参数utf8=true,将脚本另存为不带BOM的UTF-8,然后看看是否有效。
但是,我无法解决问题。当我在记事本中打开脚本并将其保存为 utf-8 格式时,出现以下错误:
不支持 UTF-8 源文件,使用 ANSI 编码重新保存脚本
我该如何解决这个问题,如何使用 UTF-8 文件名运行我的脚本?
node.js - 错误号:34,代码:'ENOENT'
我试图运行我的项目,但它在途中的某个地方给了我 ENOENT 错误。是的,我看过这个类似的问题,但它的解决方案对我不起作用。
我该如何解决
video - Avisynth - 将图像添加到视频中 X 帧然后删除图像
总 nooby Avisynth 问题。我正在尝试在视频中的设定点添加图像,然后在设定点将其删除。
例如。视频开始播放,然后播放 100 帧,然后图像在初始视频的右上角 200 帧可见,然后在初始视频的剩余 100 帧内消失。
我知道它类似于图层或叠加功能,但我只是不知道如何在设定点应用图像,而不仅仅是初始视频的开始。
所以因为我有这个。