gpt4 book ai didi

audio - 如何按无声部分分割视频或音频

转载 作者:行者123 更新时间:2023-11-28 21:38:41 27 4
gpt4 key购买 nike

我需要按单词自动拆分演讲视频,因此每个单词都是一个单独的视频文件。你知道有什么方法可以做到这一点吗?

我的计划是检测无声部分并将它们用作单词分隔符。但我没有找到任何工具来执行此操作,而且 ffmpeg 似乎不是正确的工具。

最佳答案

您可以先使用 ffmpeg 来 detect intervals of silence , 像这样

ffmpeg -i "input.mov" -af silencedetect=noise=-30dB:d=0.5 -f null - 2> vol.txt

这将产生控制台输出,读数如下所示:

[silencedetect @ 00000000004b02c0] silence_start: -0.0306667
[silencedetect @ 00000000004b02c0] silence_end: 1.42767 | silence_duration: 1.45833
[silencedetect @ 00000000004b02c0] silence_start: 2.21583
[silencedetect @ 00000000004b02c0] silence_end: 2.7585 | silence_duration: 0.542667
[silencedetect @ 00000000004b02c0] silence_start: 3.1315
[silencedetect @ 00000000004b02c0] silence_end: 5.21833 | silence_duration: 2.08683
[silencedetect @ 00000000004b02c0] silence_start: 5.3895
[silencedetect @ 00000000004b02c0] silence_end: 7.84883 | silence_duration: 2.45933
[silencedetect @ 00000000004b02c0] silence_start: 8.05117
[silencedetect @ 00000000004b02c0] silence_end: 10.0953 | silence_duration: 2.04417
[silencedetect @ 00000000004b02c0] silence_start: 10.4798
[silencedetect @ 00000000004b02c0] silence_end: 12.4387 | silence_duration: 1.95883
[silencedetect @ 00000000004b02c0] silence_start: 12.6837
[silencedetect @ 00000000004b02c0] silence_end: 14.5572 | silence_duration: 1.8735
[silencedetect @ 00000000004b02c0] silence_start: 14.9843
[silencedetect @ 00000000004b02c0] silence_end: 16.5165 | silence_duration: 1.53217

然后您生成命令以从每个静音结束拆分到下一个静音开始。您可能希望添加一些句柄,例如 250 毫秒,这样音频的持续时间将达到 250 毫秒 * 2 以上。

ffmpeg -ss <silence_end - 0.25> -t <next_silence_start - silence_end + 2 * 0.25> -i input.mov word-N.mov

(我已经跳过指定音频/视频参数)

您需要编写一个脚本来抓取控制台日志并生成一个包含时间码的结构化(可能是 CSV)文件 - 每行一对:silence_end 和下一个 silence_start。然后另一个脚本用每对数字生成命令。

关于audio - 如何按无声部分分割视频或音频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36074224/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com