问题标签 [virtualdub]
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.
virtualdub - 连接一系列视频的 VirtualDub 脚本
我正在一块一块地处理视频,用文件名保存scene1.avi
,scene2.avi
等等。
我想要一种简单的方法将视频构建成一个块并在音轨中配音。为此,我使用了 VirtualDub。
现在,我可以很简单地打开 VirtualDub,通过 File => Open,加载第一个场景,转到 File => Append video segment,选择第二个场景,选中“autodetect additional segments by filename”选项,设置视频到直接流复制,将音频设置为“来自其他文件”并选择音轨,然后将整个内容另存为out.avi
......但只需四行即可解释所有内容!
我想要一个 VCF 脚本来一起构建所有这些文件。不幸的是,编码语言很烂。
我不知道我在创建这种脚本语言时在想什么。它非常松散地基于 C,但它更糟糕。在我创作它之前,我一定一直在看泡泡糖危机。
所有语句要么是声明,要么是表达式,并且所有语句都必须以分号结尾。没有流控制——没有函数,没有过程,没有if,没有while,没有for,没有switch,没有goto。
不if
,不while
,不for
……所以我想while file exists("scene"+i+".avi") {VirtualDub.Append("scene"+i+".avi"); i++;}
这是完全不可能的。
我正在使用批处理脚本来检查 VCF 文件是否存在并使用正确的命令行运行 VirtualDub 来运行脚本,所以也许我可以使用该脚本来“构建”包含所有所需的 VCF 文件文件?有什么方法可以自动检测 VCF 文件中的段,还是我必须使用批处理脚本自定义构建 VCF?
audio - VirtualDub 无法录制音频,没有显示输入/源
我正在使用 VirtualDub 1.9.11 版在我的电脑上截屏视频游戏。它非常适合视频;但是,我无法录制我的音频。
我的主板是技嘉 ga-z77x-ud5h。我已经下载了最新的音频驱动程序,甚至尝试过旧的驱动程序。
这是我在 VirtualDub 中的声音选项应该类似于的图像。这来自这个 VirtualDub 教程http://www.genadmission.com/vdubguide.html
这是我的输入的样子,没有...
这是我的来源的样子,没有......
关于为什么我没有来源和输入的任何线索?如果我插入麦克风,我可以获得麦克风输入,但仅此而已。
我从这个视频教程 http://www.youtube.com/watch?v=fvfPXn5VQ0w了解了 uisng VirtualDub
command-line - 仅使用命令行将从 VirtualDubMod 读取的视频保存到文件?
我想在服务器上使用 Avisynth 编译几个视频剪辑。我生成 .avs 文件并让 VirtualDubMod 读取该文件。
如何仅使用命令行将从 VirtualDubMod 读取的视频保存到 avi 文件?如果我打开 VirtualDubMod,那么我可以选择另存为,但我把它放在服务器上,所以没有可用的 GUI,它应该是自动的。
编辑:
在看了更多之后,我发现了这个。这是推荐的方法吗?
avisynth - AviSynth 内存不足错误(100 次图像叠加)
我想在不同时间在我的视频上叠加多个图像。我将用户功能定义为
它基本上拍摄myImage
图像并将其放置在剪辑的特定部分。
我称我的功能为
我有一堆这样的(我正在尝试用多个图像制作某种动画)
如果这些电话少于约 400 个,一切正常。如果超过该限制,则会发生“内存不足”(我正在使用 VirtualDub)。
我想这是因为 AviSynth 必须处理所有调用以找出输出(尽管这 100 次调用中只有约 3次与特定的单帧相关)。video =
但是,如果我在行首删除,我可以有 10000 个,并且没有“内存不足”错误,但我当然没有视频输出。
有解决办法吗?视频剪辑上不同时间的成百上千的图像叠加?
video - 使用 Avisynth 和 VirtualDub 堆叠 3 个 gmp4 文件,导致颜色错误和文件失真
我需要执行看似简单的任务,将 3 个文件彼此相邻堆叠。它们都是相同的:.avi 容器、320x240、4:3、25 fps、GeoVision Advanced MPEG-4 GEO 编解码器。我安装了 GeoVision 编解码器(http://www.geovision.com.tw/english/5_8.asp# - 选择“其他实用程序”),所以我的系统(Windows 媒体播放器、媒体播放器经典)可以播放文件。此外,我可以在 Virtual Dub 中打开并使用它们。我安装了 AviSynth 并编写了简单的脚本来将它们堆叠在一起
现在,当我将其另存为 .avs 然后使用 VirtualDub 打开它时,我看到三个视频很好地彼此相邻,但颜色很奇怪,视频的某些部分是颠倒的,一切都只是..错误 - 见截图http://www.linkfile.de/download-46f71057ed130f9be29510f68ce4ee71.php。首先,我认为这与 avisynth 采用错误的编解码器有关,所以我在 gmp4 上强制使用它(您也可以在屏幕截图中看到),但结果是一样的。我现在还安装了 Avisynth+ 以及 VirtualDubMod。当我在 VDMod 中打开 .avs 时,我得到“找不到 YV24 格式的解压缩器”,但它仍然打开看起来像的视频虽然好一点(但是当我制作直接流复制并保存它,然后在 MPC 中播放它时,它看起来与第一个屏幕截图上的完全相同)。所以这个错误将我指向与色彩空间相关的东西。现在我的问题:
- 如何找出我的文件的格式?YUV24,YUV12,..?
- 然后,我如何告诉 Avisynth 使用 VirtualDubMod 可以处理的格式?
- 或者我怎样才能让 VirtualDub 处理 YUV24?我只是缺少编解码器吗?我的思路是否在正确的轨道上,或者我的问题完全不同?
我还发现了这个相关的线程:使用系统安装的专有编解码器编辑/解码 AVI 文件,但是使用 avisynth 和 ffmpeg,我得到了与使用 VirtualDub 类似的结果。
我不能使用先转换所有文件然后在第二步中进行堆叠的解决方案 - 因为我必须处理的实际文件大约是 180 个视频,每个视频长 8 小时,它所消耗的时间会持续与我的可能性无关..
在过去的一周里,我真的一直在寻找解决方案,我想我已经接近了,但遗憾的是我对编程的了解还不够,无法自己解决它。所以我也想为任何明显的问题找借口我的解释中的愚蠢;)我非常感谢任何帮助
祝大家过得愉快
编辑:所以我有更多信息和一个示例文件,我无法在这篇文章中链接 -.- 因为我 - 再次 - 没有足够的声誉,非常好。我会尝试评论并发布链接:)
这是 info() 命令带给我的:色彩空间:YV24,基于字段(分离)视频:否,奇偶校验:底场优先,视频音高:320 字节,音频:否,检测到 CPU:x87 MMX ISSE SSE4.1 SSSE3
codec - VirtualDub 中 UtVideo 编解码器的帧内设置
在我之前的问题中,我要求提供一种方便的编解码器,它支持帧内并防止洋葱皮动画。现在我正在使用 UtVideo 编解码器。
我应该使用哪个 UtVideo 版本?
以及如何让我获得正确的设置来逐帧捕获视频?
virtualdub - 使用 VirtualDub 从 rgb avi 电影中提取只有 1 个颜色通道的图像序列
我有一个未压缩的 RGB AVI 文件,其中包含 10 个灰度图像:https ://drive.google.com/open?id=0B9wKP6yNcpyfY1JzdmJTcHhjTmM (10 个图像)
使用 VirtualDub,我想提取应该只有 1 个通道的图像。我尝试过图像的所有情况总是有 3 个通道。
怎么可能呢?
ffmpeg - Avisynth 总帧数不等于 VirtualDub 总帧数
似乎 Dissolve 和/或 Fade 更改了 .avs 脚本中的总帧数。当我将 avs 脚本中的总帧数相加,然后在 Vdub 中加载 avs 脚本时,总帧数是不同的。下面我的真实示例显示了相同脚本的822 帧与 1368 帧的差异。我进行了一些基本测试,这些测试似乎支持这个假设。当然,我可能正在做一些愚蠢的事情。任何指导将不胜感激。如果我能澄清任何事情,请告诉我。Ffmpeg 也使用相同的脚本,这让我认为这是一个 Avisynth 问题。或者我缺乏 avs 编码技能。
系统规格:Win7,FFmpeg 版本:20170223-dcd3418 win32 shared,AVISynth 版本:2.6
Test1.avs = 200 帧长= 预期行为
Test2.avs with return Dissolve = 195 帧长= 意外行为
Test3.avs with fadeOut(fadeIn = 202 帧长= 意外行为
Test4.avs 溶解和淡入淡出 = 197 帧长= 意外行为
Test5.avs 明确指定溶解和淡入淡出的帧速率 = 197 帧 = 意外行为
realExample = 822 帧长= 预期行为(这就是我想要的)
realExample = 1368帧长
c++ - ffmpeg 解码器似乎丢帧
我正在使用 avcodec (c++) api 来解码视频文件帧并处理它们。我注意到解码的帧数少于预期\实际的帧数。相差16帧。虽然 x 帧是用 ffmpeg 解码的,但 VirtualDub 说同一个文件有 x+16 帧。使用 ffprobe,我看到该文件包含 x 帧:
此外,当我尝试使用 ffmpeg 实用程序提取 x+1 帧时,我遇到了失败:
有趣和奇怪的部分是,将这部电影的所有帧按顺序保存会产生 x+16 个文件(VirutalDub 声称的帧号相同):
计算的文件/帧数:
我在这里几乎迷路了。任何线索为什么 avcodec 解码 x 帧而不是 x+16?ffmpeg 是否会丢失帧?VirtualDub 是否可能重复 (16) 帧?
谢谢