如何使用 avconv 合并两个音频输入源

如何使用 avconv 合并两个音频输入源

我尝试使用 avconv 制作截屏视频,但遇到了问题。我终于成功记录了电脑输出和麦克风输入,问题是它们没有合并到输出文件中。 (我看到它们是一个选项 filter_complex amix=inputs 但它仅在早期版本中)

有没有其他方法可以合并它们(即使是后期制作我不在乎)

这是我使用的命令行

avconv -f alsa -ac 2 -i pulse -f alsa -ac 2 -i hw:2,0 -filter_complex amix=inputs=2 -f x11grab -r 30 -s 1366x742 -i :0.0+1369,25 -map 0:0 -map 1:0 -map 2:0 -acodec flac -vcodec libx264 -preset:v superfast -crf 18 -threads 0 output.mkv

答案1

我经常使用 执行此操作ffmpeg,它具有类似的过滤器,所以也许这对您有帮助。这假设屏幕捕获和电脑音频输入screen.avi,麦克风捕获输入mic.wav

ffmpeg -i screen.avi -i mic.wav -filter_complex '[0:1][1:0]amix=inputs=2:duration=first[all_audio]' -map 0:0 -map '[all_audio]' -vcodec libx264 -crf 28 -preset slow -acodec mp3 out.avi

我认为-map选择进入输出的通道,所以如果我正在调试您的原始命令行,我认为您应该丢失 -map 1:0 -map 2:0(即将未合并的输入映射到输出中)并且应该命名 amix 插件的输出(例如all_audio如我的示例中所示)并有一个-map '[all_audio]'(将合并的音频映射到您的输出中)。但是我不知道avconv

相关内容