Список информация о звуковой карте на моем компьютере.
pacmd list-sources |grep name:
name: <alsa_input.usb-SN0002-02.analog-mono>
name: <alsa_output.pci-0000_00_1b.0.analog-stereo.monitor>
name: <alsa_input.pci-0000_00_1b.0.analog-stereo>
Задайте для переменных просто следующую команду:
speaker=alsa_output.pci-0000_00_1b.0.analog-stereo.monitor
mic=alsa_input.usb-SN0002-02.analog-mono
Записать музыку, играющую на динамике:
ffmpeg -use_wallclock_as_timestamps 1 -f pulse -i $speaker -acodec copy /tmp/out.mkv
Записать голос, говорящий в микрофон:
ffmpeg -use_wallclock_as_timestamps 1 -f pulse -i $mic -acodec copy /tmp/out.mkv
Теперь, чтобы записать звук в динамике и микрофон:
ffmpeg -use_wallclock_as_timestamps 1 \
-f pulse -i $speaker -f pulse -i $mic \
-acodec copy /tmp/out.mkv
Он выводит информацию на экран:
Guessed Channel Layout for Input Stream #0.0 : stereo
Input #0, pulse, from 'alsa_output.pci-0000_00_1b.0.analog-stereo.monitor':
Duration: N/A, start: 1606130053.472713, bitrate: 1536 kb/s
Stream #0:0: Audio: pcm_s16le, 48000 Hz, stereo, s16, 1536 kb/s
Guessed Channel Layout for Input Stream #1.0 : stereo
Input #1, pulse, from 'alsa_input.usb-SN0002.analog-mono':
Duration: N/A, start: 1606130053.597432, bitrate: 1536 kb/s
Stream #1:0: Audio: pcm_s16le, 48000 Hz, stereo, s16, 1536 kb/s
Он не записывает голос, говорящий в микрофон, записанный в /tmp/out.mkv
, записывается только звук, воспроизводимый на динамике? Почему ffmpeg угадывает Схема канала для входного потока?
Я пробовал этот метод на суперпользователе
:
ffmpeg -use_wallclock_as_timestamps 1 \
-f pulse -i $speaker -f pulse -i $mic \
-acodec libmp3lame -map 0:0 -map 1:0 /tmp/out.mkv
Он ничего не записывает, звук на динамике и микрофон не может быть записан.