问题标签 [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.
avisynth - AviSynth AvsP 溶解不起作用
我正在尝试制作一个 30 秒的图像视频,如果有人可以指出一些示例,我似乎无法找到有关如何实现这一目标的有用信息,除此之外,我在下面得到了我的脚本,我认为溶解应该连接图片是这样吗?那么如何连接第一个消息窗口并使其首先出现呢?基本上所有这三个我想从头到尾作为视频剪辑。
下面的脚本:
错误:'帧大小不匹配'。
avisynth - AVISynth 的 ImageWriter 提供空白 PNG 文件
标题真的说明了一切。
预期结果:100 张红色图像
我得到的结果:100 张透明图像
我已经尝试过内部ebmp
格式,它确实给出了红色图像,但是“真实的东西”将有一个透明的背景,并且它被压平为黑色。除此之外,每个帧都是 7MB,这很愚蠢(真实的帧数是 5 位数)。
有任何想法吗?
codec - AviSynth 无法打开我的 AVI 文件:“AVISource:找不到用于fourcc dvds 的解压器”
我只是想用 AviSynth 打开一个 AVI 文件并将其输入 VirtualDub。但是,当我打开我的.avs
脚本(仅包含一个AviSource()
调用)时,我收到以下错误:
Avisynth 打开失败:AVISource:找不到用于fourcc dvds 的解压器(H:\Videos\QTGMC\test.avs,第 1 行)
根据名为 GSpot 的软件(识别视频文件所需的编解码器),似乎安装了所需的 dvsd 编解码器。有谁知道为什么我无法打开这个文件以及如何修复它?
batch-processing - 如何使用 avisynth 源批量编码 hevc 视频?
我有几个视频需要使用 avisynth 处理,然后编码为 hevc mkv 格式。
我可以使用 avsproxy 并在 avidemux 中打开,但我无法批处理它。我有很多使用基本相同脚本的视频。我可以轻松地为每个文件创建一个脚本,但我没有任何将它作为输入的东西。
ffmpeg - 非交错 AVI 上的 FFmpeg 音频流提取 - 与 AviSynth 相比速度较慢
我想将 avi 文件的音频流提取为 wav 文件,虽然我只想复制流,但它确实很慢(~4-5fps)。
这是我要提取的流类型(ffprobe 信息):
Stream #0:1: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 44100 Hz, stereo, s16, 1411 kb/s
通过 AviSynth 大约快 100 倍,但我更喜欢纯 FFmpeg 解决方案。为什么会有这样的速度差异?看起来 FFmpeg 正在读取和处理整个文件,而 AviSynth 可以直接提取数据而不读取它。
示例:
ffmpeg -i file.avi -vn -ac 2 -c:a copy audio.wav
或者
ffmpeg -i file.avi -map 0:a -ac 2 -c:a copy audio.wav
两者都可以正常工作但需要时间。
使用 AviSynth 脚本作为输入:
ffmpeg -i script.avs -map 0:a -ac 2 -c:a copy audio.wav
使用包含 just:
AviSource("file.avi")
的 script.avs 执行相同但几乎瞬间完成!
知道为什么 AviSynth 快得多,是否有办法在 FFmpeg 中获得相同的速度?
编辑:直接使用 FFmpeg 添加日志:
使用 AviSynth:
编辑:“重新编码”AVI文件后的测试:
到某事上...
假设我的原始文件是f.avi。这是 ffprobe 的结果:
提取音频需要很长时间。
现在,如果我在另一个 AVI 中“重新编码”文件:
我可以在几毫秒内从 f2.avi 中提取音频!
f2.avi 上的 FFprobe:
除了元数据之外它是相同的,这不应该有区别,但是通过这个比较,我发现问题一定与原始数据是非交错的事实有关!
我认为从非交错文件中读取和提取音频更容易,但这可能不符合 AVI 标准,因此需要额外的工作吗?
c++ - 无法编译 avisynth+ filtersdk 库(C++)
如何让 avisynth+ 库在 C++ 中工作?我正在使用 Visual Studio 2017。
我尝试包含 avisynth+ git repo 中的 avisynth.h 文件。还包括 avisynth+ git repo 文件夹作为包含和定义的AMD64,它不会编译
我得到几个
条件运算符 ?: 的第三个操作数属于“void”类型,但第二个操作数既不是 throw 表达式也不是“void”类型
表达式必须具有算术或无范围枚举类型
avisynth.h
当我尝试编译它时出现错误
image - Imagewriter 只执行最后一次调用
我有 3 个图像编写器,每个都将不同的帧从 avi 保存到路径。但是,它只执行最后一个 imagewriter,所以我在 test3 文件夹第 4 帧中收到,名称:000004.jpg 为什么前 2 个 imagewriter 没有执行?我可以以其他方式执行所有图像编写器吗?即使我更改了这些顺序,也只会执行最后一个图像编写器。代码是:
video - 将 VFR 视频拆分为 CFR 块?
有没有一种很好的方法可以将 VFR 视频拆分为帧速率变化时拆分的块?
我有一个要编辑的视频是 VFR,但我的编辑器不支持 VFR。我不想设置一个恒定的帧速率并对其进行转换,因为这可能会降低视频的某些部分。
我在想,使用它的一种方法是将其拆分为 CFR 的块以单独处理(希望它们将是大块)。
不过,我还没有找到一个好的方法,至少 ffmpeg 似乎没有内置的东西让我这样做。
另一个问题是:是否有一些软件可以让我轻松扫描视频以查找使用的帧速率?如果它不是太疯狂,我可以转换为一个常见的多帧率,编辑然后用 Avisynth 删除重复的帧。
c# - 逐帧/逐样本播放时同步音频和视频播放
我目前正在使用 C#/WPF 编写带有视频和音频预览的开源 AviSynth 编辑器。我已经让所有 AviSynth 的东西都工作了,我可以查询 AviSynth 以获取帧(通过帧号,作为位图)并获取音频样本(通过 startindex 和样本数)。
现在我正在为我的应用程序中的播放而苦苦挣扎。我想做的第一件事就是实时播放视频。问题在于视频/音频同步。当我一帧一帧地播放相应的音频时,音频片段之间存在明显的“间隙”,我发现解决此问题的唯一方法是使用像 NAudios BufferedWaveProvider 这样的缓冲播放。
所以在那里我可以缓冲多个片段(所以多个帧的样本)并且它们播放得很好。我现在缺少的是音频片段与视频播放的同步。
我目前的方法是有3个线程:
- 1 个用音频样本和帧填充队列的线程(提前约 1 秒)
- 1 个线程只播放 BufferedWaveProvider 中的音频
- 1 个线程负责从队列中取出对象并显示它们或将它们添加到 BufferedWaveProvider
所以线程 1 和 2 似乎很好。队列始终包含元素,并且添加到 BufferedWaveProvider 的所有样本都可以正常播放。问题出在线程 3 中:我不知何故需要能够在那里同步视频和音频。我尝试了各种睡眠(比如直到正在播放的音频缓冲区几乎为空或根据帧速率等待),但它总是不同步或太慢,因此音频包含间隙。
我错过了关于如何在这样的场景中进行音频/视频同步的基本概念,并且在网上找不到太多信息,非常感谢这里的一些帮助。
为了完整起见,这是我目前使用的 3 个线程:
avisynth - 在avisynth中使用ddcomb插件
我想在 Avisynth 中使用 DDComb 插件,我正在使用 MeGUI 来帮助我制作脚本,但我对如何使用它感到困惑。插件在这里:
但我不确定如何使用它来删除视频中的 dotcrawl。谁能提供一个例子?