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