Я отправляю живой поток растровых изображений в ffmpeg через standardin следующим образом:
proc.StartInfo.Arguments = "-rtbufsize 1500M -f image2pipe -r 25 -i pipe:.bmp -vcodec libx264 -r 25 C:\\test.avi";
Полученное видео сохраняется и воспроизводится без проблем.
Я хочу добавить звук во время потоковой передачи растровых изображений, поэтому я попробовал захватить только звук следующим образом:
proc.StartInfo.Arguments = "-rtbufsize 1500M -f dshow -i audio=" + '"' + "Stereo Mix (Realtek High Defini" + '"' + " -acodec pcm_s16le -ac 2 -ar 48000 C:\\test.wav";
Звук сохраняется и воспроизводится хорошо.
Позже, после сохранения, я смогу объединить их, используя -vcodec copy -acodec copy
Мой вопрос заключается в следующем: возможно ли объединить обе прямые трансляции, поскольку они создаются «на лету», и как это сделать?
решение1
Вы можете объединить их, как показано ниже,
proc.StartInfo.Arguments = "-rtbufsize 1500M -f image2pipe -r 25 -i pipe:.bmp -rtbufsize 1500M -f dshow -i audio=" + '"' + "Stereo Mix (Realtek High Defini" + '"' + " -vcodec libx264 -r 25 -acodec pcm_s16le -ac 2 -ar 48000 C:\\test.avi";