Files
evening_detective_screen/scripts/generate-media.cjs
T
2026-10-17 18:14:31 +07:00

49 lines
1.0 KiB
JavaScript

const { mkdirSync } = require('node:fs')
const { spawnSync } = require('node:child_process')
mkdirSync('fixtures', { recursive: true })
const jobs = [
[
'-f',
'lavfi',
'-i',
'sine=frequency=1000:sample_rate=48000:duration=60',
'-af',
'volume=0.1',
'-c:a',
'pcm_s16le',
'fixtures/audio.wav',
],
[
'-f',
'lavfi',
'-i',
'testsrc2=size=1280x720:rate=30:duration=60',
'-f',
'lavfi',
'-i',
'sine=frequency=1000:sample_rate=48000:duration=60',
'-af',
'volume=0.1',
'-c:v',
'libx264',
'-preset',
'fast',
'-pix_fmt',
'yuv420p',
'-c:a',
'aac',
'-movflags',
'+faststart',
'-shortest',
'fixtures/video.mp4',
],
]
for (const args of jobs) {
const result = spawnSync('ffmpeg', ['-hide_banner', '-loglevel', 'error', '-y', ...args], {
stdio: 'inherit',
})
if (result.error)
console.error('Установите ffmpeg с libx264 и добавьте в PATH:', result.error.message)
if (result.error || result.status !== 0) process.exit(1)
}