Я бы не рекомендовал использовать ffmpeg для этого. Скорее используйте правильное нелинейное программное обеспечение для редактирования видео, которое позволяет вам выравнивать видео и аудио дорожки графически. Скорее всего, вам захочется сделать запись небольшими порциями звука, а не записывать все сразу. Вы также можете использовать аудиопрограмму, такую как Audacity, чтобы сделать запись в автономном режиме, и использовать видеоплеер, такой как VLC, для предварительного просмотра видео, а затем сшить все вместе в конце.
Тем не менее, вы можете записывать звук с микрофона с помощью ffmpeg во время записи на рабочем столе. Точная команда зависит от вашей операционной системы и способа ввода. Пожалуйста, обратитесь к Wiki для этого.
Если вы хотите записывать звук во время воспроизведения видео, вы должны использовать исходное видео в качестве входного, указать свой микрофон в качестве второго входного источника, а затем вывести в файл и процесс ffplay
для предварительного просмотра видео.
Например, - и это только быстрое решение - в macOS микрофон выбирается с -f avfoundation -i ":0"
. Видео копируется (-c:v copy
), аудио кодируется с помощью aac
, и все выводится как на output.mkv
и на канал, который подается в ffplay
.
ffmpeg -i screencast.mp4 -f avfoundation -i ":0" -c:v copy -c:a aac -f tee -map 0:v -map 1:a "output.mkv|[f=matroska]pipe:" | ffplay -
Обратите внимание, что это будет не совсем синхронно - возможно, вы видите видео слишком поздно. Кроме того, записанный вами звук будет воспроизводиться с небольшой задержкой. Отключите звук в этом случае.