0
  1. 我有一个带语音的视频。
  2. 我提取了它的音频。
  3. 我从这个音频的 adobe 试听中提取了一个剪辑列表,如下所示:

    开始时间:00:00:12:00

    结束:00:00:13:00

    这些是沉默的部分,需要被移除。

  4. 我将这些转换为给定 25fps 视频文件的帧。

  5. 我创建了一个这样的avisynth文件:

    AVISource("20130531_1303_46.avi")

    作物(2,0,852,480)

    修剪(0,4-1) ++ 修剪(50+1,0)

    修剪(0,34-1) ++ 修剪(82+1,0)

    ……

    每行包含开始(第一次修剪)减(前一个结束和开始之间的所有差异的总和)和结束(第二次修剪)减(前一个结束和开始之间的所有差异的总和) - 帧。

  6. 我将它加载到 virtualdub 中。

  7. 我根据剪辑列表删除试听中的所有静音并保存为mp3
  8. 我将 mp3 加载到 virtualdub 中。

问题:它在整个视频上不同步,即它开始同步,一段时间后它向正方向漂移(我必须输入一个负值 -3000ms 才能在中间同步。另外它经常被砍掉。)

表示有什么不对劲。我猜是所有差异的总和。

要理解这一点:

当您在 virtualdub 中选择一个部件并将其删除时,总帧数是总帧数减去该部件的帧数。

例子:

第 2-5 帧被删除。所以它基本上是 1-6-7-8-... 剩下的。根据最初的时间框架关系,我会从 7 开始。但现在 7 是 3。这加起来我删除的越多。

所以我想:如果我用帧数减去所有之前删除的帧的总和,我应该在正确的位置剪切。

我好像忘记了什么,是什么?

4

1 回答 1

0

我找到了解决方案。如果我使用 Start = 4 和 End = 50 那么我需要一步

End - Start + 1 

前进而不是

End - Start

但是,25fps 的分辨率仍然太低,有时音频部分会被截断。

于 2013-05-31T13:46:48.463 回答