我有一个装满歌曲的文件夹。我想制作一个mp3文件,其中包含每首歌曲10秒的混搭。
我发现FFMPEG是一种易于使用的软件。
我发现了how to cut a single file : ffmpeg -ss 0 -t 10 -i file.mp3 file.wav
还有how to write a loop for multiple steps : for i in *.mp3; do ...
但是我不确定如何将两者混合成一个文件。如果不可能,我想我也可以为每个文件制作一个10秒的文件,然后重新组合。
答案 0 :(得分:0)
在Windows中
第1步:进入包含歌曲的文件夹
第2步:粘贴以下行
FOR /F "tokens=*" %G IN ('dir /b *.mp3') DO ffmpeg -ss 15 -t 10 -i "%G" -acodec mp3 "%~nG_10s.mp3"
第3步:将10s歌曲放入另一个文件夹(或修改正则表达式)并粘贴
copy /b *.mp3 E:\combined.mp3
答案 1 :(得分:0)
您可以使用ffmpeg的concat demuxer避免使用中间文件
#1 创建concat文本文件
FOR /F "tokens=*" %G IN ('dir /b *.mp3') DO (echo file '%G' >> list.txt & echo inpoint X >> list.txt & echo outpoint Y >> list.txt)
X和Y是开始和结束时间,以秒为单位。
#2 组合所选部分
ffmpeg -f concat -i list.txt -c copy -vn out.mp3