Записать timelapse видео с экрана с ускоренным звуком

Задача: записать ускоренное видео какой-нибудь игры в шахматы или процесса 3д-моделирования/рисования, звук тоже записать ускоренным.
1. Ставим OBS, настраиваем сцену для игры/приложения/всего экрана, набрасываем эффекты, фильтры , логотипы и прочее по вкусу.
2. Настраиваем OBS Virtual Camera и запускаем её
3. Аудио будем брать из микшера с помощью этой программы https://github.com/rdp/virtual-audio-capture-grabber-device (ничего запускать предварительно не нужно, просто установили и всё)
4. Запускаем скрипт и сворачиваем окно командной строки. По окончанию записи нажимаем Q или Ctrl+C.
  1. @echo off
  2.  
  3. rem detect audio device
  4. set audio_device="virtual-audio-capturer"
  5. set fallback_audio_device="Stereo Mix (Realtek(R) Audio)"
  6.     set dshow="%TEMP%\dshow.txt"
  7.     ffmpeg -stats -hide_banner -list_devices true -f dshow -i dummy 2> "%dshow%"
  8.     findstr /c:%audio_device% "%dshow%"
  9.     if errorlevel 1 set audio_device=%fallback_audio_device%
  10. rem record timelapse video
  11. ffmpeg -rtbufsize 100M ^
  12.     -f dshow -i video="OBS Virtual Camera":audio=%audio_device% ^
  13.     -filter_complex "[0:v]setpts=PTS/4[v1];[0:a]atempo=4[a1]" ^
  14.     -map "[v1]" -map "[a1]" -r 30 -b:v 4500k -pix_fmt yuv420p ^
  15.     "E:\Capture\%DATE:~6,4%%DATE:~3,2%%DATE:~0,2%_%TIME:~0,2%%TIME:~3,2%%TIME:~6,2%.mp4"
Ускорение в 4 раза (PTS/4[v1];[0:a]atempo=4), файл записывается в E:\Capture\

Реклама

Мы в соцсетях

tw tg yt gt