Я посылаю живой поток растровых изображений в 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 ответ1

0

Вы можете объединить их, как показано ниже,

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";

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