ffmpeg-synth

Generate deterministic synthetic media sequences using FFmpeg lavfi sources.

15|4|Updated Apr 18, 2026
One-click install
npx skills add https://github.com/damionrashford/media-os --skill ffmpeg-synth
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: ffmpeg-synth
Source: https://github.com/damionrashford/media-os/tree/main/skills/ffmpeg-synth
Command: npx skills add https://github.com/damionrashford/media-os --skill ffmpeg-synth

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) and references (resource) components.

What problem does it solve?

Automates the creation of deterministic synthetic media sequences for testing and validating video/audio pipelines using FFmpeg lavfi sources.

Core Features & Use Cases

  • Generate a variety of lavfi sources (testsrc, testsrc2, rgbtestsrc, yuvtestsrc, mandelbrot, gradients, color, sine, anullsrc, anoisesrc) into synchronized V+A or V-only streams.
  • Provide ready-to-run recipes and a Python script wrapper (scripts/synth.py) to produce common test patterns, calibration clips, or line-up media for broadcast workflows.
  • Enable pipeline testing, calibration, ABX testing, encoder stress tests, and LUT authoring with synthetic sources.

Quick Start

Generate a 10-second SMPTE HD bars video with a 1 kHz tone using lavfi and save it as bars_test.mp4.

Frequently Asked Questions about ffmpeg-synth

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I generate synthetic test media for video pipeline validation using FFmpeg lavfi?

Generate synthetic test media for video pipeline validation by using FFmpeg lavfi sources like testsrc or sine to produce deterministic streams. This Skill provides a Python wrapper to assemble lavfi input graphs, creating synchronized video and audio clips for automated QA.

Can I create SMPTE color bars with a 1 kHz tone for broadcast calibration?

Create SMPTE color bars with a 1 kHz tone for broadcast calibration using lavfi sources. The Skill outputs synchronized video and audio streams, providing ready-to-run recipes to produce standard line-up media for broadcast workflows.

What FFmpeg lavfi sources are available for encoder stress testing and LUT authoring?

Available FFmpeg lavfi sources for encoder stress testing and LUT authoring include testsrc, testsrc2, rgbtestsrc, yuvtestsrc, mandelbrot, gradients, color, sine, anullsrc, and anoisesrc. These sources generate deterministic synthetic media sequences for pipeline testing.

Do I need a specific version of FFmpeg to use lavfi sources for synthetic media generation?

Synthetic media generation requires FFmpeg built with lavfi support to use the virtual input sources. The included Python wrapper script assembles the lavfi input graphs and ensures all generated outputs are bounded with duration limits.

How do I ensure generated synthetic media clips have a bounded duration for automated QA?

Ensure generated synthetic media clips have a bounded duration by applying the -t flag or duration parameter in the output graph. The Skill's Python wrapper automatically enforces these limits, preventing unbounded lavfi source generation during automated QA testing.

Why use FFmpeg lavfi sources instead of real media files for ABX testing and pipeline calibration?

Use FFmpeg lavfi sources instead of real media files for ABX testing and pipeline calibration because they provide deterministic, reproducible synthetic media without requiring source assets. This approach guarantees consistent test patterns for accurate encoder validation and comparison.