如何使用 ffmpeg 通过删除或减少音频通道中的静音时间来缩短视频长度?

如何使用 ffmpeg 通过删除或减少音频通道中的静音时间来缩短视频长度?

由于音频通道上的发言者讲话时停顿相当长,如何使用 ffmpeg 通过删除或减少停顿或静音的长度来减少一些较长的网络研讨会录音的长度?

视频的本质是技术演示的录制,因此视频是变化非常缓慢的投影演示,演讲者以一种等待与会者回答、反应的方式讲话,并且非常深思熟虑。然而在播放过程中,这听起来很无聊和冗长。

请注意,我已经知道使用 ffmpeg 加速音频/视频的正确方法,但在这里我并不是想以恒定的速度加速整个视频,而只是加速音轨上无数个静默期(比如信号低于某个阈值)?

答案1

如果存在纯 ffmpeg 方法,我更喜欢这种方法,但我确实找到了一种涉及反过来使用 ffmpeg 的 python 脚本的方法。

这是一个开源项目跳转切刀这似乎正是我想要的。原作者似乎已经放弃了这个项目,转而支持将其商业化(这也不能怪他,因为如果你看过演示视频的话,就会发现这是一款非常棒的工具。)然而,这叉该项目似乎是最新的,并声称可以工作。我想我已经理解了它的工作原理,我实际上可能会尝试一种稍微更有效的方法(避免将视频完全切成单独的帧,因为这会使转换超长视频的过程变得非常缓慢)。如果我设法做到这一点,我会回来更新这个答案。

PS>我暂时不会接受这个答案,保持这个问题开放为了获得更好的 ffmpeg 答案,或者可能更快的方法,请避免重新编码等。

相关内容