虚拟配音。 加入多个 AVI 文件 将多个 AVI 文件合并为一个文件并不像乍看起来那么简单。 事实上,大多数情况下各个片段具有不同的 FPS,因此 VirtualDub 拒绝合并它们。 不同的 FPS(换句话说,每秒帧数不同)可能会发生,因为在捕获视频时,您将视频流与声音链接起来,以避免视频和声音不同步。 你问现在该怎么办... 避免此类问题的最简单、最可靠的方法是不分块捕获视频,而是一次性捕获视频。 此外,您已经知道如何创建大型 AVI 文件(在“视频捕获”文章中),并且知道没有什么特别的问题。 避免合并文件时出现问题的第二种方法是在捕获时不将视频流与声音绑定。 当然,在这种情况下,您可能会面临不同步的风险,因此该解决方案没什么用处。 现在我警告你最好不要这样做,并告诉你如何避免它。:)因此,让我们直接进入连接方法...... 1. 理想 - AVI 文件具有相同的 FPS 我们在VirtualDub中打开第一个片段,未来的视频将从这里开始。 我们将以下内容附加到已经打开的片段,为此我们选择命令: 我们选择一个文件。 以这种方式打开,该文件将附加到上一个文件的末尾。 后续片段以相同方式连接。 正如您已经了解的,片段必须完全按照它们在最终视频中的顺序附加。 所有片段均已打开,现在,如果您愿意,您可以在继续保存之前执行任何操作。 您可以应用过滤器、剪掉不必要的部分等。 您还可以以不同的方式保存,可以压缩或不压缩视频和音频流。 一般来说,我不会重复自己 - 你们都从前面的描述中知道这一点...... 2. 不理想 - AVI 文件有不同的 FPS 我们有许多视频片段,这些片段又具有不同的 FPS。 我们不会成功地立即使用 VirtualDub 将它们粘合在一起。 因此,首先必须将所有可用的片段都带到一个FPS中,这根本不是一件容易的事! 通过更改 AVI 的帧速率,我们可以加快或减慢帧速率,从而改变 AVI 的持续时间。 但与此同时,音轨保持不变,VirtualDub 不会将其映射到视频流! 因此,视频和音频流不可避免地不同步。 让我们找出需要连接的片段的FPS。 为此,请在 VirtualDub 中逐个打开每个文件,在“视频”菜单中选择: 在打开的窗口中,我们可以看到当前文件的 FPS: 我们记住或者最好记下 FPS 值。 打开下一个AVI文件,用同样的方法找出它的FPS,以此类推。 如果您发现所有文件的 FPS 略有变化 - 计算或近似估计它们的平均值。 那么帧率就会导致这个平均值。 这很重要,因为同时,大多数片段的 FPS 会略有变化,因此,不同步的情况会较少。 如果所有可用片段中只有一个或几个片段具有显着不同的 FPS 值,请分别处理它们。 那些。 暂时不要触及这个或几个片段,取那些相似的片段,计算并得出平均 FPS。 其余的以不同的方式达到相同的平均 FPS,稍后会详细介绍。 如果所有文件都有显着的 FPS 运行,它们也应该达到平均值,但以不同的方式。 2.1。 将 AVI 文件提高到 XNUMX FPS(次要启动) 通常,如果视频片段是从同一源捕获的,那么它们的 FPS 变化不会太大。 此外,片段的持续时间更短,助跑时间甚至更短。 这样我们就知道了平均 FPS,我们将把所有可用的片段引入到该平均 FPS 中。 在 VirtualDub 中打开第一个 AVI 文件: 将滑块移动到片段的末尾或单击面板上的相应按钮并查看其持续时间: 我的片段的持续时间为 0 小时 08 分钟 40.369 秒。 让我们继续熟悉的对话框: 选择项目“更改为...”。 我们输入平均已知值,其余默认,点击确定。 再次查看片段的持续时间,现在不同了: 由于我的片段只有 8 分钟长,并且 FPS 变化不大,因此其持续时间的变化只有零点几秒。 这意味着在片段结束时,视频和声音的不同步只是这几分之一秒。 一般来说,这并不多,即使你很努力,在观看时也很难注意到它们。 因此,我认为没有理由纠正同步,在这种情况下,让它保持原样。 保存 FPS 更改。 为此,首先确保在相应菜单中为视频和音频流选择了“直接流复制”项。 那些。 流将被复制而不进行处理。
我们保存。 因此,所有片段都被处理。 如果它们都像示例中那样存在轻微的不同步,那么我们可以说您很幸运。 处理完所有片段后,您可以直接进行AVI的连接。 现在,这样做的方式与理想选项第 1 点完全相同。 对于那些不幸的人,并且去同步化结果很明显,进一步的描述致力于...... 片段结束时 0.5 秒内的不同步可以通过 VirtualDub 可用的方法在一定程度上得到纠正。 为此,您需要执行以下操作: 这里选择“Preload”和“Interleave..”= 1000ms ... 1500ms。 通过更改“延迟音轨”的值,您可以相对于视频流稍微移动音频。 如果音频位于视频之前,请使用正值。 相反,如果声音落后于视频,则使用负值。 当然,一般来说,在我们的例子中,去同步具有递增的特征,因此不能通过简单地相对于视频流移动音频流来纠正它。 但它可以在一定程度上得到补偿或变得不那么明显。 例如,一开始您有完全同步,到最后,一个线程相对于另一个线程的漂移是 0.5 秒。 使其在开始时已经有 0.25 秒的不同步,因此在中间的某个地方会出现同步,并且在结束时再次出现 0.25 秒的漂移。 只是不要认为 0.5 秒是某种限制,我只是认为大的去同步不能通过这样的流量变化来纠正和补偿,它仍然会保持明显。 要保存对 AVI 的更改,更改“延迟音轨”参数后,也可以为视频和音频流选择“直接流复制”,然后保存。 那些对由于流程转移而消除去同步不满意的人,以及那些根本不幸运并且现有的去同步很重要的人 - 请阅读下一段。 2.2. 将 AVI 文件带入 XNUMX FPS(大启动) VirtualDub 是一个很好的程序——这是肯定的。 然而,其中没有任何选项可以消除帧速率大幅变化时出现的视频和音频不同步现象。 因此,下面描述的方法涉及将音频与视频分开处理...... 在 VirtualDub 中打开第一个 AVI 文件: 将打开的 AVI 的声音保存到单独的 WAV 文件中: 对于视频,选择“直接流复制”,对于声音“无音频”:
让我们进入熟悉的对话框: 选择项目“更改为...”。 我们输入平均已知值,其余默认,点击确定。 转至片段末尾查看更改 FPS 后的持续时间。 写下时间的价值。 保存 AVI。 因此,我们在 WAV 文件中拥有单独的声音,并且我们拥有经过修改的 FPS 且没有声音的 AVI 文件。 现在我们需要一个声音编辑器,例如 SonicFoundry Sound Forge 或 Syntrillium Cool Edit(当然还有其他)。 我手头有 Cool Edit 程序,所以我将使用它的示例来讲述和展示它。 运行 Cool Edit,打开 WAV 文件。 要随时间压缩/拉伸声音,请从菜单中选择: 在对话框的“长度”字段中,您必须输入 WAV 文件的新长度,即我们在 VirtualDub 中重写了 FPS 变化字段的值。 该值必须以秒为单位输入(例如,我的值是0:07:13.595,以秒为单位是7*60+13.595=433.595)。 输入,按确定: 治疗结束时,确保持续时间符合所需的时间。 对我来说,相差千分之一秒,我认为这在可接受的范围内。:) 我们保存。 我们启动 VirtualDub,打开没有声音的 AVI 文件。 通过菜单“音频”我们连接一个新的声音: 要保存带有新声音的 AVI,请为视频和音频流选择“直接流复制”:
我们保存。 这就是我们处理所有 AVI 文件的方式。 好吧,一切准备就绪后,就可以像理想情况下第 1 点(见上文)一样连接文件。 作者:德米特里·科尔涅夫; 出版:pctuner.ru 我们推荐有趣的文章 部分 视频艺术: ▪ 数字视频采集 ▪ 关于水平框架合成 查看其他文章 部分 视频艺术. 读和写 有帮助 对这篇文章的评论. 科技、新电子最新动态: 控制和操纵光信号的新方法
05.05.2024 Primium Seneca 键盘
05.05.2024 世界最高天文台落成
04.05.2024
其他有趣的新闻: ▪ 发现地球双行星 ▪ 折纸有助于发电 ▪ 禁盐
免费技术图书馆的有趣材料: 本页所有语言 www.diagram.com.ua |