如何使用 FFmpeg 在不同的轨道上捕获两个音频源?

如何使用 FFmpeg 在不同的轨道上捕获两个音频源?

我目前正在使用以下 FFmpeg 命令来录制我的屏幕和两个音频源:

"C:\FFmpeg\ffmpeg" -f gdigrab -i desktop -f dshow -i audio="virtual-audio-capturer"
-f dshow -i audio="Microphone (Logitech USB Headset)" -filter_complex amix=inputs=2:duration=longest
-c:v libx264 -r 30 -preset fast -tune zerolatency -crf 26 -c:a aac -ac 2 -b:a 128k -y "C:\FFmpeg\output.mp4"

它可以起作用,但它将我的两个音频源(麦克风和虚拟音频捕获器)混合成单个音轨。

我怎样才能捕获相同的音频源,但不将它们混合成一个音轨,而是保存两个单独的音轨?生成的 MP4 文件将包含视频轨道、音轨 1(虚拟音频捕获器)和音轨 2(麦克风)。

答案1

删除过滤器并映射所有输入。

"C:\FFmpeg\ffmpeg" -f gdigrab -i desktop -f dshow -i audio="virtual-audio-capturer"
-f dshow -i audio="Microphone (Logitech USB Headset)" -map 0 -map 1 -map 2 
-c:v libx264 -r 30 -preset fast -tune zerolatency -crf 26 -c:a aac -ac 2 -b:a 128k -y "C:\FFmpeg\output.mp4"

相关内容