Introduction to Video Synthesis

Thrown together by David Tamés, updated on February 18, 2026

This handout covers video synthesis, a techniques you can use to explore the structural and material qualities of digital video in a computational media context.

See also:


Introduction

Video synthesis is the generation and manipulation of moving images directly from analog video signals through oscillators, waveform generators, voltage-controlled modules, and signal-processing circuits. Video synthesis may be done with or without a camera or recording as a source. The techniques originated with the use of electronic devices,1 however, video synthesis may also be performed in the digital domain. From a Direct Theory perspective, video synthesis is one of the purest forms of medium-specific investigation available. The synthesizer orchestrates the behavior of the medium as it’s own constitutive material revealing characteristics such as frequency, amplitude, phase, modulation, interference, and feedback that may function as both the means and the content of the work.

In the computational era, tools like Hydra extend this tradition into the digital domain. The oscillators and modulators are now WebGL shader functions rather than physical circuits, and the signal is a stream of calculated pixel values rather than continuously variable voltage. However, the theoretical operation is structurally analogous in that the system generates imagery from its own internal processes, disclosing the behavior of its computational medium as visual experience. The nature of the substrate being theorized shifts from analog electronics to algorithmic computation while the fundamental gesture of making the medium visible to itself remains intact.

Hydra

You can perform video synthesis and other visual effects in your browser using Hydra, a live-coding video synthesizer. Hydra is written in JavaScript and compiles to WebGL behind the scenes. The syntax is inspired by analog modular synthesis, in which chaining or patching a set of transformations together generates a visual result. You can use Hydra to create generative and audio-reactive visuals, and share them online with others. You can also mix and add effects to camera feeds, screenshares, live streams, and videos. Take a look at the Getting Started and the documentation. It’s a fun way to get started with video feedback, fractals, and pixel operations.

Recording

If you would like to record your work with Hydra, use this script as a wrapper around the functions you wish to record.

// === Hydra Recording Wrapper ===
// Paste this entire block into hydra.ojack.xyz and hit Ctrl+Shift+Enter
// Place the code you want to record between the START and END markers

// Duration of recording in milliseconds
let dur = 5000

// Start recording
vidRecorder.start()

setTimeout(() => {

// === START code section ===


// === END code section ===

}, dur)

/
// Stop recording and trigger download
setTimeout(() => {
  vidRecorder.stop()
}, dur * 5)

Converting Hydra output (FFmpeg)

The files produced by Hydra often can’t be read by the QuickTime Player, Resolve, and Premiere Pro, however, this is easily fixed using FFmpeg to convert the webm files to mp4 that can be played with QuickTime Player and edited using Resolve or Premiere Pro without problems. FFmpeg runs in the command line (change the resolution and frame rate as needed, the other parameters ensure the color space is Rec.709):

ffmpeg -i input.webp -vf scale=1920:1080 -r 29.97 -colorspace bt709 -color_primaries bt709 -color_trc bt709 -pix_fmt yuv420p output.mp4

Converting Hydra output (Shutter Encoder or Handbrake)

If you prefer not to use FFmpeg in the command line, there are two free, open-source video transcoding tools to consider: Shutter Encoder and Handbrake, both work with nearly any video format.

Footnotes

  1. For a history of video synthesizers, see “A Sloppy Machine, Like Me: A History of Video Synthesizers” by Michael Grasso, We Are The Mutants, January 8, 2018, article.