Video script timing real test - run: 2026-10-25 11:16 UTC host: Linux 6.8.0-139-generic x86_64 ffmpeg: ffmpeg version 6.1.1-3ubuntu5 Copyright (c) 2000-2023 the FFmpeg developers === 1. the script we wrote (ours, 74 words) === Most camera settings do not matter as much as you think. Here is the one that decides whether your video looks professional: the frame rate. Twenty five frames per second gives you that film look. Thirty is the safe choice for the web. Sixty is worth it only for fast movement. Pick one before you record, because changing it later means changing the look of every shot you have already filmed. That is the whole trick. $ wc -w script.txt 76 script.txt exit=0 === 2. the recording we made of it (synthetic voice, speed 1.0) === $ ffprobe -v error -show_entries format=duration,size -show_entries stream=codec_name,sample_rate,channels -of default=noprint_wrappers=1 '/home/ubuntu/rt/script/script.wav' codec_name=pcm_s16le sample_rate=24000 channels=1 duration=21.397333 size=1027116 exit=0 === 3. how long the site says it should take === The site's video script tool times a script at 155 words per minute, the median of 21 videos it measured. 135 words per minute -> 33.78 seconds 155 words per minute -> 29.42 seconds 165 words per minute -> 27.64 seconds 202 words per minute -> 22.57 seconds our recording measured 21.397 seconds for 76 words === 4. the tool run on our four parts (production site, headless Chromium) === $ node scenario-script.cjs node:internal/modules/cjs/loader:1568 throw err; ^ Error: Cannot find module '/home/ubuntu/rt/script/out/scenario-script.cjs' at Module._resolveFilename (node:internal/modules/cjs/loader:1564:15) at wrapResolveFilename (node:internal/modules/cjs/loader:1118:27) at defaultResolveImplForCJSLoading (node:internal/modules/cjs/loader:1142:10) at resolveForCJSWithHooks (node:internal/modules/cjs/loader:1169:12) at Module._load (node:internal/modules/cjs/loader:1341:5) at wrapModuleLoad (node:internal/modules/cjs/loader:261:19) at Module.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:154:5) at node:internal/main/run_main_module:33:47 { code: 'MODULE_NOT_FOUND', requireStack: [] } Node.js v24.21.0 exit=1 === 5. what we ship === -rw-rw-r-- 1 ubuntu ubuntu 1027116 Oct 25 11:16 /home/ubuntu/rt/script/script.wav -rw-rw-r-- 1 ubuntu ubuntu 420 Oct 25 11:16 script.txt === done ===