我想使用 FFmpeg 将一个音频文件分成几个等长的片段。我想指定一般片段持续时间(无重叠),并且我希望 FFmpeg 渲染尽可能多的片段来遍历整个音频文件(换句话说,要渲染的片段数未指定)。 另外,由于我对 FFmpeg 不是很有经验(我只用它来进行简单的文件转换,参数很少),我想要一个你应该用来做这个的代码的描述,而不仅仅是我赢得的一段代码' 一定要了解,如果可能的话。 提前谢谢你。
附言这是我为什么要这样做的背景: 我想自动将一首歌曲采样到单小节循环中,而不必使用 DAW 手动将它们切碎。我想要做的就是将歌曲的第一拍与我的 DAW 中的拍子网格对齐,然后导出该音频文件并使用它在 FFmpeg 中生成单小节循环。
在未来,我会尝试做一些类似批处理命令的事情,其中可以指定速度和调号,它会自动使用 FFmpeg 生成循环(只要循环与节拍网格对齐,正如我之前提到的)。 😀
最佳答案
您可以使用 segment muxer .基本示例:
ffmpeg -i input.wav -f segment -segment_time 2 output_%03d.wav
-f segment
指示段复用器应该用于输出。-segment_time 2
使每个片段的长度为 2 秒。output_%03d.wav
是输出文件名模式,它将导致 iinoutput_000.wav
、output_001.wav
、output_002.wav
等
关于audio - 使用 FFmpeg 将音频文件拆分为等长的片段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67320808/