Офисный ПК должен записывать, что операторы говорят клиентам и наоборот - клиенты оператору. Я получил низкое ресурсное решение. Но есть ли способ объединить эти две команды?

ffmpeg.exe -f dshow -i audio = "Микрофон микрофона" - темы 2 m1.mp3

а также

ffmpeg.exe -f dshow -i audio = "Микрофон StereoMix" -потоков 2 m2.mp3

Также возможно, что первый источник записывается в левый канал, а второй - справа от конечного выходного файла. Возможно, есть некоторые предложения по поводу дополнительных опций. Благодарю.

1 ответ1

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .