我已经开始使用两个命令行实用程序了。我使用ffmpeg将m4a转换为mp3,然后我使用mp3wrap将一些mp3组合成一个大的mp3。生成的文件是这样的:
BackgroundMusic.mp3 > Audio1.mp3 > Audio2.mp3
我需要更像
的东西Audio1.mp3 > Audio2.mp3
|_____________________|
|
BackgroundMusic.mp3
背景音乐在后台连续播放的位置。很高兴能够改变每个音轨的音量。
有没有人知道像mp3wrap这样的命令行程序,但也可以添加背景音轨?
我将无法使用Audacity等GUI程序,因为所有这些都将在服务器上自动完成。
谢谢!
答案 0 :(得分:0)
你可以单独使用FFmpeg。
ffmpeg -i input_audio1 -i input_audio2 -i input_background_audio -filter_complex "
aevalsrc=0:d=10[s1];
[0:a]volume=volume=0.1[volume0];
[1:a]volume=volume=0.1[volume1];
[2:a]volume=volume=0.1[volume2];
[s1][volume1]concat=n=2:v=0:a=1[ac1];
[volume0][ac1]amix=inputs=2[amixed1];
[amixed1][volume2]amix=inputs=2:duration=first" output_audio
您需要使用filter_complex
链接您将用于调整音量,静音空间,连续等过滤器的所有过滤器。
作为第一步,您可以连接两个需要一个接一个播放的音频文件。为此,我首先使用aevalsrc
过滤器创建和静音音频,其持续时间与第一个音频剪辑相同。然后使用concat
过滤器连接静音音频和第二个音频。
要调整音频,我使用了volume
过滤器。您可以相应地调整音量值。要混合音频,您可以使用amix
过滤器。您可以指定duration
属性以获取[amixed1]
持续时间的第一个输入。使用该选项,您可以使用audio1 + audio2的持续时间停止整个音频,而无需在整个背景音频持续时间内播放。
希望这有帮助!