Skip to content

forpix/black-screen-video-generator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Black Screen Video Generator

105 pure black screen videos. Generated in 1.2 seconds.

The naive approach — encoding every file from scratch — takes 40 minutes. This tool does it in ~1.2 seconds. That's roughly 2000x faster.

The trick: encode once, stream-loop to any duration with zero re-encoding.

Just want the files? Skip the CLI. Download instantly at blackscreenvideo.com — free, no signup.

Quick Start

git clone https://github.com/forpix/black-screen-video-generator.git
cd black-screen-video-generator
bash generate.sh

Docker:

docker build -t bsvg .
docker run -v $(pwd)/output:/output bsvg

Done. 105 files in ./output/.

What You Get

5 resolutions. 7 durations. 3 formats. Every combination.

10s 30s 1min 5min 10min 30min 1hour
480p (854×480)
720p (1280×720)
1080p (1920×1080)
4K (3840×2160)
8K (7680×4320)

Each cell = 3 files: MP4 (H.264), WebM (VP9), MOV (H.264).

All files: 5 fps, yuv420p, no audio track.

How It Works

The core insight: a 1-hour black video is just a 1-second black video looped 3600 times. The pixels are identical. There's nothing to re-encode.

Phase 1 — Build 15 base files (1 second each): 5 resolutions × 3 formats.

Phase 2 — Loop each base file to every target duration using FFmpeg's -stream_loop with -c copy. No re-encoding. Just byte-level concatenation.

That's why it's fast. The actual encoding work is 15 one-second clips. Everything else is a copy operation.

Script Time Strategy
generate.sh ~1.2s encode 15 base clips, stream-loop the rest
generate-full.sh ~40min full encode for every file (baseline)

generate-full.sh exists purely as a benchmark comparison. You'll never need to run it.

Validation

bash validate.sh ./output

This isn't a loose sanity check. For each of the 105 files, it verifies:

  • Resolution matches the filename label exactly
  • Duration is within ±1 second of the target
  • Codec is correct (H.264 for MP4/MOV, VP9 for WebM)
  • Zero audio streams
  • File size is non-zero
  • Pixel-level black frame check at 5%, 50%, and 95% timestamps

All 105 must pass. Any failure exits non-zero.

Use Cases

  • Testing — Video player QA, streaming pipeline validation, CI/CD fixtures
  • Display diagnostics — Burn-in detection, dead pixel testing
  • Content creation — Black screen placeholders, meditation/sleep videos
  • Development — Placeholder assets that behave like real video files

Pre-built Downloads

Don't want to run scripts? Grab the files from Releases.

Need 4K/8K or prefer browser downloads? → blackscreenvideo.com

License

MIT

About

Generate pure black screen videos with FFmpeg. 5 resolutions × 7 durations × 3 formats, optimized with stream_loop.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors