在SOX中混合具有偏移的音轨

时间:2011-01-03 22:28:52

标签: audio mp3 ffmpeg flv sox

从ASP.Net,我使用FFMPEG将Flash Media Server上的flv文件转换为需要混合成单个MP3文件的wavs。我最初使用FFMPEG完全尝试了这一点,但最终放弃了混音步骤,因为我不相信将音频专用音轨组合成单个结果文件是可能的。我很想错。

我现在使用FFMPEG访问FLV文件并将音轨提取到wav,以便 SOX 可以混合它们。问题是我必须将其中一个音轨偏移几秒钟才能使它们同步。每个文件是学生和教师之间对话的一半。例如,teacher.wav可能需要在student.wav之后3.3秒开始。我只能弄清楚如何将文件与SOX混合,两个轨道同时开始。

我在这一点上的最佳尝试是:

ffmpeg -y -i rtmp://server/appName/instance/student.flv -ac 1 student.wav 
ffmpeg -y -i rtmp://server/appName/instance/teacher.flv -ac 1 teacher.wav 

sox -m student.wav teacher.wav combined.mp3 splice 3.3

这些工具(FFMEG / SoX)是根据我的最佳研究选择的,但不是必需的。任何有效的解决方案都允许ASP.Net服务输入两个FMS flv,并使用开源或免费工具创建组合MP3。

修改 我能够使用SOX中的delay开关来偏移文件。

sox -M student.wav teacher.wav combined.mp3 delay 2.8

如果有人采用比FFMPEG / SOX组合解决方案更好的方法,我会将问题保持开放。

3 个答案:

答案 0 :(得分:1)

对于它的价值, 应该<{3}}和-itsoffset的组合,但amix filter可以阻止它。 如果有效,命令将如下所示:

ffmpeg -i student.flv -itsoffset 3.3 -i teacher.flv -vn -filter_complex amix out.mp3

答案 1 :(得分:0)

混合可以非常简单:how to mix two audio channels?

答案 2 :(得分:0)

我建议你应该使用闪光灯。 这可能听起来很奇怪,如果我错了,请纠正我,但使用Flash的新多媒体功能,你可以混合几首曲目。

我不确定,但我只想帮你, theese 2链接可以帮助您实现目标(特别是我猜的第二个链接);

http://3d2f.com/programs/25-187-swf-to-mp3-converter-download.shtml

http://blog.debit.nl/2009/02/mp3-to-swf-converter-in-actionscript-3/