FFMPEG. Два dshow источника и один выход. Объединить команды
Офисный ПК должен записывать, что операторы говорят клиентам, и наоборот - клиенты оператору. Я получил низкое ресурсное решение. Но есть ли способ объединить эти две команды?
ffmpeg.exe -f dshow -i audio="Микрофон микрофона" - темы 2 m1.mp3
а также
ffmpeg.exe -f dshow -i audio="Микрофон StereoMix" - темы 2 m2.mp3
Также возможно, что первый источник записывается в левый канал, а второй - справа от конечного выходного файла. Возможно, есть некоторые предложения по поводу дополнительных опций. Благодарю.
1 ответ
Простое сочетание входов, оба будут звучать во всех каналах
ffmpeg.exe -f dshow -i audio="Microphone MIC" -f dshow -i audio="Microphone StereoMix" -filter_complex "[0][1] amix [a];[a] volume=volume=2 [b]" -map "[b]" -threads 2 m1.mp3
Volume
фильтр добавлен с amix
будет визуализировать объем каждого входа в половину.
Если вам нужно разделить каждый вход на другой канал, вы можете использовать join
, но если ваши входные звуки стереофонические, вы должны предварительно смешать их в моно, чтобы не потерять ничего.
Предполагая моно входы, результат будет первым вводом слева, вторым справа:
ffmpeg.exe -f dshow -i audio="Microphone MIC" -f dshow -i audio="Microphone StereoMix" -filter_complex "join=inputs=2:channel_layout=stereo:map=0.0-FL|1.0-FR" -threads 2 m2.mp3
Предполагая стереовходы, регулировка громкости не требуется, поскольку каждый канал для одного и того же входа должен быть несколько похожим:
ffmpeg.exe -f dshow -i audio="Microphone MIC" -f dshow -i audio="Microphone StereoMix" -filter_complex "[0]channelsplit=channel_layout=stereo[a][b];[1]channelsplit=channel_layout=stereo[c][d];[a][b]amix[e];[c][d]amix[f];[e][f]join=inputs=2:channel_layout=stereo:map=0.0-FL|1.0-FR[g]" -map "[g]" -threads 2 m3.mp3