videobeaux docs

Videobeaux Documentation

Every guide, example, effect, and utility is collected in this single static page. No Gemfile, Jekyll, Ruby, or build step is required.

Start Here

Overview

Program List

Effects

Utilities

Start Here

Getting Started

videobeaux --help

... outputs the following ...

       _     _            _
__   _(_) __| | ___  ___ | |__   ___  __ _ _   ___  __
\ \ / / |/ _` |/ _ \/ _ \| '_ \ / _ \/ _` | | | \ \/ /
 \ V /| | (_| |  __/ (_) | |_) |  __/ (_| | |_| |>  <
  \_/ |_|\__,_|\___|\___/|_.__/ \___|\__,_|\__,_/_/\_\


📺 The friendly multilateral video toolkit built for artists by artists.
🫂  It's your best friend!

🌐 https://schwwaaa.net

usage: videobeaux --program PROGRAM --input INPUT_FILE --output OUTPUT_FILE [program options]

options:
  -P, --program PROGRAM
                        Name of the effect program to run (e.g. convert, glitch)
  -i, --input INPUT     Input video file - mp4 only
  -o, --output OUTPUT   Output file name, no extension. Output will be saved as mp4.
  -F, --force           Force overwrite output file
  -h, --help            Show help message and exit

Available Program Modes:

bad_animation        download_yt          lsd_feedback_pro     repainting           subs_convert
bad_contrast         extract_frames       lut_apply            resize               t1000
bad_predator         extract_sound        meta_extraction      reverse              thumbs
ball_point_pen       fever                mince                scrolling_pro        tonemap_hdr_sdr
blur_pix             frame_delay_pro1     mirror_delay         septic               transcraibe
broken_scroll        frame_delay_pro2     nostalgic_stutter    silence_xtraction    triptych
captburn             frame_interpolate    num_edits            slight_smear         twociz
chain_builder        gamma_fix            overexposed_stutter  smudge               twociz_pro
chain_builder_pro    ghostee              overlay_img_pro      soapblind            watermark
convert              hash_fingerprint     pickle_juice         speed                wbflare
convert_dims         lagkage              qwikchop             splitting            wbflare_pro
convert_mux          lagkage-old          rb_blur              splitting_pro        wipe_transitions
crossmosh            light_snow           rb_blur_pro          stack_2x             xpiritualism
digital_boss         looper_pro           recalled_sensor      steel_wash           xrgb
double_cup           lsd_feedback         recalled_sensor_pro  stutter_pro          zapruder
Start Here

Installation


layout: default title: Installation nav_order: 4

macOS/Linux

In the shell prompt, go to the place where you want the project to live. Paste that in a macOS Terminal or Linux shell prompt & run it.

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/schwwaaa/videobeaux/refs/heads/main/install.sh)"

Windows

choco install ffmpeg
setx VIDEOBEAUX_PATH "C:\videobeaux"

Usage

Activate virtual environment

This will activate your virtual environment. Immediately, you will notice that your terminal path includes env, signifying an activated virtual environment.

source env/bin/activate
### Check the installation

### Get help and find out more about videobeaux
``` bash
videobeaux --help

... outputs the following ...

       _     _            _
__   _(_) __| | ___  ___ | |__   ___  __ _ _   ___  __
\ \ / / |/ _` |/ _ \/ _ \| '_ \ / _ \/ _` | | | \ \/ /
 \ V /| | (_| |  __/ (_) | |_) |  __/ (_| | |_| |>  <
  \_/ |_|\__,_|\___|\___/|_.__/ \___|\__,_|\__,_/_/\_\


📺 The friendly multilateral video toolkit built for artists by artists.
🫂  It's your best friend!

🌐 https://schwwaaa.net

usage: videobeaux --program PROGRAM --input INPUT_FILE --output OUTPUT_FILE [program options]

options:
  -P, --program PROGRAM
                        Name of the effect program to run (e.g. convert, glitch)
  -i, --input INPUT     Input video file - mp4 only
  -o, --output OUTPUT   Output file name, no extension. Output will be saved as mp4.
  -F, --force           Force overwrite output file
  -h, --help            Show help message and exit

Available Program Modes:

bad_animation        download_yt          lsd_feedback_pro     repainting           subs_convert
bad_contrast         extract_frames       lut_apply            resize               t1000
bad_predator         extract_sound        meta_extraction      reverse              thumbs
ball_point_pen       fever                mince                scrolling_pro        tonemap_hdr_sdr
blur_pix             frame_delay_pro1     mirror_delay         septic               transcraibe
broken_scroll        frame_delay_pro2     nostalgic_stutter    silence_xtraction    triptych
captburn             frame_interpolate    num_edits            slight_smear         twociz
chain_builder        gamma_fix            overexposed_stutter  smudge               twociz_pro
chain_builder_pro    ghostee              overlay_img_pro      soapblind            watermark
convert              hash_fingerprint     pickle_juice         speed                wbflare
convert_dims         lagkage              qwikchop             splitting            wbflare_pro
convert_mux          lagkage-old          rb_blur              splitting_pro        wipe_transitions
crossmosh            light_snow           rb_blur_pro          stack_2x             xpiritualism
digital_boss         looper_pro           recalled_sensor      steel_wash           xrgb
double_cup           lsd_feedback         recalled_sensor_pro  stutter_pro          zapruder
Start Here

Examples

Running a program that does not have additional arguments

Check if the program needs additional arguments

       _     _            _
__   _(_) __| | ___  ___ | |__   ___  __ _ _   ___  __
\ \ / / |/ _` |/ _ \/ _ \| '_ \ / _ \/ _` | | | \ \/ /
 \ V /| | (_| |  __/ (_) | |_) |  __/ (_| | |_| |>  <
  \_/ |_|\__,_|\___|\___/|_.__/ \___|\__,_|\__,_/_/\_\


Your friendly multilateral video toolkit built for artists by artists.
https://schwwaaa.net
--------------------------------------------------
Selected program mode: bad_predator
✅ This program mode does not require additional arguments
usage: python3 -m videobeaux.cli --program PROGRAM [global options] [program options]

📺 Your friendly multilateral video toolkit built for artists by artists.
 It's your best friend!
https://schwwaaa.net

options:
  -P PROGRAM, --program PROGRAM
                        Name of the effect program to run (e.g. convert, glitch)
  -i INPUT, --input INPUT
                        Input video file - mp4 only
  -o OUTPUT, --output OUTPUT
                        Output file name, no extension. Output will be saved as mp4.
  -F, --force           Force overwrite output file
  -h, --help            Show help message and exit

 👁️ 👇 Additional help for program mode 👇 👁️
usage: videobeaux --program bad_predator [-h]

Apply bad Predator heat vision effect

options:
  -h, --help  show this help message and exit

Run the program

videobeaux --program PROGRAM --input INPUT_FILE --output OUTPUT_FILE

... translates to ...

videobeaux --program bad_predator --input example.mp4 --output example_bp.mp4

Output of the program

       _     _            _
__   _(_) __| | ___  ___ | |__   ___  __ _ _   ___  __
\ \ / / |/ _` |/ _ \/ _ \| '_ \ / _ \/ _` | | | \ \/ /
 \ V /| | (_| |  __/ (_) | |_) |  __/ (_| | |_| |>  <
  \_/ |_|\__,_|\___|\___/|_.__/ \___|\__,_|\__,_/_/\_\


Your friendly multilateral video toolkit built for artists by artists.
https://schwwaaa.net
--------------------------------------------------
Selected program mode: bad_predator
✅ This program mode does not require additional arguments
Input duration: 10.01 seconds
🔨 Processing example.mp4: 100%|██████████████████████████████████████████████████████ | 10.01/10.01s [00:04<00:00]

📺 Process Complete: example_bp.mp4

<video controls preload="metadata" style="max-width:100%; border-radius:8px; margin:1em 0;"> <source src="https://github.com/user-attachments/assets/fe45aa80-9878-4d15-bc64-87dd25071855" type="video/mp4"> Your browser does not support the video tag. </video>

Running a program that does have additional arguments

Check if the program needs additional arguments

       _     _            _
__   _(_) __| | ___  ___ | |__   ___  __ _ _   ___  __
\ \ / / |/ _` |/ _ \/ _ \| '_ \ / _ \/ _` | | | \ \/ /
 \ V /| | (_| |  __/ (_) | |_) |  __/ (_| | |_| |>  <
  \_/ |_|\__,_|\___|\___/|_.__/ \___|\__,_|\__,_/_/\_\


Your friendly multilateral video toolkit built for artists by artists.
https://schwwaaa.net
--------------------------------------------------
Selected program mode: stutter_pro
usage: python3 -m videobeaux.cli --program PROGRAM [global options] [program options]

📺 Your friendly multilateral video toolkit built for artists by artists.
 It's your best friend!
https://schwwaaa.net

options:
  -P PROGRAM, --program PROGRAM
                        Name of the effect program to run (e.g. convert, glitch)
  -i INPUT, --input INPUT
                        Input video file - mp4 only
  -o OUTPUT, --output OUTPUT
                        Output file name, no extension. Output will be saved as mp4.
  -F, --force           Force overwrite output file
  -h, --help            Show help message and exit

 👁️ 👇 Additional help for program mode 👇 👁️
usage: videobeaux --program stutter_pro [-h] --stutter STUTTER

Imagine watching a video where random frames are played instead of a smooth progression.

options:
  -h, --help         show this help message and exit
  --stutter STUTTER  Replaces the current video frame with a randomly selected one from the most recent N frames.The larger the value, the larger the variation.

Run the program

videobeaux --program PROGRAM --input INPUT_FILE --output OUTPUT_FILE --args ARGUMENTS

... translates to ...

videobeaux --program stutter_pro -i example.mp4 -o stutter_example.mp4 --stutter 2

Output of the program

       _     _            _
__   _(_) __| | ___  ___ | |__   ___  __ _ _   ___  __
\ \ / / |/ _` |/ _ \/ _ \| '_ \ / _ \/ _` | | | \ \/ /
 \ V /| | (_| |  __/ (_) | |_) |  __/ (_| | |_| |>  <
  \_/ |_|\__,_|\___|\___/|_.__/ \___|\__,_|\__,_/_/\_\


Your friendly multilateral video toolkit built for artists by artists.
https://schwwaaa.net
--------------------------------------------------
Selected program mode: stutter_pro
Input duration: 10.01 seconds
🔨 Processing example.mp4: 100%|██████████████████████████████████████████████████████████ | 10.01/10.01s [00:00<00:00]

📺 Process Complete: stutter_example.mp4

<video controls preload="metadata" style="max-width:100%; border-radius:8px; margin:1em 0;"> <source src="https://github.com/user-attachments/assets/fec22179-8e40-49e5-b591-c9d5fb07e31b" type="video/mp4"> Your browser does not support the video tag. </video>

Running a program to chain process a video

Find out more information about the program

       _     _            _
__   _(_) __| | ___  ___ | |__   ___  __ _ _   ___  __
\ \ / / |/ _` |/ _ \/ _ \| '_ \ / _ \/ _` | | | \ \/ /
 \ V /| | (_| |  __/ (_) | |_) |  __/ (_| | |_| |>  <
  \_/ |_|\__,_|\___|\___/|_.__/ \___|\__,_|\__,_/_/\_\


Your friendly multilateral video toolkit built for artists by artists.
https://schwwaaa.net
--------------------------------------------------
Selected program mode: chain_builder
usage: python3 -m videobeaux.cli --program PROGRAM [global options] [program options]

📺 Your friendly multilateral video toolkit built for artists by artists.
 It's your best friend!
https://schwwaaa.net

options:
  -P PROGRAM, --program PROGRAM
                        Name of the effect program to run (e.g. convert, glitch)
  -i INPUT, --input INPUT
                        Input video file - mp4 only
  -o OUTPUT, --output OUTPUT
                        Output file name, no extension. Output will be saved as mp4.
  -F, --force           Force overwrite output file
  -h, --help            Show help message and exit

 👁️ 👇 Additional help for program mode 👇 👁️
usage: videobeaux --program chain_builder [-h] --chain CHAIN

The output of the first will be used as the input for the next, and so on.
Only supports program modes that do not require their own specific arguments.

options:
  -h, --help     show this help message and exit
  --chain CHAIN  A comma separated list of programs to run.

Run the program

videobeaux --program PROGRAM --input INPUT_FILE --output OUTPUT_FILE --chain CHAIN

... translates to ...

videobeaux --program chain_builder --input example.mp4 --output chainedoutput.mp4 --chain rb_blur,soapblind,lsd_feedback --force

Output of the program

       _     _            _
__   _(_) __| | ___  ___ | |__   ___  __ _ _   ___  __
\ \ / / |/ _` |/ _ \/ _ \| '_ \ / _ \/ _` | | | \ \/ /
 \ V /| | (_| |  __/ (_) | |_) |  __/ (_| | |_| |>  <
  \_/ |_|\__,_|\___|\___/|_.__/ \___|\__,_|\__,_/_/\_\


Your friendly multilateral video toolkit built for artists by artists.
https://schwwaaa.net
--------------------------------------------------
Selected program mode: chain_builder
🔁 Running step 1/3: rb_blur
Input duration: 10.01 seconds
🔨 Processing example.mp4: 100%|██████████████████████████████████████████████████████ | 10.01/10.01s [00:00<00:00]

📺 Process Complete: /var/folders/jv/lp20pdtn4jsgjpxw710m0vkm0000gn/T/videobeaux_chain_z7ixo5cs/step_0_rb_blur.mp4

🔁 Running step 2/3: soapblind
Input duration: 10.03 seconds
🔨 Processing step_0_rb_blur.mp4: 100%|███████████████████████████████████████████████ | 10.03/10.03s [00:46<00:00]

📺 Process Complete: /var/folders/jv/lp20pdtn4jsgjpxw710m0vkm0000gn/T/videobeaux_chain_z7ixo5cs/step_1_soapblind.mp4

🔁 Running step 3/3: lsd_feedback
Input duration: 10.03 seconds
🔨 Processing step_1_soapblind.mp4: 100%|█████████████████████████████████████████████ | 10.03/10.03s [00:03<00:00]

📺 Process Complete: /var/folders/jv/lp20pdtn4jsgjpxw710m0vkm0000gn/T/videobeaux_chain_z7ixo5cs/step_2_lsd_feedback.mp4

✅ Final output written to chainedoutput.mp4

<video controls preload="metadata" style="max-width:100%; border-radius:8px; margin:1em 0;"> <source src="https://github.com/user-attachments/assets/ac321c77-4757-4846-b838-6847472e7e09" type="video/mp4"> Your browser does not support the video tag. </video>

Start Here

Basic Examples

Example #1

Usage

videobeaux --program PROGRAM --input INPUT_FILE --output OUTPUT_FILE

Practical

videobeaux \
--program bad_predator \
--input example.mp4 \
--output example_bp.mp4

Output

<video controls width="50%"> <source src="https://github.com/user-attachments/assets/fe45aa80-9878-4d15-bc64-87dd25071855" type="video/mp4"> </video>

Example #2

Usage

videobeaux --program PROGRAM --input INPUT_FILE --output OUTPUT_FILE --args ARGUMENTS

Practical

videobeaux \
--program stutter_pro \
-i example.mp4 \
-o stutter_example.mp4 \
--stutter 2

Output

<video controls width="50%"> <source src="https://github.com/user-attachments/assets/fec22179-8e40-49e5-b591-c9d5fb07e31b" type="video/mp4"> </video>

Example #3

Usage

videobeaux --program PROGRAM --input INPUT_FILE --output OUTPUT_FILE --chain CHAIN

Practical

videobeaux \
--program chain_builder \
--input example.mp4 \
--output chainedoutput.mp4 \
--chain rb_blur,soapblind,lsd_feedback \
--force

Output

<video controls width="50%"> <source src="https://github.com/user-attachments/assets/ac321c77-4757-4846-b838-6847472e7e09" type="video/mp4"> </video>

Start Here

All Programs

Effects

| Program | Description | Arguments | | -------- | ------- | ------- | | bad_animation | Apply a bad animation effect | - | | bad_contrast | Apply a bad constrast effect | - | | ball_point_pen | Apply a ball point pen style effect | - | | blur_pix | Extracting the silence out of a video file | - | | bad_predator | Apply bad Predator heat vision effect | - | | crossmosh | A controlled datamoshing engine that manipulates motion vectors and frame order to create stylized glitch-drift distortions | b_input, outfile, codec, qscale, gop, keep_temp, mode, frames, decay, blend | | digital_boss | Apply busted gameboy style digital boss effect | - | | double_cup | Apply the effect of purple drank | - | | frame_delay_pro1 | Apply frame delay effect with parameter input | frame_quantity, frame_weights | | frame_delay_pro2 | Apply frame delay effect with parameter input | decay, plane | | ghostee | Apply a slight ghost effect | - | | lagkage | A JSON-driven multilayer video compositor that stacks, positions, resizes, and mixes multiple media sources into one unified output | layout_json, sequence_direction, audio_mode, audio_src | | looper_pro | Apply video looper effect base on frame size & start frame | - | | lsd_feedback | Apply LSD-like frame delay effect | - | | mince | A fast, lossless segment-extractor and concatenator that slices videos into parts and recombines them with precision | mode, seed, engine, normalize, size, fit, fps, pixfmt, ar, ac, norm_vcodec, norm_crf, norm_preset, vcodec, acodec, crf, preset, faststart, fallback_reencode, decode_tolerant, hard_trim | | mirror_delay | Apply a frame delay plus a mirrored effect | - | | nostalgic_stutter | Apply frame stutter akin to a corrupted file | - | | overexposed_stutter | Apply a frame stutter and exposing the video like the- | file is corrupted | - | | overlay_img_pro | Overlay an image with location & dimension control | overlay_img, x_pos, y_pos, img_height, img_width | | pickle_juice | Apply filter like the video was dipped in pickle juice | - | | recalled_sensor | Apply filter like a sensor was broken and to-be recalled |- | | repainting | Apply filter like repainting the same image while smudged with- | alcohol |- | | resize | Resizing the dimensions of a video file | new_height, new_width | | reverse | Reverse video file | - | | scrolling_pro | Apply video scrolling effect with definable parameters | horiz_speed, vert_speed | | scrolling | Apply static video scrolling effect | - | | septic | Apply filter like a person in septic shock | - | | slight_smear | Slightly smearing RGB color space | - | | smudge | Smudging image slightly | - | | soapblind | Apply filter like soap blinded eyes | - | | speed | Change the video and audio speed of a file | speed_factor | | splitting | A simple segmentation utility that divides a video into evenly timed chunks or scene-based fragments for modular editing | - | | splitting_pro | Precise segmentation tool that slices a source video into reusable chunks based on time, count, or scene-style rules for downstream editing and recombination. | width, position | | stack_2x | Stack 2 videos on top of each other keeping the original- | orientation | input2 | | steel_wash | Apply steel blue filter to video | - | | stutter_pro | Apply frame stutter effect with definable parameters | stutter | | t1000 | Apply filter from the perspective of liquid T-1000 | - | | twociz | Apply filter from the perspective of a zombie on TC-1 hallucinogens | - | | wbflare | Apply filter with a blown out white-balance flare | - | | zapruder | Apply zapruder-film like effect | - | | xrgb | Extreme RGB adjustment | - |

Utilities

Program Description Arguments
captburn Burns subtitles, captions, or transcript text directly into the video with precise styling, timing, and layout control caption, style, rollup_lines, words_per_line, font, font_size, bold, italic, primary, outline, outline_width, shadow, back, back_opacity, scale_x, scale_y, spacing, rotate, margin_l, margin_r, margin_v, align, border_style, x, y, move, vcodec, crf, preset
chain_builder Assembles a sequence of videobeaux program steps into a single automated workflow, chaining multiple transformations into one output chain
convert Simple video file convert -
convert_dims Video file dimensions converter based on industry standards -
convert_mux Rewraps or converts media streams while copying or re-encoding video/audio, ideal for fixing containers, codecs, or sync issues. format, profile, vcodec, acodec, crf, bitrate, maxrate, bufsize, preset, profile_v, level, pix_fmt, gop, r, vf, tagv, abitrate, ac, ar, copy
download_yt Video ripper -
extract_frames Extract individuals frames from a video file as PNGs -
extract_sound Extract audio from video file -
frame_interpolate Generates smooth slow-motion or higher-FPS video by creating intermediate frames using motion-compensated interpolation outfile, engine, fps, multiplier, mi_mode, me_mode, mc_mode, vsbmc, scd, x264_preset, crf, copy_audio, rife_bin, dain_bin
gamma_fix Normalizes gamma, brightness, and exposure levels for broadcast-safe or web-safe consistency across diverse footage target_yavg, min_contrast, max_contrast, gamma, sat, legalize, vcodec, crf, preset, acodec, ab
hash_fingerprint Creates unique perceptual or checksum-style fingerprints of a video for identification, comparison, or deduplication recursive, exts, file_hashes, stream_hash, framemd5, phash, phash_fps, phash_size, catalog, stream_kind
lut_apply Applies a 3D or 1D LUT file to recolor a video, enabling film-style grading, color transforms, or creative look development outfile, vcodec, lut, interp, intensity, brightness, contrast, saturation, gamma, pix_fmt, x264_preset, crf, copy_audio
meta_extraction Extracts detailed metadata—including codecs, bitrates, dimensions, color info, and stream structure—from any media file outputfile, sample_frames, sample_stride, sample_limit, blackdetect, black_pic_th, black_dur_min, loudness
num_edits Analyzes a timeline or cut structure to count edits, transitions, or shot boundaries for editorial statistics or QC count
qwikchop Rapidly slices videos into precise segments based on timecodes or cut lists, optimized for speed and batch operations pieces, recurse, keep_temp, trim_black_front, black_scan, black_thresh, black_pict, edge_pad_pre, edge_pad_post, min_edit
silence_extraction Extracting the silence out of a video file min_d, max_d, adjuster
subs_convert Converts subtitle files between formats (e.g., SRT, VTT, ASS), preserving timing, text, and style metadata list, indexes, langs, all, forced_only, exclude_hi, format, outdir, outputfile, time_shift
thumbs Generates thumbnails or contact sheets by sampling frames at chosen intervals for previews, galleries, or QC review fps, scene, scene_threshold, tile, scale, timestamps, label, fontfile, bg, margin, padding, outdir, outputfile, image_format, jpeg_quality
tonemap_hdr_sdr Converts HDR footage (PQ/HLG) to SDR using tunable tonemapping curves, preserving highlight detail and color accuracy outfile, algo, desat, peak, dither, pix_fmt, x264_preset, crf, copy_audio
transraibe AI-based transcription tool stt_model
watermark Applies image or text watermarks onto video with configurable positioning, scaling, opacity, and blend style watermark, placement, margin, scale, opacity, spin, start, end, wm_loop, ignore_loop, video_crf, video_preset
wipe_transitions Creates directional wipe transitions between clips using customizable timing, edge softness, and motion orientation input1, input2, output_format, preset, duration, offset
Effect

bad_animation

Description

Applies a “bad animation” effect to the input video — producing jittery, uneven, low-frame-feeling, or intentionally crude animated motion.
This effect simulates broken or poorly interpolated animation, often seen in retro cartoons, limited-animation TV shows, or stylized glitch art.

Purpose

bad_animation is designed for artists who want to:

  • degrade motion intentionally,
  • create choppy, low-fidelity animated movement,
  • mimic missing-frame aesthetics,
  • produce a stylized “hand-made” or “broken pipeline” feel,
  • add a lo-fi or experimental animation quality to footage.

How It Works

  1. Frame Manipulation
    Frames may be dropped, unevenly held, or reused to break smooth motion.
  2. Temporal Distortion
    Motion cadence is intentionally disrupted to create jitter or uneven pacing.
  3. Filtering
    The module may use global FFmpeg filter chains (as configured in Videobeaux) to generate texture, flicker, or stutter artifacts.
  4. Encoding
    Output is written using global Videobeaux encoding settings (CRF, codec, pixel format, preset, etc.).

Program Template

videobeaux -P bad_animation \
  -i input.mp4 \
  -o output.mp4

Arguments

  • (No additional program-specific arguments; uses global videobeaux options only.)

Real World Example

videobeaux -P bad_animation \
  -i myvideo.mp4 \
  -o bad_animation_styled.mp4

Program Output

<video controls preload="metadata" style="max-width:100%; border-radius:8px; margin:1em 0;"> <source src="https://github.com/user-attachments/assets/1fa8de04-98ef-49f7-9415-616e07210f0e" type="video/mp4"> Your browser does not support the video tag. </video>

Technical Notes

  • The exact effect depends on Videobeaux global filter configuration and output codec settings.
  • Since this effect manipulates cadence, final output FPS may differ from perceived motion.
  • Best used on footage where stylized motion degradation is desirable.
  • The module performs processing only on video; audio behavior follows global Videobeaux standards.
  • Music videos, experimental film, and stylized animation.
  • Retro cartoon emulation or low-budget limited-animation effects.
  • Distortion-based visual art, glitchworks, or datamosh-adjacent styles.
  • Creating intentionally flawed animated loops.

Quality Tips

  • Pair with frame_interpolate (ironically) to contrast smooth vs broken motion.
  • Use higher CRF values if you want even more degradation in compression.
  • Combine with gamma_fix, lut_apply, or convert_dims for multi-stage stylization chains.
  • Consider using chain_builder to apply bad_animation early in a larger creative pipeline.
Effect

bad_contrast

Description

Applies a “bad contrast” visual effect to the video, intentionally degrading tonal balance, highlight rolloff, shadow separation, and midtone neutrality.
The result simulates low-quality analog transfers, misconfigured broadcast equipment, degraded VHS dubs, or broken grading pipelines.

Purpose

bad_contrast exists as a lightweight, stylized degradation tool for artists who want to:

  • introduce tonal instability or harsh contrast,
  • mimic analog-era video duplication artifacts,
  • add mood through blown-out highlights or crushed shadows,
  • create an intentionally incorrect exposure/contrast aesthetic,
  • emphasize “bad video” texture in music videos, glitch art, or experimental film.

How It Works

  1. Contrast Manipulation
    The module applies an internally defined filter chain that exaggerates or distorts normal contrast response.
  2. Highlight / Shadow Distortion
    Highlights may appear clipped or harsh; shadows may compress or posterize.
  3. Midtone Bias
    The effect may introduce incorrect gamma or uneven tonal mapping to create a “broken” look.
  4. Encoding
    Final output uses global Videobeaux codec, pixel format, and CRF settings.

Program Template

videobeaux -P bad_contrast \
  -i input.mp4 \
  -o output.mp4

Arguments

  • (No additional program-specific arguments; uses global videobeaux options only.)

Real World Example

videobeaux -P bad_contrast \
  -i myvideo.mp4 \
  -o bad_contrast_styled.mp4

Program Output

<video controls preload="metadata" style="max-width:100%; border-radius:8px; margin:1em 0;"> <source src="https://github.com/schwwaaa/videobeaux/assets/7625379/9ba59b08-79a8-4a09-8b18-c0fe90a6c5e2" type="video/mp4"> Your browser does not support the video tag. </video>

Technical Notes

  • The exact look depends partly on global Videobeaux encoding settings.
  • Output may exhibit blown-out whites, crushed blacks, or tonal banding.
  • Not intended for corrective workflows — this is a purely stylistic degradation.
  • Works particularly well on motion-heavy or color-rich footage.
  • As with all destructive effects, applying bad_contrast early in a pipeline will influence all later operations.
  • Broken-TV or analog-digital hybrid aesthetics.
  • Glitch art, experimental cinema, and abstract video installations.
  • Distressing otherwise clean digital footage.
  • Music videos seeking stylized degradation.
  • As an “imperfection layer” paired with other Videobeaux modules (e.g., bad_animation, hash_fingerprint).

Quality Tips

  • Apply at the end of a chain to maximize visible distortion.
  • Pair with lower CRF values if you want compression artifacts to interact with tonal distortion.
  • Use on footage with clear highlight/shadow separation for the strongest effect.
  • Combine with LUTs or lut_apply to push contrast into more extreme color spaces.
  • For a VHS-like aesthetic, consider pairing with bad_contrast + convert_dims (480p or 720hd presets).
Effect

bad_predator

Description

Applies a stylized “bad Predator heat vision” effect to the input video.
This intentionally degraded thermal-vision look mimics the broken or low-budget interpretation of the thermal-view used in the Predator films — surreal color distortion, thermal-like banding, exaggerated edge detection, and unstable gradients.

Purpose

bad_predator is designed for creators who want to:

  • add a faux–heat vision aesthetic,
  • produce psychedelic or thermal-like color distortions,
  • disrupt realism with genre-coded VFX,
  • introduce mood, abstraction, or sci-fi ambience,
  • create an intentionally wrong or glitchy interpretation of cinematic thermal vision.

How It Works

  1. Thermal Color Remapping
    The video is transformed into an artificial temperature-based palette, often with exaggerated reds, blues, greens, and neon ranges.
  2. Edge Boosting & Gradient Distortion
    Edges may “glow,” flatten, or warp, imitating digital thermal sensors or corrupted color channels.
  3. Contrast Folding
    Shadows and highlights are redistributed into stylized color bins rather than natural brightness patterns.
  4. Encoding
    Output is encoded using global Videobeaux settings (codec, CRF, pixel format).

Program Template

videobeaux -P bad_predator \
  -i input.mp4 \
  -o output.mp4

Arguments

  • (No additional program-specific arguments; uses global videobeaux options only.)

Real World Example

videobeaux -P bad_predator \
  -i myvideo.mp4 \
  -o bad_predator_styled.mp4

Program Output

<video controls preload="metadata" style="max-width:100%; border-radius:8px; margin:1em 0;"> <source src="https://github.com/schwwaaa/videobeaux/assets/7625379/0968ad50-cc97-4336-938f-01b47d86a7bd" type="video/mp4"> Your browser does not support the video tag. </video>

Technical Notes

  • The effect is purely stylistic — not physically accurate thermal imaging.
  • Works best on footage with strong silhouettes or motion, where thermal-emulated contrast is most visible.
  • If the global pixel format is set to low bit depth (e.g., 8-bit), banding interacts strongly with the effect, enhancing the “bad thermal” look.
  • Use chain_builder to combine with other stylized processes for multi-layer sci-fi or horror visuals.
  • Music videos, experimental film, and glitch-aesthetic sequences.
  • Sci-fi projects referencing Predator-style heat vision.
  • Stylized surveillance overlays or false-sensor aesthetics.
  • Abstract color grading for live visuals or performance art.

Quality Tips

  • Apply before compression-heavy steps to preserve the color distortions.
  • Combine with bad_contrast, hash_fingerprint, or bad_animation for a fully degraded sensory aesthetic.
  • Use lower CRF values to avoid washing out the neon tonal ranges.
  • Consider pairing with gamma_fix to stabilize midtone visibility before applying the effect.
Effect

ball_point_pen

Description

Applies a ball-point-pen illustration effect to the input video, simulating hand-drawn line textures, monochrome ink shading, and stylized pen-stroke contrast.
The result evokes sketchbook drawings, technical notebook diagrams, or lo-fi comic-style renderings.

Purpose

ball_point_pen is intended for artists who want to:

  • transform footage into a drawn, pen-sketched look,
  • reduce photographic realism while retaining motion,
  • create stylized rotoscope-like results,
  • mimic ink illustrations or doodle-style animation,
  • apply a minimalistic or DIY illustration aesthetic.

How It Works

  1. Edge Extraction
    The effect identifies major contours and turns them into pen-like strokes.
  2. Ink Shading Simulation
    Midtones and shadows are reinterpreted as sparse or dense ink hatching.
  3. Monochrome / Limited Palette Rendering
    The image is reduced to a pen-like tonal range, often high-contrast and desaturated.
  4. Encoding
    The processed frames are written using global Videobeaux output settings (codec, CRF, pixel format).

Program Template

videobeaux -P ball_point_pen \
  -i input.mp4 \
  -o output.mp4

Arguments

  • (No additional program-specific arguments; uses global videobeaux options only.)

Real World Example

videobeaux -P ball_point_pen \
  -i myvideo.mp4 \
  -o ball_point_pen_styled.mp4

Program Output

<video controls preload="metadata" style="max-width:100%; border-radius:8px; margin:1em 0;"> <source src="https://github.com/user-attachments/assets/10e703a5-5036-4c3e-83f6-be04476ad089" type="video/mp4"> Your browser does not support the video tag. </video>

Technical Notes

  • The final aesthetic depends on global pixel format and compression parameters.
  • Works especially well on footage with strong edges, clean lighting, or high motion.
  • Since the process reduces tonal detail, compression artifacts may become more noticeable — sometimes adding to the hand-drawn look.
  • Best results may come from source footage with minimal noise.
  • Rotoscope-style animation sequences.
  • Comic-inspired music videos or narrative interludes.
  • Experimental art filtering where realism is intentionally minimized.
  • Educational or technical visualization with a “diagram” aesthetic.
  • Mixed-media projects combining live-action with hand-drawn elements.

Quality Tips

  • Consider pairing with convert_dims (square formats like 1080×1080) for Instagram-style sketch loops.
  • Use a lower CRF (higher quality) to preserve line fidelity.
  • Pair with gamma_fix or lut_apply before applying the pen effect for clearer edges.
  • Apply final sharpening or embossing in a later step if you want more aggressive pen stroke definition.
  • Rotoscoped motion reads best when frame rate is preserved — avoid additional frame dropping unless stylistically intentional.
Effect

blur_pix

Description

Applies a pixelated blur effect to the input video, producing a blocky, low-resolution softening reminiscent of censored footage, retro 8-bit graphics, or lo-fi compression artifacts.
This effect blends coarse pixelation with smooth blur, creating a stylized, abstracted visual aesthetic.

Purpose

blur_pix is designed for artists who want to:

  • intentionally degrade detail in a stylized way,
  • anonymize or obscure shapes without traditional Gaussian blur,
  • evoke retro-game pixelation,
  • add a surreal soft-block look to motion and texture,
  • produce a hybrid blur–pixelation effect ideal for glitch, collage, or experimental works.

Because the module has no program-specific arguments, it is simple to use and highly compatible with all Videobeaux pipelines.

How It Works

  1. Pixel Block Generation
    The input frame is reduced to coarse pixel clusters using an internal scaling or mosaic-based algorithm.
  2. Softening Pass
    A smoothing filter blends block edges to create a soft, dreamy, broken-resolution aesthetic.
  3. Unified Blur-Pixel Layer
    The combined effect emphasizes abstraction over clarity, often producing painterly motion.
  4. Encoding
    The final output is encoded using global Videobeaux codec settings (CRF, preset, pixel format, etc.).

Program Template

videobeaux -P blur_pix \
  -i input.mp4 \
  -o output.mp4

Arguments

  • (No additional program-specific arguments; uses global videobeaux options only.)

Real World Example

videobeaux -P blur_pix \
  -i myvideo.mp4 \
  -o blur_pix_styled.mp4

Program Output

<video controls preload="metadata" style="max-width:100%; border-radius:8px; margin:1em 0;"> <source src="https://github.com/schwwaaa/videobeaux/assets/7625379/65403294-3e34-4ff8-816a-5de7c80c811d" type="video/mp4"> Your browser does not support the video tag. </video>

Technical Notes

  • Pixelated blur behaves differently from Gaussian or box blur — detail is removed structurally, not just softened.
  • Compression interacts strongly with this effect, sometimes enhancing the aesthetic.
  • Works consistently regardless of resolution, though higher-resolution source footage yields more visible block abstraction.
  • Global Videobeaux settings (CRF, pixel format) can shift how “clean” or “dirty” the blocks appear.
  • Music videos needing stylized abstraction.
  • Identity-obscuring or anonymization with artistic flair.
  • Retro-inspired or video-game-like sequences.
  • Experimental cinema, collage art, and painterly motion effects.
  • Background layers in VJ, projection, or live visual systems.

Quality Tips

  • Lower CRF (higher quality) preserves cleaner block edges.
  • Higher CRF increases compression noise — sometimes desirable for a gritty aesthetic.
  • Pair with hash_fingerprint or bad_contrast to stack analog/digital degradation.
  • Combine with convert_dims (square or portrait presets) for platform-optimized stylized loops.
  • Pre-processing with gamma_fix can improve highlight/midtone visibility inside blocky regions.
Effect

crossmosh

Description

A controlled datamoshing engine that manipulates motion vectors, frame ordering, and predictive compression structures to create stylized glitch-drift distortions.
Unlike chaotic or accidental datamoshing, crossmosh provides intentional control over how macroblocks bleed, drift, smear, or desynchronize across frames.

Purpose

crossmosh is designed for artists who want to:

  • create predictable or semi-controlled datamosh effects,
  • push temporal motion-vector corruption while avoiding full-stream collapse,
  • blend A/B sources for hybrid glitch states,
  • generate drifting smear artifacts characteristic of broken P-frames and missing I-frames,
  • build glitch art sequences without external tools or hand-edited GOP destruction.

It is ideal for music videos, experimental film, VJ loops, and any stylized glitch aesthetic.

How It Works

  1. Input Streams
    Two sources may be involved:
    • primary input via -i
    • secondary / cross-input via --b_input
  2. Predictive Frame Manipulation
    The module alters GOP structure, destroys or delays keyframes, or selectively reuses motion vectors from one stream to infect the other.
  3. Mode-Based Behavior
    --mode defines the style of the mosh:
    • smearing,
    • drift,
    • cross-pollination,
    • decay-driven glitch propagation.
  4. Decay & Blending
    • --decay controls how long corrupted vectors persist.
    • --blend controls how heavily A and B frames influence each other.
  5. GOP / Codec Control
    The choice of codec and GOP size directly impacts artifact shape and stability.

Program Template

videobeaux -P crossmosh \
  -i input.mp4 \
  -o output.mp4 \
  --b_input VALUE \
  --outfile VALUE \
  --codec VALUE \
  --qscale VALUE \
  --gop VALUE \
  --keep_temp VALUE \
  --mode VALUE \
  --frames VALUE \
  --decay VALUE \
  --blend VALUE

Arguments

  • b_input — Optional secondary video input used for cross-mapping and motion-vector grafting.
  • outfile — Output filename created during temporary processing.
  • codec — Codec used for mosh-friendly transcoding (e.g., MPEG-4, H.264 with low keyframe frequency).
  • qscale — Quantizer scale value; lower = cleaner blocks, higher = more chaotic degradation.
  • gop — Keyframe interval. Long GOPs enable long drifting smears; short GOPs reset more frequently.
  • keep_temp — If enabled, preserves intermediate files for debugging or reuse.
  • mode — Defines the moshing behavior (drift, smear, cross-infect, or other available styles).
  • frames — Number of frames to process or extend during the mosh.
  • decay — Controls how motion-vector corruption fades or persists.
  • blend — Controls mixing strength between A and B inputs during crossmosh operations.

Real World Example

videobeaux -P crossmosh \
  -i myvideo.mp4 \
  -o crossmosh_styled.mp4 \
  --b_input EXAMPLE \
  --outfile EXAMPLE \
  --codec EXAMPLE \
  --qscale EXAMPLE \
  --gop EXAMPLE \
  --keep_temp EXAMPLE \
  --mode EXAMPLE \
  --frames EXAMPLE \
  --decay EXAMPLE \
  --blend EXAMPLE

Program Output

Program output video not yet linked.

Technical Notes

  • Datamoshing behavior is extremely sensitive to codec and GOP selection — MPEG-4 with long GOPs typically produces more dramatic artifacts.
  • If using a second input (--b_input), mismatched resolutions may create unpredictable smear patterns.
  • qscale strongly influences macroblock deformation and drift persistence.
  • Temporary files may be required for multi-stage moshing; use --keep_temp to preserve them for debugging.
  • Excessive decay or extreme blending may cause full frame collapse — this can be desirable depending on your aesthetic.
  • Music videos requiring controlled glitch cascades.
  • VJ loops and live visual sets that leverage drifting corruption.
  • Collage work blending two unrelated videos via motion-vector infection.
  • Experimental films exploring digital decay, compression failure, and structural distortion.

Quality Tips

  • Lower qscale (e.g., 2–5) for smoother block smearing; higher (10–20) for chaotic chunking.
  • Longer GOPs (100–300+) produce dramatic streak-based artifacts across many frames.
  • Use blend modestly when incorporating a B-source; too high can obliterate A-source contours.
  • For highly controllable decay, adjust both frames and decay interactively while testing small clips.
  • For sharp outlines within a glitch, pre-process with gamma_fix or lut_apply before moshing.
Effect

digital_boss

Description

Applies a “busted Game Boy–style digital boss” effect to the video — producing harsh bitmap artifacts, limited 8-bit tonal mapping, flicker, false edges, and unstable block transitions reminiscent of corrupted handheld-console graphics.
The effect aims to evoke a glitched, retro, boss-fight visual language.

Purpose

digital_boss is intended for creators who want to:

  • simulate broken handheld-console graphics,
  • add 8-bit or pseudo-Game-Boy stylistic decay,
  • impose limited palettes, blocky edges, or sprite-like motion,
  • create glitchy boss-battle ambience,
  • stylize footage for music videos, live visuals, or retro-digital art.

How It Works

  1. Palette Reduction
    The image is remapped into a restricted tonal palette similar to classic handheld consoles.
  2. Block Artifacting
    Block-based distortions mimic corrupted tiles or unstable frame buffer graphics.
  3. Edge Reinforcement
    Contours are emphasized in a way similar to sprite outlines or tile boundaries.
  4. Temporal Instability
    Slight flicker or jitter introduces the feel of a malfunctioning digital system.
  5. Encoding
    Output uses global Videobeaux encoding settings (codec, CRF, pixel format, presets).

Program Template

videobeaux -P digital_boss \
  -i input.mp4 \
  -o output.mp4

Arguments

  • (No additional program-specific arguments; uses global videobeaux options only.)

Real World Example

videobeaux -P digital_boss \
  -i myvideo.mp4 \
  -o digital_boss_styled.mp4

Program Output

<video controls preload="metadata" style="max-width:100%; border-radius:8px; margin:1em 0;"> <source src="https://github.com/user-attachments/assets/23958066-f384-4801-9d91-5b2df6081a31" type="video/mp4"> Your browser does not support the video tag. </video>

Technical Notes

  • Compression interacts strongly with this effect — higher CRF may enhance the gritty retro look.
  • Because the effect uses hard palette steps, gradients may posterize or flicker dramatically.
  • Best used on footage with strong shapes, characters, or silhouettes.
  • High-motion content will exaggerate jitter and tile instability.
  • Retro boss-fight sequences or video-game-themed edits.
  • Concert visuals or projection loops with digital-grunge aesthetics.
  • Glitch-art animation, collage, and experimental video.
  • Stylized narrative inserts to break realism.
  • Layering with bad_predator, blur_pix, or hash_fingerprint for extreme digital corruption.

Quality Tips

  • Lower CRF (higher quality) preserves cleaner tile boundaries; higher CRF increases noisy decay.
  • Combine with convert_dims to produce Game-Boy-like square aspect ratios.
  • Pre-apply gamma_fix for more even tonal distribution before palette reduction.
  • If the effect feels too clean, pair with bad_animation for extra jitter or cadence disruption.
  • Chain before heavy compression if you want the compression to participate in the aesthetic.
Effect

double_cup

:contentReference[oaicite:1]{index=1}

Description

Applies a syrupy, slowed, woozy audiovisual effect reminiscent of “purple drank” aesthetics.
The look emphasizes heavy color bleeding, slowed-feeling motion, chromatic haze, and a dreamlike viscosity often associated with chopped-and-screwed culture or psychedelic video distortion.

Purpose

double_cup is ideal for creators who want to:

  • introduce trippy, codeine-inspired visual atmosphere,
  • slow or drag the feeling of motion without modifying frame rate,
  • add soft-focus color diffusion with deep purples and magentas,
  • evoke vaporwave, cloud-rap, chopped/screwed, or intoxicated digital moods,
  • distort clarity into a smeared, syrup-soaked texture.

How It Works

  1. Color Drenching
    Highlights and midtones are pushed toward purple, pink, and magenta tones.
  2. Soft Haze / Bloom
    The image takes on a velvety, low-contrast haze that reduces sharp edges.
  3. Viscous Motion Sensation
    Motion may feel slower due to subtle temporal diffusion and blending, even if FPS remains constant.
  4. Contrast Flattening
    Dark areas may lift while bright areas smear into a syrup-glow.
  5. Encoding
    Output is written using global Videobeaux codec and quality settings.

Program Template

videobeaux -P double_cup \
  -i input.mp4 \
  -o output.mp4

Arguments

  • (No additional program-specific arguments; uses global videobeaux options only.)

Real World Example

videobeaux -P double_cup \
  -i myvideo.mp4 \
  -o double_cup_styled.mp4

Program Output

<video controls preload="metadata" style="max-width:100%; border-radius:8px; margin:1em 0;"> <source src="https://github.com/schwwaaa/videobeaux/assets/7625379/83d30a18-40d1-42e4-aff3-dbd50d67a7d1" type="video/mp4"> Your browser does not support the video tag. </video>

Technical Notes

  • The effect pairs best with footage containing midtone gradients or neon lighting.
  • Compression interacts strongly with this aesthetic — higher CRF values intensify smearing and color wash.
  • Strong purples and pinks may clip if global gamma settings are aggressive; consider pre-processing with gamma_fix.
  • Works especially well in music video contexts.
  • Vaporwave, cloud rap, chopped-and-screwed visuals.
  • Psychedelic edits and dream-sequence overlays.
  • Live VJ loops and projection-mapped environments.
  • Mood-setting transitions between high-energy and slow-motion scenes.

Quality Tips

  • Use a lower CRF (higher quality) to retain smooth haze gradients.
  • Combine with blur_pix or bad_contrast for more degraded, syrup-soaked textures.
  • For extreme purple saturation, apply lut_apply with a magenta-heavy LUT before this effect.
  • If the image feels too dark, pair with gamma_fix for lifted midtones before applying double_cup.
Effect

frame_delay_pro1

Description

Applies an advanced frame-delay effect using a customizable number of delayed frames and weighted blending.
This produces echoing motion trails, temporal smearing, ghosted motion artifacts, and stylized feedback-like delay effects.

Purpose

frame_delay_pro1 is designed for creators who want:

  • multi-frame echo trails,
  • weighted motion smears,
  • ghosting and afterimage effects,
  • rhythmic temporal pulses,
  • experimental or abstract motion distortion.

How It Works

  1. Frame Buffering
    A buffer of past frames is maintained according to frame_quantity.
  2. Weighted Blending
    frame_weights determines how strongly each delayed frame contributes to the output.
    • Higher weights = stronger visibility
    • Lower weights = subtle fading trails
  3. Temporal Synthesis
    The module blends the weighted frames to create:
    • motion smears
    • streaking
    • ghost trails
    • rhythmic pulses resembling analog video feedback
  4. Encoding
    Output is written using global Videobeaux settings (codec, CRF, pixel format).

Program Template

videobeaux -P frame_delay_pro1 \
  -i input.mp4 \
  -o output.mp4 \
  --frame_quantity VALUE \
  --frame_weights VALUE

Arguments

  • frame_quantity — Number of delayed frames to include in the temporal buffer. Larger values produce longer trails or more complex smears.
  • frame_weights — Comma-separated list of blend weights (e.g., 1,0.8,0.5,0.2).
    The number of weights should match frame_quantity, and values determine the intensity of each delay layer.

Real World Example

videobeaux -P frame_delay_pro1 \
  -i myvideo.mp4 \
  -o frame_delay_pro1_styled.mp4 \
  --frame_quantity EXAMPLE \
  --frame_weights EXAMPLE

Program Output

<video controls preload="metadata" style="max-width:100%; border-radius:8px; margin:1em 0;"> <source src="https://github.com/schwwaaa/videobeaux/assets/7625379/871ccdb9-ae2b-46e1-8b0f-0514eb92e1aa" type="video/mp4"> Your browser does not support the video tag. </video>

<video controls preload="metadata" style="max-width:100%; border-radius:8px; margin:1em 0;"> <source src="https://github.com/schwwaaa/videobeaux/assets/7625379/0a727474-25cf-42ab-a717-583e12b4a04d" type="video/mp4"> Your browser does not support the video tag. </video>

<video controls preload="metadata" style="max-width:100%; border-radius:8px; margin:1em 0;"> <source src="https://github.com/schwwaaa/videobeaux/assets/7625379/5ab60f24-b4e2-4e0e-abc0-cfab62e09cda" type="video/mp4"> Your browser does not support the video tag. </video>

Technical Notes

  • Weight values can exceed 1.0 for extreme ghosting or bloom-like smearing.
  • Uneven or irregular weight lists produce unpredictable but interesting temporal textures.
  • Using very high frame_quantity may increase render time depending on resolution and codec.
  • Works exceptionally well on footage with fast motion, strobing lights, or repetitive movement patterns.
  • Music video trails and rhythmic pulse effects.
  • Rotoscoped animations requiring smeared or echoed movement.
  • Live VJ feedback systems and performance visuals.
  • Psychedelic edits and temporal collage art.
  • Slow-motion sequences where motion trails add emotional or surreal tone.

Quality Tips

  • Normalize weights so the sum stays below ~2.0 if you want clean blending without clipping.
  • Use descending weights (e.g., 1,0.8,0.6,0.4) for smooth decays.
  • Use chaotic weights (e.g., 1,0,1,0.2) for glitchy motion inconsistencies.
  • Combine with double_cup or bad_animation for hallucination-like layered visuals.
  • Pair with a clean source and low CRF to preserve subtle trail gradations.
Effect

frame_delay_pro2

Description

Applies an advanced analytical frame-delay effect that shifts image planes (luma/chroma) independently while applying temporal decay.
This creates ghost trails, chromatic drifts, smeared movement, and layered motion persistence that evolves across time.

Purpose

frame_delay_pro2 is for creators seeking:

  • stylized multi-layer temporal drift,
  • independent per-plane delay effects,
  • psychedelic color smearing,
  • glitchy ghost-motion artifacts,
  • experimental video feedback behaviors.

How It Works

  1. Plane Selection (--plane)
    The effect can target:
    • luma only,
    • chroma channels only,
    • or all combined planes depending on implementation.
  2. Temporal Decay (--decay)
    The decay parameter controls how strongly old frames persist:
    • Higher decay → longer, more persistent trails
    • Lower decay → quick falloff and lighter ghosting
  3. Frame Buffering
    Past frames are stored and blended forward according to decay rules.
  4. Encoding
    Final output is encoded via global Videobeaux settings (codec, CRF, pixel format).

Program Template

videobeaux -P frame_delay_pro2 \
  -i input.mp4 \
  -o output.mp4 \
  --decay VALUE \
  --plane VALUE

Arguments

  • decay — Controls the strength and longevity of the delay trail. Higher values produce smearier, more persistent echoes.
  • plane — Defines which image plane(s) the delay is applied to (e.g., luma, chroma, or combined modes depending on implementation).

Real World Example

videobeaux -P frame_delay_pro2 \
  -i myvideo.mp4 \
  -o frame_delay_pro2_styled.mp4 \
  --decay EXAMPLE \
  --plane EXAMPLE

Program Output

<video controls preload="metadata" style="max-width:100%; border-radius:8px; margin:1em 0;"> <source src="https://github.com/schwwaaa/videobeaux/assets/7625379/a88284bc-ca7e-4355-8f95-377434c61d13" type="video/mp4"> Your browser does not support the video tag. </video>

<video controls preload="metadata" style="max-width:100%; border-radius:8px; margin:1em 0;"> <source src="https://github.com/schwwaaa/videobeaux/assets/7625379/acf571e7-7162-413f-80f8-769815093267" type="video/mp4"> Your browser does not support the video tag. </video>

<video controls preload="metadata" style="max-width:100%; border-radius:8px; margin:1em 0;"> <source src="https://github.com/schwwaaa/videobeaux/assets/7625379/f717d419-687b-4cc3-ac07-64f45c763531" type="video/mp4"> Your browser does not support the video tag. </video>

Technical Notes

  • Applying delay to chroma only creates psychedelic color trails while keeping shapes sharp.
  • Applying delay to luma creates ghost silhouettes without heavy color bleeding.
  • Large decay values can produce painterly smear effects resembling long-exposure photography.
  • Interaction with compression can intensify chromatic distortion.
  • Works well with footage involving movement, light streaks, neon scenes, or high-contrast subjects.
  • Music videos needing rhythmic or drifting trail effects.
  • Abstract animations or temporal collage art.
  • Footage where separating luma and chroma drift enhances surrealism.
  • Layered VJ compositions and live performance visuals.
  • Slow, ambient sequences that benefit from temporal echo.

Quality Tips

  • For strong color-drift effects, use plane=chroma with moderate decay.
  • For ghost silhouettes, use plane=luma with high decay.
  • For clean results, keep CRF low; for gritty smear artifacts, use higher CRF.
  • Combine with frame_delay_pro1 for multi-layer delay stacks.
  • Chain before heavy color grading if you want grading to affect the echoed trails.
Effect

ghostee

Description

Applies a soft, subtle ghosting effect to the video by blending frames over time.
This creates a trailing, dreamy afterimage that lightly smears motion and adds a supernatural or ethereal visual mood.

Purpose

ghostee is designed for artists who want:

  • a gentle afterimage effect instead of heavy motion smearing,
  • soft motion trails without strong distortion,
  • a dreamy, floating, or spectral visual tone,
  • an atmospheric layer for music videos and ambient visuals,
  • a minimal, elegant ghost effect that doesn’t overwhelm the footage.

How It Works

  1. Frame Blending
    Consecutive frames are blended with diminishing influence, producing a light optical-ghost effect.
  2. Subtle Persistence
    Motion appears to leave a soft residue rather than a strong smear or echo.
  3. Minimal Contrast Disruption
    Highlights, shadows, and midtones maintain structure—only motion is affected.
  4. Encoding
    Output uses global Videobeaux codec settings (CRF, pixel format, preset).

Program Template

videobeaux -P ghostee \
  -i input.mp4 \
  -o output.mp4

Arguments

  • (No additional program-specific arguments; uses global videobeaux options only.)

Real World Example

videobeaux -P ghostee \
  -i myvideo.mp4 \
  -o ghostee_styled.mp4

Program Output

<video controls preload="metadata" style="max-width:100%; border-radius:8px; margin:1em 0;"> <source src="https://github.com/user-attachments/assets/87c8b569-5165-485d-ae09-7a8bbbe74051" type="video/mp4"> Your browser does not support the video tag. </video>

Technical Notes

  • Produces mild persistence, unlike frame_delay_pro1 or frame_delay_pro2, which provide more extreme temporal manipulation.
  • Works especially well on slow-motion or atmospheric footage.
  • Compression settings influence ghost smoothness—higher CRF may increase noise within the trail.
  • High-motion shots will produce noticeable yet still delicate ghost trails.
  • Dreamlike music videos or ambient visualizers.
  • Supernatural, memory-like, or nostalgic sequences.
  • Layered VJ and projection-mapped installations.
  • Subtle aesthetic enhancement for drone shots or slow pans.
  • Mixing into a visual chain with stronger distortions for hybrid textures.

Quality Tips

  • For smoother trails, lower CRF to reduce compression breakup.
  • Combine with double_cup for syrupy dream visuals.
  • Pair with blur_pix to soften structure while keeping ghost trails intact.
  • For more pronounced trails, run ghostee multiple times or chain with frame_delay_pro1.
  • Use on well-lit footage for cleanest ghost silhouettes.
Effect

lagkage

Description

A JSON-driven multilayer video compositor that stacks, positions, resizes, mixes, sequences, and animates multiple media layers into a single rendered output.
lagkage is the most powerful structural tool in Videobeaux, allowing complex collage-based edits without touching an editor timeline.

Purpose

lagkage is designed for creators who want to:

  • Build multi-layer compositions through JSON instead of a traditional NLE
  • Automate repetitive collage, mosaic, and layout generation
  • Mix videos of different sizes, formats, and aspect ratios
  • Control audio selection, muting, and sequencing
  • Create dense visual stacks for music videos, installations, and VJ systems
  • Generate hundreds of layouts for automated or procedural video art workflows

How It Works

  1. JSON Layout File (--layout_json)
    The layout file describes each layer:
    • filename
    • position (x/y)
    • size or scale
    • opacity
    • z-order
    • type (video, image)
    • audio mute flag
    • mode (free, grid, fit, fill, etc.)
  2. Layer Sequencing (--sequence_direction)
    Defines how layers progress in time:
    • forward
    • reverse
    • other sequence logic depending on layout design
  3. Audio Mode (--audio_mode)
    Controls where final output audio comes from:
    • base → input -i base video's audio
    • all → mix audio from all layers
    • first → only the first layer
    • none → mute output
    • additional modes depending on project configuration
  4. Audio Source Override (--audio_src)
    Allows specifying a custom audio file or one of the layer files as the final mix source.
  5. Compositing & Rendering
    After building filtergraphs, lagkage:
    • aligns layers
    • pads or scales
    • composes them in order
    • applies opacity
    • writes unified audio
    • encodes the final video with global Videobeaux settings

Program Template

videobeaux -P lagkage \
  -i input.mp4 \
  -o output.mp4 \
  --layout_json VALUE \
  --sequence_direction VALUE \
  --audio_mode VALUE \
  --audio_src VALUE

Arguments

  • layout_json — Path to a JSON file describing all layers, sizes, positions, opacities, and behaviors.
  • sequence_direction — Controls temporal ordering of layer playback (e.g., forward, reverse).
  • audio_mode — Defines the audio strategy (base, all, first, none, etc.).
  • audio_src — Optional override for specifying which audio file to use as final output.

Real World Example

videobeaux -P lagkage \
  -i myvideo.mp4 \
  -o lagkage_styled.mp4 \
  --layout_json EXAMPLE \
  --sequence_direction EXAMPLE \
  --audio_mode EXAMPLE \
  --audio_src EXAMPLE

Program Output

Program output video not yet linked.

Technical Notes

  • JSON structure is strict — malformed layouts will cause FFmpeg filtergraph errors.
  • Large numbers of layers may significantly increase render time.
  • Mixed-resolution layers are automatically managed, but explicit sizing in JSON gives better control.
  • Audio mixing behavior varies depending on audio_mode and per-layer mute flags.
  • Layers can be animated if JSON includes frame-range-based or time-based instructions (depending on version).
  • Works extremely well in automated pipelines due to pure declarative structure.
  • Multi-video mosaics, walls, and grids.
  • Dense collage compositions for live visual systems.
  • Automated layout generation tools (e.g., Procedural 30-layout batches).
  • Narrative video art where positioning and scaling shift across cuts.
  • Social-media variants (reels, stories, square layouts) using preset JSON templates.
  • Long-form music videos with high-density sampling or montage.

Quality Tips

  • Keep JSON clean and validated before rendering large batches.
  • Use absolute pixel sizes for precision; use percentages for flexibility.
  • For crisp compositing, pre-normalize all input files using convert_dims or convert.
  • For advanced lighting looks, apply lut_apply to individual layers before compositing in lagkage.
  • For glitch workflows, combine lagkage with moshers (crossmosh, bad_predator, etc.) at layer level.
Effect

looper_pro

Description

Creates a professional looping effect by selecting a region of frames and replaying them in a seamless or stylized loop.
looper_pro allows the user to choose which part of a video becomes a loop, enabling rhythmic repetition, GIF-like behavior, or precisely timed visual cycles.

Purpose

looper_pro is intended for creators who want to:

  • loop a specific segment of a clip cleanly,
  • create infinitely repeating video moments,
  • build rhythmic or hypnotic playback sequences,
  • generate raw loop assets for VJ systems or social loops,
  • prepare seamless animations for montage or collage workflows.

How It Works

  1. Frame Region Selection
    Internally selects frames based on:
    • detected cadence,
    • frame count,
    • optional start and end logic defined by the program version.
  2. Loop Construction
    The selected block is repeated a specified number of cycles or for the full video duration.
  3. Seam Handling
    Basic smoothing or overlap blending may be used to reduce visible jumps at the start/end of each loop (implementation dependent).
  4. Encoding
    Output uses global Videobeaux settings (codec, CRF, pixel format, preset).

Program Template

videobeaux -P looper_pro \
  -i input.mp4 \
  -o output.mp4

Arguments

  • (No additional program-specific arguments; uses global videobeaux options only.)

Real World Example

videobeaux -P looper_pro \
  -i myvideo.mp4 \
  -o looper_pro_styled.mp4

Program Output

<video controls preload="metadata" style="max-width:100%; border-radius:8px; margin:1em 0;"> <source src="https://github.com/schwwaaa/videobeaux/assets/7625379/01090d49-8626-4fc0-b55c-807d100a78fa" type="video/mp4"> Your browser does not support the video tag. </video>

Technical Notes

  • Works best when source footage includes repeating or rhythmic motion.
  • Compression artifacts may accumulate across loop boundaries; use lower CRF if loop clarity is important.
  • Shorter loops feel more “GIF-like,” while longer loops create subtle ambient motion ideal for installations.
  • Loop start point may be governed by internal heuristics or user version behavior.
  • Ambient loops for projection mapping or VJ sets.
  • Social-media loops where infinitely repeating visuals are desirable.
  • Narrative interludes or transitions requiring rhythmic repetition.
  • Motion-design elements for collage compositions or layered Lagkage outputs.

Quality Tips

  • Pre-process with convert_dims for perfectly square or vertical loop assets.
  • Use gamma_fix beforehand to stabilize tonal values across loop boundaries.
  • Pair with double_cup or ghostee for dreamy, flowing loop aesthetics.
  • For a more extreme perturbation, run looper_pro before crossmosh or bad_animation to break the loop structure artistically.
Effect

lsd_feedback

Description

Applies a psychedelic recursive feedback effect inspired by analog video feedback loops and LSD-style visual hallucination.
The effect blends delayed frames into the live frame stream, producing spiraling trails, melting motion, neon echoes, and evolving kaleidoscopic distortions.

Purpose

lsd_feedback is designed for creators who want to:

  • introduce trippy, hallucinogenic motion smearing,
  • simulate analog CRT feedback loops,
  • create spirals, streaks, or self-replicating visual echoes,
  • build evolving feedback tunnels reminiscent of VHS/CRT experiments,
  • produce psychedelic or surreal video art without patching hardware feedback systems.

How It Works

  1. Frame Recursion
    A portion of each delayed frame is reinjected back into the live image, similar to pointing a camera at a monitor.
  2. Temporal Drift
    Past frames influence future frames with increasing distortion as the effect accumulates.
  3. Color Expansion
    Depending on implementation, colors may bloom or smear into neon gradients.
  4. Motion Hallucination
    The viewer perceives warped, melting, or pulsating motion as feedback compounds over time.
  5. Encoding
    Output is written using global Videobeaux settings (codec, pixel format, CRF).

Program Template

videobeaux -P lsd_feedback -i input.mp4 -o output.mp4

Arguments

  • (No additional program-specific arguments; uses global videobeaux options only.)

Real World Example

videobeaux -P lsd_feedback \
  -i myvideo.mp4 \
  -o lsd_feedback_styled.mp4

Program Output

<video controls preload="metadata" style="max-width:100%; border-radius:8px; margin:1em 0;"> <source src="https://github.com/schwwaaa/videobeaux/assets/7625379/9653929c-30ad-4c72-81c8-e3777c590783" type="video/mp4"> Your browser does not support the video tag. </video>

Technical Notes

  • Feedback strength increases over time, making long clips more intense than short ones.
  • Works especially well with neon lighting, strong edges, and symmetrical compositions.
  • Compression interacts with feedback recursion — higher CRF values may create chaotic noise patterns.
  • Because feedback accumulates, even subtle parameter changes (in underlying implementation) can produce drastically different visuals.
  • Psychedelic music videos, rave visuals, and festival projections.
  • VJ loops with evolving feedback tunnels.
  • Experimental films exploring self-referential distortion.
  • Visualizers for ambient, drone, or improvisational electronic music.
  • Motion graphics sequences requiring surreal deformation.

Quality Tips

  • For smoother feedback gradients, use lower CRF (higher quality).
  • For chaotic glitch spirals, render at higher CRF or degrade using bad_contrast afterward.
  • Combine with frame_delay_pro1 or frame_delay_pro2 to produce layered temporal echoes.
  • Pre-process with convert_dims to square formats (e.g., 1080×1080) for symmetrical feedback structures.
  • Pair with double_cup or ghostee for dreamlike, syrupy hallucination trails.
Effect

mince

Description

A fast, precise segment extractor and reassembler that slices video into parts and recombines them with frame accuracy.
mince can cut, shuffle, normalize, re-encode, or stitch segments while preserving sync, enabling procedural editing, glitch slicing, and automated timeline reconstruction.

Purpose

mince is designed for creators who want to:

  • cut videos into segments deterministically or randomly,
  • shuffle or rearrange cuts with predictable results,
  • normalize segment formats for consistent downstream processing,
  • create procedural micro-edits, stutters, or rhythmic staccato patterns,
  • apply glitch, jump-cut, or timeline–reconstruction workflows at scale,
  • extract or trim clips with high accuracy while choosing how to re-encode.

How It Works

  1. Mode Selection (--mode)
    Defines how segments are generated or chosen:
    • deterministic slicing,
    • random slicing controlled by seed,
    • engine-based segmentation strategies.
  2. Randomization (--seed)
    Ensures reproducibility of shuffled or randomized edits.
  3. Engine (--engine)
    Different engines may determine how cuts are generated (e.g., time-based, detection-based, algorithmic).
  4. Normalization (--normalize + related options)
    If enabled, each segment is re-encoded using:
    • norm_vcodec
    • norm_crf
    • norm_preset
      ensuring consistent dimensions, codecs, and quality levels.
  5. Reconstruction
    Segments are concatenated in the final order (based on engine or mode).
  6. Output Encoding
    After assembly, the final output is encoded using user-selected codecs, presets, and flags.

Program Template

videobeaux -P mince \
  -i input.mp4 \
  -o output.mp4 \
  --mode VALUE \
  --seed VALUE \
  --engine VALUE \
  --normalize VALUE \
  --size VALUE \
  --fit VALUE \
  --fps VALUE \
  --pixfmt VALUE \
  --ar VALUE \
  --ac VALUE \
  --norm_vcodec VALUE \
  --norm_crf VALUE \
  --norm_preset VALUE \
  --vcodec VALUE \
  --acodec VALUE \
  --crf VALUE \
  --preset VALUE \
  --faststart VALUE \
  --fallback_reencode VALUE \
  --decode_tolerant VALUE \
  --hard_trim VALUE

Arguments

  • mode — Defines slicing/assembly logic (deterministic, random, pattern-based).
  • seed — Ensures reproducible random operations.
  • engine — Selects segmentation strategy.
  • normalize — Enables re-encoding of each segment for consistency.
  • size — Target resolution for normalized clips.
  • fit — Fit behavior for scaling (e.g., pad, fill, stretch).
  • fps — Override frame rate during normalization.
  • pixfmt — Pixel format used in normalized output.
  • ar — Audio sample rate.
  • ac — Number of audio channels.
  • norm_vcodec — Video codec for normalization step.
  • norm_crf — CRF quality for normalized clips.
  • norm_preset — Encoding speed for normalization.
  • vcodec — Codec for final output render.
  • acodec — Audio codec for final output.
  • crf — CRF for final encoding quality.
  • preset — Encoding speed for final output.
  • faststart — Enables MP4 faststart flag when applicable.
  • fallback_reencode — Re-encode segments if passthrough fails.
  • decode_tolerant — Allow lenient decoding of problematic segments.
  • hard_trim — Enforce exact cut boundaries rather than safe cutting.

Real World Example

videobeaux -P mince \
  -i myvideo.mp4 \
  -o mince_styled.mp4 \
  --mode EXAMPLE \
  --seed EXAMPLE \
  --engine EXAMPLE \
  --normalize EXAMPLE \
  --size EXAMPLE \
  --fit EXAMPLE \
  --fps EXAMPLE \
  --pixfmt EXAMPLE \
  --ar EXAMPLE \
  --ac EXAMPLE \
  --norm_vcodec EXAMPLE \
  --norm_crf EXAMPLE \
  --norm_preset EXAMPLE \
  --vcodec EXAMPLE \
  --acodec EXAMPLE \
  --crf EXAMPLE \
  --preset EXAMPLE \
  --faststart EXAMPLE \
  --fallback_reencode EXAMPLE \
  --decode_tolerant EXAMPLE \
  --hard_trim EXAMPLE

Program Output

Program output video not yet linked.

Technical Notes

  • mince can create either chaotic glitch edits or clean, broadcast-ready trims depending on parameters.
  • Normalization ensures all segments share identical codec and dimensions, avoiding concat failures.
  • Engines may behave differently depending on content—some may be time-based, others content-aware.
  • Overusing hard trimming may create audio pops or stray frames depending on source structure.
  • fallback_reencode prevents pipeline breaks when encountering incompatible segments.
  • Procedural micro-edits for music videos.
  • Rapid stutter-cut effects.
  • Timeline reordering and random jump edits.
  • Creating equal-length slices for collage systems like Lagkage.
  • Extracting reusable clip banks in normalized formats.

Quality Tips

  • Use a consistent norm_vcodec + norm_crf to avoid codec mismatch in concat operations.
  • For heavy glitch aesthetics, set high randomness with a fixed seed to remain reproducible.
  • For broadcast-safe trimming, disable randomness and use exact timing with hard_trim.
  • Lower CRF and high-quality presets yield smoother normalized segments for recomposition.
  • Use decode_tolerant when working with damaged or odd-format inputs.
Effect

mirror_delay

Description

Applies a mirrored frame-delay effect, blending temporal echoes with reflective symmetry.
The result combines soft motion trailing with a mirrored duplication of the frame, creating hypnotic, kaleidoscopic, or hall-of-mirrors–style distortion.

Purpose

mirror_delay is ideal for artists who want:

  • reflective, symmetrical echo patterns,
  • hypnotic mirrored smearing,
  • abstract duplication of movement,
  • dreamy motion persistence combined with geometric balance,
  • a lightweight but visually striking temporal effect.

How It Works

  1. Frame Delay
    Internal buffering creates a trailing echo that blends previous frames into the current one.
  2. Geometric Mirroring
    The image is mirrored horizontally, vertically, or both (depending on implementation), creating:
    • bilateral symmetry,
    • twin-image structures,
    • kaleidoscopic reflections.
  3. Temporal + Spatial Fusion
    The mirrored image and the delayed frame blend together, producing surreal flowing reflections.
  4. Encoding
    The final composite is encoded with global Videobeaux settings (CRF, codec, pixel format).

Program Template

videobeaux -P mirror_delay \
  -i input.mp4 \
  -o output.mp4

Arguments

  • (No additional program-specific arguments; uses global videobeaux options only.)

Real World Example

videobeaux -P mirror_delay \
  -i myvideo.mp4 \
  -o mirror_delay_styled.mp4

Program Output

<video controls preload="metadata" style="max-width:100%; border-radius:8px; margin:1em 0;"> <source src="https://github.com/schwwaaa/videobeaux/assets/7625379/a3dea5c6-03a6-4f65-951d-211f50457b63" type="video/mp4"> Your browser does not support the video tag. </video>

Technical Notes

  • Works well with centered subjects or footage containing strong motion vectors.
  • Mirroring combined with delay often creates geometric rhythm or pulse-like visual structure.
  • Compression artifacts can become symmetrical as well, adding to the aesthetic.
  • Bright edges and neon lights produce the most pronounced mirror-delay trails.
  • Music videos with mirrored choreography or symmetrical staging.
  • Psychedelic pieces needing a dreamlike reflective effect.
  • Ambient loops and visualizations requiring geometric repetition.
  • Projection-mapping and VJ sets where mirrored imagery reacts well to space.
  • Combining with frame_delay_pro1 or lsd_feedback for layered temporal abstraction.

Quality Tips

  • For smoother trails, lower CRF (higher quality).
  • For glitchier mirrored buildup, render with a higher CRF.
  • Pair with convert_dims to square or portrait layouts for perfect symmetry.
  • Combine with ghostee for soft spectral reflection trails.
  • Run before a LUT (lut_apply) if you want the color grade to affect both halves identically.
Effect

nostalgic_stutter

Description

Applies a retro, analog-inspired frame-stutter effect reminiscent of corrupted home movies, aging videotape playback, or dropped-frame digital artifacts.
nostalgic_stutter intentionally disrupts cadence to evoke glitchy playback, uneven frame advancement, or mechanical jitter from vintage camcorders.

Purpose

nostalgic_stutter is designed for creators who want to:

  • recreate the feel of deteriorating VHS or Hi8 footage,
  • add jittery temporal artifacts to modern footage,
  • evoke “memory footage” aesthetics,
  • simulate dropped frames or unstable playback,
  • build nostalgic glitch energy into cuts, transitions, or loops.

How It Works

  1. Cadence Disruption
    The module duplicates, skips, or replays frames to break smooth motion.
  2. Irregular Frame Rhythm
    The visual tempo becomes unpredictable, simulating:
    • dropped frames,
    • slight temporal hiccups,
    • uneven tape playback.
  3. Analog Wear Simulation
    Visual timing irregularities mimic mechanical imperfections in older recording hardware.
  4. Encoding
    Output is written using global Videobeaux codec and quality settings.

Program Template

videobeaux -P nostalgic_stutter \
  -i input.mp4 \
  -o output.mp4

Arguments

  • (No additional program-specific arguments; uses global videobeaux options only.)

Real World Example

videobeaux -P nostalgic_stutter \
  -i myvideo.mp4 \
  -o nostalgic_stutter_styled.mp4

Program Output

<video controls preload="metadata" style="max-width:100%; border-radius:8px; margin:1em 0;"> <source src="https://github.com/schwwaaa/videobeaux/assets/7625379/3cef37d9-093f-4bd9-850c-4b163e8a3e01" type="video/mp4"> Your browser does not support the video tag. </video>

Technical Notes

  • Best applied to footage with visible movement; minimal motion yields minimal stutter effect.
  • Compression artifacts may amplify the “retro glitch” feeling, especially at higher CRF.
  • Sequences with panning, walking, or motion across diagonals exhibit the strongest nostalgic distortions.
  • Works consistently at any resolution; scaling before or after does not break the effect.
  • Vintage-style edits or memory sequences.
  • Music videos needing lo-fi temporal distortion.
  • Glitch-montage transitions and staccato cuts.
  • Found-footage aesthetics, home-video recreations, or archival simulation.
  • Social-media loops aiming for an intentionally imperfect vibe.

Quality Tips

  • Lower CRF retains clarity while still allowing stutter artifacts to read cleanly.
  • Higher CRF adds noise that can enhance the “old tape” feel.
  • Combine with bad_contrast or double_cup for stylized aging or dreamy deterioration.
  • For heavier cadence destruction, stack with bad_animation or frame_delay_pro1.
  • Use convert_dims beforehand if building platform-specific loops (square, reels, stories).
Effect

overexposed_stutter

Description

Applies a harsh overexposure flicker combined with stuttering frame cadence, producing an aggressive “corrupted camera” aesthetic.
The effect mimics the look of damaged digital sensors, broken shutter timing, blown-out highlights, and unstable frame playback.

Purpose

overexposed_stutter is designed for creators who want to:

  • simulate digital corruption or overheating camera behavior,
  • create bright white flickers, blown midtones, and clipped highlights,
  • introduce abrupt stutters and dropped-frame jitter,
  • evoke glitchy, broken-device energy,
  • intensify chaos in music videos, experimental film, or montage sequences.

How It Works

  1. Frame Stutter Injection
    The module duplicates, skips, or reorders frames to break cadence and produce jitter.
  2. Overexposure Simulation
    Frames are pushed into blown-out white values, simulating:
    • auto-exposure failure,
    • sensor overload,
    • corrupted RAW data,
    • abrupt exposure spikes.
  3. Temporal–Exposure Interplay
    The stuttered cadence emphasizes the brightness spikes, giving the impression of a malfunctioning recording pipeline.
  4. Encoding
    Final output is encoded with global Videobeaux CRF, preset, and pixel-format settings.

Program Template

videobeaux -P overexposed_stutter -i input.mp4 -o output.mp4

Arguments

  • (No additional program-specific arguments; uses global videobeaux options only.)

Real World Example

videobeaux -P overexposed_stutter \
  -i myvideo.mp4 \
  -o overexposed_stutter_styled.mp4

Program Output

<video controls preload="metadata" style="max-width:100%; border-radius:8px; margin:1em 0;"> <source src="https://github.com/schwwaaa/videobeaux/assets/7625379/f7250a1e-3cf5-4826-977a-a5a18b231ddb" type="video/mp4"> Your browser does not support the video tag. </video>

Technical Notes

  • Overexposure may cause highlight clipping; this is intentional.
  • Compression artifacts in bright regions may create additional glitch patterns.
  • Works best on footage with motion, edges, or textured surfaces — flat scenes produce milder results.
  • Aggressive stuttering may make some edits feel chaotic or disorienting (by design).
  • High-energy glitch sequences in music videos.
  • Horror, sci-fi, or techno-thriller aesthetics involving corrupted vision.
  • Fast-cut montage transitions.
  • Breakdowns, drops, or rhythmic sync moments in audio-reactive visuals.
  • Distressing clean footage before applying additional filters in a pipeline.

Quality Tips

  • Lower CRF retains clean white clipping; higher CRF adds noisy bloom-like grit.
  • Combine with bad_contrast to push black levels down while highlights blow out.
  • Pair with frame_delay_pro1 for aggressive echo + stutter hybrids.
  • Apply after convert_dims if targeting square or portrait loop formats.
  • For extreme looks, chain with lsd_feedback or digital_boss.
Effect

overlay_img_pro

Description

Overlays an external image onto the input video with explicit control over image position and dimensions.
overlay_img_pro allows precise placement, scaling, and compositing of static images (PNG, JPG, etc.) on top of a video layer.

Purpose

overlay_img_pro is intended for creators who want to:

  • add logos, watermarks, stickers, UI elements, or graphic marks,
  • precisely place images using pixel coordinates,
  • scale images to specific dimensions for uniform branding,
  • composite image layers as part of a stylized or functional pipeline,
  • automate graphic overlays without using a traditional editor.

How It Works

  1. Image Loading
    The external image defined by --overlay_img is loaded into the FFmpeg filtergraph.
  2. Scaling
    The image is resized to the dimensions specified by:
    • img_width
    • img_height
  3. Positioning
    The overlay image is placed at:
    • x_pos (horizontal placement)
    • y_pos (vertical placement)
  4. Compositing
    The resized and positioned image is blended over the source video.
  5. Encoding
    Final output is encoded using global Videobeaux codec, pixel-format, and CRF settings.

Program Template

videobeaux -P overlay_img_pro \
  -i input.mp4 \
  -o output.mp4 \
  --overlay_img VALUE \
  --x_pos VALUE \
  --y_pos VALUE \
  --img_height VALUE \
  --img_width VALUE

Arguments

  • overlay_img — Path to the image to overlay (PNG, JPG, etc.).
  • x_pos — Horizontal position of the top-left corner of the overlay (in pixels).
  • y_pos — Vertical position of the top-left corner of the overlay (in pixels).
  • img_height — Height of the overlay image after scaling.
  • img_width — Width of the overlay image after scaling.

Real World Example

videobeaux -P overlay_img_pro \
  -i myvideo.mp4 \
  -o overlay_img_pro_styled.mp4 \
  --overlay_img EXAMPLE \
  --x_pos EXAMPLE \
  --y_pos EXAMPLE \
  --img_height EXAMPLE \
  --img_width EXAMPLE

Program Output

<video controls preload="metadata" style="max-width:100%; border-radius:8px; margin:1em 0;"> <source src="https://github.com/schwwaaa/videobeaux/assets/7625379/3932d910-b898-4ed7-ba3a-288a708c0d83" type="video/mp4"> Your browser does not support the video tag. </video>

Technical Notes

  • PNG images with alpha channels will respect transparency automatically.
  • Extremely large overlays may impact performance or produce scaling artifacts.
  • For best results, use high-resolution images when scaling down rather than up.
  • The overlay is applied top-left–anchored; centering must be done manually using math for x_pos / y_pos.
  • Works on any resolution or aspect ratio, including portrait, square, and ultrawide.
  • Watermarks, logos, and branding elements.
  • Titles or lower-third graphics generated externally.
  • UI overlays for mockups or stylized edits.
  • Layer-based collage compositions when combined with other Videobeaux programs.
  • Automated batch rendering where graphics must appear in consistent positions.

Quality Tips

  • Pre-scale the external image to your target size to avoid unnecessary interpolation.
  • Use PNG for overlays requiring clean edges or transparency.
  • Combine with convert_dims beforehand to ensure predictable placement on varying aspect ratios.
  • For multi-image overlays, use lagkage instead for complex composite pipelines.
  • Lower CRF values keep overlay edges crisp after encoding.
Effect

pickle_juice

Description

Applies a stylized color-treatment effect that makes the video appear as if it were “dipped in pickle juice.”
This look often includes green-tinted washes, acidic highlights, sour midtone shifts, and a brined, stained aesthetic reminiscent of aged film submerged in an odd chemical bath.

Purpose

pickle_juice is designed for creators who want:

  • green, brined, or chemically-tinted color distortion,
  • a dirty, acidic film-wash effect,
  • moody or surreal grading without using LUTs,
  • stylized discoloration for music videos, collage art, or experimental edits,
  • an instantly recognizable “soured” treatment that feels organic and gritty.

How It Works

  1. Color Shifting
    The effect pushes hues toward:
    • greenish brine,
    • yellow-acid midtones,
    • desaturated shadows.
  2. Highlight Contamination
    Bright regions may take on a pickled glow, exaggerating chemical staining.
  3. Tonal Warping Midtones may twist or invert subtly to enhance the brined aesthetic.
  4. Encoding
    Output is encoded using global Videobeaux parameters (CRF, codec, pixel format).

Program Template

videobeaux -P pickle_juice \
  -i input.mp4 \
  -o output.mp4

Arguments

  • (No additional program-specific arguments; uses global videobeaux options only.)

Real World Example

videobeaux -P pickle_juice \
  -i myvideo.mp4 \
  -o pickle_juice_styled.mp4

Program Output

<video controls preload="metadata" style="max-width:100%; border-radius:8px; margin:1em 0;"> <source src="https://github.com/schwwaaa/videobeaux/assets/7625379/387bfff5-fbdd-423d-b482-8ab4d5ce744f" type="video/mp4"> Your browser does not support the video tag. </video>

Technical Notes

  • Green-heavy color channels may clip differently depending on global gamma or LUTs applied earlier in the chain.
  • Compression artifacts may take on a greenish tint, especially at higher CRF values.
  • Works very well on brightly lit footage, where the “pickle wash” becomes more obvious.
  • The effect’s strength may vary depending on the source’s saturation and dynamic range.
  • Stylized music videos seeking gritty, acidic toning.
  • Collage-style edits where each clip has a unique chemical wash.
  • VHS-simulation workflows combined with bad_contrast or nostalgic_stutter.
  • Color-driven experimental cinematography.
  • Thematic sequences that benefit from a “soured,” off-kilter look.

Quality Tips

  • Use lower CRF values to keep the color warping clean and smooth.
  • Use higher CRF if you want noisy, grainy, stained artifacts.
  • Pair with gamma_fix before applying for more consistent pickle coloration across the image.
  • Combine with blur_pix for a soft, brined haze effect.
  • Apply after convert_dims if producing platform-specific versions (square, reels, etc.).
Effect

recalled_sensor

Description

Simulates the look of a malfunctioning digital camera sensor that is defective, failing, or subject to an official recall.
This effect introduces corrupted rows, unstable color channels, dead-pixel clusters, exposure tearing, and chaotic image instability — mimicking catastrophic sensor failure.

Purpose

recalled_sensor is designed for creators who want:

  • the aesthetics of a physically damaged or overheating sensor,
  • horizontal tearing, line corruption, or rolling-shutter breakage,
  • dead-pixel patterns, color-channel misalignment, or gritty digital decay,
  • an aggressive technical-failure look appropriate for glitch, horror, sci-fi, or surveillance themes,
  • unpredictable, chaotic motion artifacts that cannot be achieved through normal grading.

How It Works

  1. Simulated Sensor Row Failure
    Horizontal lines may break, misalign, repeat, or shift.
  2. Color-Channel Corruption
    Red, green, and blue channels may desynchronize or flicker independently.
  3. Dead Pixel Noise Injection
    Bright or dark pixel speckles mimic sensor element burnouts.
  4. Rolling-Shutter Breakdown
    Temporal distortions produce jittering horizontal bands or broken scanlines.
  5. Encoding
    Output is encoded using global Videobeaux settings for codec, CRF, and pixel format.

Program Template

videobeaux -P recalled_sensor -i input.mp4 -o output.mp4

Arguments

  • (No additional program-specific arguments; uses global videobeaux options only.)

Real World Example

videobeaux -P recalled_sensor \
  -i myvideo.mp4 \
  -o recalled_sensor_styled.mp4

Program Output

Program output video omitted due to size; see repository for reference clips.

Technical Notes

  • High-motion scenes produce more dramatic tearing because of simulated rolling-shutter corruption.
  • Bright surfaces intensify dead-pixel bloom and channel misalignment.
  • Compression interacts strongly with corrupted scanlines — higher CRF will exaggerate the effect.
  • Because the distortion emulates hardware malfunction rather than pure software effect, the results may appear chaotic and non-repetitive.
  • Works with any resolution but is most convincing at HD or higher due to visible pixel-grid patterns.
  • Horror, sci-fi, or techno-thriller sequences involving malfunctioning equipment.
  • Glitch art and experimental cinema exploring digital decay.
  • Surveillance or found-footage aesthetics that require broken-camera realism.
  • Transitions where catastrophic failure is used as a visual punctuation.
  • Layering beneath crossmosh or overexposed_stutter for extreme destruction.

Quality Tips

  • Lower CRF if you want crisp corrupted lines; higher CRF if you prefer smearing and noise.
  • Pair with bad_contrast for harsher tonal collapse.
  • Combine with lsd_feedback or frame_delay_pro2 to create evolving sensor meltdown effects.
  • If the clip is too bright, pre-process with gamma_fix to avoid overwhelming bloom in the corrupted channels.
  • For realistic malfunction aesthetics, leave the effect unchained; for surreal results, chain with other distortive modules.
Effect

repainting

Description

Applies an artistic “repainted” effect that makes each frame appear as if it has been smeared, redrawn, or blurred by an alcohol-washed brush.
The result resembles wet ink, soft smudging, streaked pigment, or repeated overpainting — giving the footage a tactile, analog, hand-altered feel.

Purpose

repainting is designed for creators who want:

  • a painterly, reworked, or smeared aesthetic,
  • a hand-drawn or alcohol-wet look without using frame-by-frame animation,
  • soft organic distortion that feels handmade rather than digital,
  • degraded yet artistic texture for music videos or collage,
  • a simple effect that produces expressive motion smearing.

How It Works

  1. Frame Reinterpretation
    Each frame is processed as if it were being redrawn or wiped over with semi-wet pigment.
  2. Smudge + Alcohol-Wash Simulation
    Highlights bloom, shadows soften, and edges blur as if dissolved by solvent.
  3. Temporal Softening
    Minor streaks or trailing may appear due to repeated repainting across frames.
  4. Encoding
    Output is encoded using global Videobeaux settings (codec, CRF, pixel format).

Program Template

videobeaux -P repainting -i input.mp4 -o output.mp4

Arguments

  • (No additional program-specific arguments; uses global videobeaux options only.)

Real World Example

videobeaux -P repainting \
  -i myvideo.mp4 \
  -o repainting_styled.mp4

Program Output

<video controls preload="metadata" style="max-width:100%; border-radius:8px; margin:1em 0;"> <source src="https://github.com/user-attachments/assets/1770144d-4448-4719-8ef3-e44b720ec857" type="video/mp4"> Your browser does not support the video tag. </video>

Technical Notes

  • Works especially well on footage with bold shapes, faces, or brush-like motion paths.
  • High-contrast imagery yields more pronounced smearing.
  • Compression may increase the “wet paint” feel by interacting with soft, blended regions.
  • Repainting is non-destructive in timing — cadence stays intact even while textures distort.
  • Abstract or painterly music videos.
  • Alcohol-ink inspired motion design.
  • Narrative moments needing dreamlike or smeared transitions.
  • Experimental cinema and visual collage.
  • Live VJ loops that benefit from organic, evolving texture.

Quality Tips

  • Lower CRF values maintain smooth, fluid repainted strokes.
  • Higher CRF adds grit, giving the effect a rougher, stained appearance.
  • Combine with double_cup for a liquified wash; combine with blur_pix for soft surface blending.
  • Apply before LUTs if you want the grade to unify the smear colors; apply after LUTs if you want the smear to distort the grade itself.
  • Up-scaling beforehand using convert_dims can produce smoother brush-like textures.
Effect

resize

Description

Resizes the dimensions of a video to a specified width and height.
This module performs a direct scale transformation, producing clean, predictable results for platform formatting, layout prep, or visual uniformity.

Purpose

resize is designed for creators who want to:

  • convert videos into specific resolution targets,
  • prepare assets for social platforms (square, vertical, widescreen),
  • normalize input dimensions before compositing in Lagkage,
  • upscale or downscale footage with direct pixel precision,
  • create clean formatting pipelines without aspect-ratio tricks.

How It Works

  1. Dimension Override
    The user specifies:
    • new_width
    • new_height
  2. Scaling Filter
    FFmpeg’s scaler processes each frame to the requested resolution.
  3. Output Encoding
    The final resized image is encoded using global Videobeaux settings (CRF, codec, pixel format, preset).

Program Template

videobeaux -P resize -i input.mp4 -o output.mp4 --new_height VALUE --new_width VALUE

Arguments

  • new_height — Target output height in pixels.
  • new_width — Target output width in pixels.

Real World Example

videobeaux -P resize \
  -i myvideo.mp4 \
  -o resize_styled.mp4 \
  --new_height EXAMPLE \
  --new_width EXAMPLE

Program Output

Program output video not yet linked.

Technical Notes

  • This module does not enforce aspect-ratio preservation.
  • If the provided width and height do not match the original aspect ratio, the result will be stretched or squished — which may be desirable for stylized distortion.
  • For clean upscaling, combine with high-quality pixel formats (e.g., yuv444p or 10-bit formats) if your pipeline supports them.
  • Works well as a preprocessing step for LUTs, Lagkage, overlays, or dimension-specific delivery outputs.
  • Creating platform-targeted versions:
    • 1080×1920 (reels/stories/shorts)
    • 1080×1080 (square grid formats)
    • 1920×1080 (landscape)
  • Normalizing assets before multi-layer compositing.
  • Preparing clips for generative art pipelines where exact sizes matter.
  • Upscaling stylized effects (e.g., painterly, glitch, smear) for high-res exports.

Quality Tips

  • For crisp results, resize before applying heavy effects and grading.
  • For a degraded or lo-fi look, resize after, which amplifies artifacts.
  • Use exact values that match your layout or platform’s requirements.
  • Pair with convert_dims when you want aspect-ratio intelligence; use resize when you want exact pixel control.
  • For upscaling beyond 2×, consider preprocessing with gamma_fix or tonemap_hdr_sdr to stabilize tonal fidelity before scaling.
Effect

reverse

:contentReference[oaicite:1]{index=1}

Description

Reverses the playback of the input video, producing a backward-motion effect.
This simple but powerful manipulation can completely change the emotional or aesthetic tone of footage, turning ordinary actions into surreal rewinds, resets, or temporal loops.

Purpose

reverse is designed for creators who want to:

  • flip time direction for stylistic emphasis,
  • generate rewind moments or temporal reversals,
  • create looping effects by combining forward and reverse sequences,
  • enhance glitch, montage, or collage workflows,
  • build playful or cinematic transformations by reversing motion.

How It Works

  1. Frame Order Inversion
    All frames in the source video stream are read, then written backwards.
  2. Audio Handling
    Depending on global Videobeaux settings and FFmpeg behavior, audio may be reversed or muted.
    (Many workflows intentionally mute or replace audio for reverse sequences.)
  3. Encoding
    The final reversed output is encoded using global Videobeaux codec, CRF, and pixel-format settings.

Program Template

videobeaux -P reverse -i input.mp4 -o output.mp4

Arguments

  • (No additional program-specific arguments; uses global videobeaux options only.)

Real World Example

videobeaux -P reverse \
  -i myvideo.mp4 \
  -o reverse_styled.mp4

Program Output

<video controls preload="metadata" style="max-width:100%; border-radius:8px; margin:1em 0;"> <source src="https://github.com/schwwaaa/videobeaux/assets/7625379/74367227-6fee-455f-af36-804a1e6d6cb6" type="video/mp4"> Your browser does not support the video tag. </video>

Technical Notes

  • Perfect for reversible motion such as walking, pouring, splashing, spinning, or transitions.
  • Some codecs do not allow efficient reverse seeking; full decoding may be required.
  • Audio reversal is often undesirable unless explicitly intended, so many pipelines mute or replace the audio after reversing.
  • Large files may require significant memory or disk usage during reverse operations.
  • Rewind effects in music videos or narrative sequences.
  • Loop creation by combining forward + reversed versions of the same clip.
  • Glitch-art assemblies where time feels elastic or broken.
  • Transitions or visual punctuation in experimental edits.
  • Montage moments where reverse motion provides humor, shock, or surreal tone.

Quality Tips

  • For crisp reversed motion, use lower CRF values.
  • Pair with looper_pro to generate seamless mirrored loops.
  • Combine with bad_contrast or double_cup for stylized retro or dreamy rewinds.
  • Apply reverse before heavy effects if you want the effects themselves to accumulate in reverse order.
  • Apply reverse after stylistic effects if you want the look preserved but motion reversed.
Effect

scrolling

:contentReference[oaicite:1]{index=1}

Description

Applies a continuous scrolling motion to the video by shifting the image over time in a single direction.
Unlike scrolling_pro, which allows multi-axis control, this module provides a simple, fixed-direction scroll effect — ideal for lightweight motion or ambient looping.

Purpose

scrolling is designed for creators who want:

  • a minimal, no-parameter scroll effect,
  • subtle ambient motion for backgrounds or textures,
  • lightweight directional drift without configuration,
  • simple kinetic movement for loops or collage layers,
  • predictable, consistent scroll behavior.

How It Works

  1. Directional Motion
    The video image is translated across the frame at a fixed rate and direction.
  2. Wraparound Behavior
    Pixels exiting one side of the frame re-enter from the opposite side, producing an infinite-scroll illusion.
  3. Fixed Parameters
    Since the module has no program-specific arguments, its scroll speed and direction are predetermined.
  4. Encoding
    Output is encoded using global Videobeaux CRF, codec, and pixel-format settings.

Program Template

videobeaux -P scrolling -i input.mp4 -o output.mp4

Arguments

  • (No additional program-specific arguments; uses global videobeaux options only.)

Real World Example

videobeaux -P scrolling \
  -i myvideo.mp4 \
  -o scrolling_styled.mp4

Program Output

<video controls preload="metadata" style="max-width:100%; border-radius:8px; margin:1em 0;"> <source src="https://github.com/schwwaaa/videobeaux/assets/7625379/4cdebccc-8519-45c6-aded-089db73d20d2" type="video/mp4"> Your browser does not support the video tag. </video>

Technical Notes

  • Because scroll speed is fixed, this module is ideal for simple kinetic backgrounds.
  • Looping behavior depends on footage content; pattern-like textures loop more seamlessly.
  • Best used when a uniform directional drift is desired without fine-tuning.
  • Works cleanly at any resolution or aspect ratio.
  • Ambient looping textures for projection or VJ systems.
  • Background drift behind titles, overlays, or motion graphics.
  • Simple motion injection for collage edits.
  • Use in batch workflows where consistent, automated scroll is needed.

Quality Tips

  • Lower CRF produces smoother scrolling with fewer compression artifacts.
  • Slight pre-blur (e.g., via blur_pix) can reduce visible seams in detailed footage.
  • Pair with lsd_feedback for evolving drifting effects.
  • Combine with overexposed_stutter or nostalgic_stutter for stylized motion disruption.
  • Use convert_dims beforehand if preparing platform-specific scrolling backgrounds.
Effect

scrolling_pro

:contentReference[oaicite:1]{index=1}

Description

Applies a continuous scrolling effect to the video, allowing the image to move horizontally, vertically, or in both directions simultaneously.
This module is ideal for generating drifting motion, conveyor-like movement, kinetic wallpaper loops, and directional flow effects.

Purpose

scrolling_pro is designed for creators who want:

  • seamless directional movement for loops or backgrounds,
  • kinetic motion overlays in collage or compositing workflows,
  • horizontal, vertical, or diagonal drifting of footage,
  • a simple way to generate infinite-scroll–style visuals,
  • controllable speed for gentle drift or aggressive motion.

How It Works

  1. Coordinate Translation
    Each frame is shifted on the X and/or Y axis according to the defined scroll speeds.
  2. Continuous Wraparound
    As the image scrolls, pixels exiting one side re-enter from the opposite side, creating an infinite looping illusion.
  3. Directional Combination
    Horizontal and vertical speeds can be combined, creating diagonal or complex drift patterns.
  4. Encoding
    Output is then encoded using Videobeaux global settings (codec, CRF, pixel format).

Program Template

videobeaux -P scrolling_pro \
  -i input.mp4 \
  -o output.mp4 \
  --horiz_speed VALUE \
  --vert_speed VALUE

Arguments

  • horiz_speed — Horizontal scrolling speed. Positive = scroll right; negative = scroll left.
  • vert_speed — Vertical scrolling speed. Positive = scroll down; negative = scroll up.

Real World Example

videobeaux -P scrolling_pro \
  -i myvideo.mp4 \
  -o scrolling_pro_styled.mp4 \
  --horiz_speed EXAMPLE \
  --vert_speed EXAMPLE

Program Output

<video controls preload="metadata" style="max-width:100%; border-radius:8px; margin:1em 0;"> <source src="https://github.com/schwwaaa/videobeaux/assets/7625379/e84cfb49-f72d-449e-833a-0271903704f4" type="video/mp4"> Your browser does not support the video tag. </video>

<video controls preload="metadata" style="max-width:100%; border-radius:8px; margin:1em 0;"> <source src="https://github.com/schwwaaa/videobeaux/assets/7625379/19c6eef1-2bc0-4d84-b531-55f9ca07a912" type="video/mp4"> Your browser does not support the video tag. </video>

<video controls preload="metadata" style="max-width:100%; border-radius:8px; margin:1em 0;"> <source src="https://github.com/schwwaaa/videobeaux/assets/7625379/4a4272de-e074-4e37-8c2d-a282f2d8be57" type="video/mp4"> Your browser does not support the video tag. </video>

Technical Notes

  • Large scroll speeds may produce rapid motion suitable for glitch or kinetic graphics.
  • Small scroll speeds create subtle drifting backgrounds or ambient wallpaper loops.
  • Because wraparound is seamless, the effect is ideal for loops when combined with looper_pro.
  • Diagonal motion is achieved when both speeds are non-zero.
  • Higher-resolution footage yields smoother scroll texture, especially for slow motion.
  • VJ loops and projection mapping backgrounds.
  • Infinite-scroll ambience for installations or screensavers.
  • Graphic overlays behind text or UI elements.
  • Creating drifting collage components inside Lagkage layouts.
  • Building kinetic transitions between scenes.

Quality Tips

  • Use lower CRF for cleaner scroll edges, especially with detailed textures.
  • Slight blur (e.g., via blur_pix) before scrolling can remove hard seams in loop textures.
  • Combine with double_cup or lsd_feedback for trippy drifting effects.
  • Slow speeds often look more cinematic; fast speeds suit glitch or techno edits.
  • Apply convert_dims first if you need scroll-safe aspect ratios for looping platforms.
Effect

septic

Description

Applies an intense, distressed visual filter inspired by the physiological collapse associated with septic shock.
The effect evokes instability, discoloration, plunging contrast, erratic tonal shifts, and an overall sense of visual “failing systems.”

This is a highly stylized effect — not medically literal — meant to express emotional, cinematic, or abstract interpretations of systemic breakdown.

Purpose

septic is designed for creators who want:

  • a dramatic “body shutting down” visual metaphor,
  • sickly color shifts, muddied gradients, and collapsing tonal structure,
  • unstable fluctuations reminiscent of fading consciousness or shock waves,
  • aggressive, unsettling distortions appropriate for horror, glitch, or psychological edits,
  • a simple one-command filter with no parameters to tune.

How It Works

  1. Color Degradation
    The filter pushes hues toward bruised greens, greys, and yellows — evoking the palette of medical distress.
  2. Contrast Collapse
    Highlights and shadows may buckle inward, causing the image to dim, lose clarity, or appear “fading out.”
  3. Instability Simulation
    Subtle flicker, tonal oscillation, or jitter may appear to represent instability and bodily failure.
  4. Encoding
    Output is encoded using global Videobeaux settings, ensuring consistent quality across pipelines.

Program Template

videobeaux -P septic -i input.mp4 -o output.mp4

Arguments

  • (No additional program-specific arguments; uses global videobeaux options only.)

Real World Example

videobeaux -P septic \
  -i myvideo.mp4 \
  -o septic_styled.mp4

Program Output

<video controls preload="metadata" style="max-width:100%; border-radius:8px; margin:1em 0;"> <source src="https://github.com/user-attachments/assets/25f65267-60fa-421a-aaf3-02918844a488" type="video/mp4"> Your browser does not support the video tag. </video>

Technical Notes

  • Midtones become heavily stressed; this is where the “shock” look is strongest.
  • Faces and skin tones distort dramatically, increasing the unsettling aesthetic.
  • High-contrast footage produces more severe tonal collapse.
  • Works equally well on clean digital footage and degraded sources.
  • Horror sequences and psychological thrillers.
  • Music videos with themes of collapse, breakdown, or emotional overload.
  • Glitch-art or experimental montage.
  • Narrative moments symbolizing fear, trauma, disorientation, or medical crisis.
  • Visual metaphors for systems failure in abstract cinema.

Quality Tips

  • Use lower CRF to maintain detail in distressed textures.
  • Use higher CRF if you want smeared, grimy collapse artifacts.
  • Combine with bad_contrast for deeper shadows and harsher tonal decay.
  • Stack with overexposed_stutter for panic-attack visual rhythms.
  • Apply before lut_apply if you want a uniform sickly wash; apply after if you want the LUT to warp the septic palette.
Effect

slight_smear

Description

Applies a subtle RGB smear effect, gently shifting and bleeding color channels to create a soft distortion.
The look resembles mild chromatic drift, analog smudge, or a barely-there color echo — perfect for adding texture without overwhelming the original image.

Purpose

slight_smear is designed for creators who want:

  • gentle color separation without strong glitch artifacts,
  • soft smearing suitable for dreamy or nostalgic aesthetics,
  • analog-feeling color drift reminiscent of old CRT or lens aberration,
  • a lightweight effect that enhances motion without heavy distortion,
  • a minimal, no-argument filter that always behaves consistently.

How It Works

  1. RGB Channel Offset
    Red, green, and blue channels are shifted by micro-amounts, producing a soft separation.
  2. Low-Intensity Smear
    Instead of fully duplicating edges, the smear gently blooms color outward.
  3. Motion Enhancement
    Moving subjects gain soft trails, giving the impression of mild persistence.
  4. Encoding
    The final output is encoded using global Videobeaux CRF, codec, and pixel format.

Program Template

videobeaux -P slight_smear \
  -i input.mp4 \
  -o output.mp4

Arguments

  • (No additional program-specific arguments; uses global videobeaux options only.)

Real World Example

videobeaux -P slight_smear \
  -i myvideo.mp4 \
  -o slight_smear_styled.mp4

Program Output

<video controls preload="metadata" style="max-width:100%; border-radius:8px; margin:1em 0;"> <source src="https://github.com/schwwaaa/videobeaux/assets/7625379/a7bca4c5-46b5-4b51-a827-6b8137d0117d" type="video/mp4"> Your browser does not support the video tag. </video>

Technical Notes

  • Because the smear is subtle, it works well even on footage with delicate details.
  • High-contrast edges reveal the effect most clearly.
  • Compression can either soften or exaggerate the smear depending on CRF.
  • Suitable as a pre-effect before heavier glitch or temporal filters.
  • Music videos needing gentle stylistic color bloom.
  • Dreamy ambience sequences and soft-focus aesthetics.
  • Collage art where slight distortion adds cohesion.
  • Retro or analog-inspired edits without heavy degradation.
  • As a smoothing layer before applying lsd_feedback, crossmosh, or double_cup.

Quality Tips

  • Lower CRF gives cleaner, smoother smear edges.
  • Higher CRF makes the smear grainier and more textured.
  • Combine with gamma_fix beforehand for more stable channel balancing.
  • Add blur_pix afterward for a painterly, soft-focus expansion.
  • Use convert_dims before smearing if resizing footage for a platform-specific format.
Effect

smudge

Description

Applies a gentle smudge effect to the video, softening edges and pulling colors slightly across motion paths.
The result resembles a faint manual smear, as if the image were lightly dragged or brushed while still wet.

Purpose

smudge is designed for creators who want:

  • soft, organic distortion without heavy abstraction,
  • a mild “wet paint” or “finger drag” aesthetic,
  • subtle deformation suitable for dreamy or analog-inspired edits,
  • smoothing of harsh edges or digital sharpness,
  • a simple, no-argument effect that can be stacked or used as a finishing texture.

How It Works

  1. Edge Softening
    The filter diffuses detail and blends micro-edges, reducing digital crispness.
  2. Directional Blur/Smear
    Motion or tonal boundaries smear slightly, giving the impression of a softly dragged image surface.
  3. Color Bleed
    Neighboring pixels influence one another to create subtle spreading of hue.
  4. Encoding
    Output is then encoded using Videobeaux global CRF, codec, and pixel-format settings.

Program Template

videobeaux -P smudge \
  -i input.mp4 \
  -o output.mp4

Arguments

  • (No additional program-specific arguments; uses global videobeaux options only.)

Real World Example

videobeaux -P smudge \
  -i myvideo.mp4 \
  -o smudge_styled.mp4

Program Output

<video controls preload="metadata" style="max-width:100%; border-radius:8px; margin:1em 0;"> <source src="https://github.com/user-attachments/assets/9bb80e0b-bf16-49e7-b4e1-6c0c79b59c32" type="video/mp4"> Your browser does not support the video tag. </video>

Technical Notes

  • Ideal for footage with strong lines or shapes — smudging softens them into painterly contours.
  • Repeated smudging (e.g., applied twice in a chain) can create a watercolor-like wash.
  • Compression artifacts become smoother and less blocky after the smudge effect.
  • Works especially well before color-grading to produce a gentle base texture.
  • Dream sequences, surreal atmospheres, or emotional montage.
  • Soft, analog-inspired grading setups.
  • Background layers in collage or Lagkage layouts.
  • Visual art workflows that benefit from painterly distortion.
  • Preprocessing footage before heavy glitch effects to create contrast.

Quality Tips

  • Lower CRF yields smoother, more elegant smudges.
  • Higher CRF adds grit, making the smudge feel more raw or textural.
  • Combine with slight_smear for layered organic softness.
  • Use repainting afterward for a “hand-redrawn” effect.
  • Upscale with resize before smudging if you want especially smooth, flowing distortion.
Effect

soapblind

Description

Applies a hazy, washed-over film that resembles the visual blur of “soap-blinded eyes” — a foggy, filmy distortion that softens detail and reduces clarity.
The result is a dreamy, smeared, low-contrast haze that feels like staring through suds, steam, or a semi-opaque membrane.

Purpose

soapblind is designed for creators who want:

  • soft-focus blur with a filmy, washed texture,
  • low-clarity visuals that feel dreamy, obscured, or emotional,
  • stylized haze for music videos, collage, or narrative sequences,
  • an immediate, no-argument atmospheric filter,
  • a diffused look that smooths harsh details and glazes the frame.

How It Works

  1. Surface Diffusion
    A hazy overlay softens micro-contrast and reduces sharpness.
  2. Fog-Like Bloom
    Highlights bloom outward, mimicking fogged or soap-smeared vision.
  3. Clarity Reduction
    Noise, edges, and fine detail are blurred to create a dreamlike veil.
  4. Encoding
    The final treated video is encoded with global Videobeaux settings (codec, CRF, pixel format).

Program Template

videobeaux -P soapblind \
  -i input.mp4 \
  -o output.mp4

Arguments

  • (No additional program-specific arguments; uses global videobeaux options only.)

Real World Example

videobeaux -P soapblind \
  -i myvideo.mp4 \
  -o soapblind_styled.mp4

Program Output

<video controls preload="metadata" style="max-width:100%; border-radius:8px; margin:1em 0;"> <source src="https://github.com/user-attachments/assets/28070fe5-52cd-42c9-93b7-a417c83add2d" type="video/mp4"> Your browser does not support the video tag. </video>

Technical Notes

  • Smooth surfaces and skin tones take especially well to the soapblind look.
  • High-contrast footage will soften dramatically as edges blur.
  • Compression can make fogginess appear more pronounced at higher CRF levels.
  • Works as a gentler alternative to heavy blur filters.
  • Emotional, melancholic, or introspective scenes.
  • Dream sequences or memory dissolves.
  • Music videos needing soft glaze or atmospheric haze.
  • Preprocessing for collage pieces to unify mismatched clips.
  • Creating softness before applying glitch or distortion filters.

Quality Tips

  • Lower CRF yields velvety, smooth haze.
  • Higher CRF introduces gritty texture into the fog.
  • Combine with slight_smear for a double-soft aesthetic.
  • Pair with repainting for painterly, softened brushlike visuals.
  • Use before LUTs if you want the softness baked into the grade; use after if you want LUTs to remain crisp.
Effect

speed

Description

Changes the playback speed of the input video and audio simultaneously.
This module is useful for slow motion, fast motion, timelapse, rhythmic edits, and any effect requiring temporal compression or expansion.

Purpose

speed is designed for creators who want to:

  • increase or decrease playback speed uniformly,
  • generate slow-motion or fast-motion stylization,
  • build rhythmic visual edits synced to music,
  • create timelapse effects without external tools,
  • maintain audio pitch relationship unless later reprocessed.

How It Works

  1. Timebase Adjustment
    Video frames are retimed according to the provided speed factor.
  2. Audio Resampling
    Audio is also sped up or slowed down to match the new video duration.
  3. Encoding
    The resulting retimed clip is encoded using global Videobeaux settings (codec, CRF, pixel format).

Notes

  • Speed values greater than 1.0 = faster playback.
  • Speed values less than 1.0 = slower playback.

Program Template

videobeaux -P speed \
  -i input.mp4 \
  -o output.mp4 \
  --speed_factor VALUE

Arguments

  • speed_factor — Multiplier for playback speed.
    • 0.5 → half-speed (slow motion)
    • 2.0 → double-speed (fast motion)
    • 0.25 → quarter-speed
    • 4.0 → 4× speed

Real World Example

videobeaux -P speed \
  -i myvideo.mp4 \
  -o speed_styled.mp4 \
  --speed_factor EXAMPLE

Program Output

<video controls preload="metadata" style="max-width:100%; border-radius:8px; margin:1em 0;"> <source src="https://github.com/schwwaaa/videobeaux/assets/7625379/c27efdb1-ae81-4d8d-a153-de6294b7fedf" type="video/mp4"> Your browser does not support the video tag. </video>

Technical Notes

  • Audio pitch will shift unless processed later with an external pitch-correction tool.
  • High speed factors may expose motion judder depending on frame rate.
  • Very slow speeds may require additional interpolation if smooth motion is desired (use frame_interpolate first).
  • Retime operations do not introduce new frames; they only alter timing unless combined with interpolation.
  • Music video edits synced to rhythmic patterns.
  • Timelapse creation.
  • Slow-motion mood sequences.
  • Fast-motion montage, humor, or surreal pacing.
  • Preprocessing before LUTs or effects when timing matters.

Quality Tips

  • For the cleanest slow motion, run frame_interpolate before speed to create missing frames.
  • Use lower CRF for crisp motion edges when speeding up footage.
  • Use higher CRF for intentionally grittier motion artifacts.
  • Pair with looper_pro for smooth motion loops.
  • Combine with nostalgic_stutter or bad_animation for stylized cadence distortion.
Effect

splitting

Description

A simple segmentation utility that divides a video into evenly timed chunks or scene-based fragments for modular editing.
Unlike splitting_pro, which slices spatial regions of the frame, splitting operates purely in the time domain, cutting the clip into temporal sections that can be reused, rearranged, or processed individually.

Purpose

splitting is designed for creators who want:

  • evenly sized time slices for procedural editing,
  • modular clip fragments for collage or Lagkage workflows,
  • timed intervals for repeatable pattern-based assembly,
  • simple temporal segmentation with no configuration,
  • consistent chunking for downstream effects or batch operations.

How It Works

  1. Temporal Chunking
    The video is divided into equal-length sections or scene-based fragments depending on internal logic.
  2. Frame-Accurate Slicing
    Cuts occur at precise timestamps, ensuring reliable recomposition.
  3. Independent Segment Handling
    Segments may be saved, recombined, or used as modular inputs for further editing steps.
  4. Encoding
    Output is assembled and encoded using global Videobeaux settings.

Program Template

videobeaux -P splitting \
  -i input.mp4 \
  -o output.mp4

Arguments

  • (No additional program-specific arguments; uses global videobeaux options only.)

Real World Example

videobeaux -P splitting \
  -i myvideo.mp4 \
  -o splitting_styled.mp4

Program Output

<video controls preload="metadata" style="max-width:100%; border-radius:8px; margin:1em 0;"> <source src="https://github.com/user-attachments/assets/b6c13707-aaa8-416e-9f80-5ca6a386cd0f" type="video/mp4"> Your browser does not support the video tag. </video>

Technical Notes

  • Ideal for building modular editing systems where each temporal block is reused.
  • Works cleanly regardless of resolution, codec, or aspect ratio.
  • Output chunk boundaries depend on internal segmentation logic; exact block timing may vary by implementation.
  • Can be paired with normalization tools if segments will be concatenated later.
  • Procedural editing pipelines.
  • Video collage systems that reassemble timelines randomly.
  • Creating modular “building blocks” for generative video art.
  • Preparing assets for Lagkage layouts or multi-layer structures.
  • Segmenting long recordings into manageable sections for stylized processing.

Quality Tips

  • Use lower CRF if you intend to recombine slices later to avoid generational loss.
  • For glitch workflows, higher CRF can introduce desirable texture into cut boundaries.
  • Apply convert_dims first if you want uniformity across all segments.
  • Combine with reverse, speed, or nostalgic_stutter to add temporal variation to each slice.
  • Pre-trim your source before splitting to ensure perfect timing alignment.
Effect

splitting_pro

Description

A precise segmentation tool that slices a source video into reusable chunks based on positional slicing rules.
splitting_pro allows creators to extract vertical or horizontal bands of the frame, enabling compositing, collage workflows, displacement patterns, and region-based editing.

Unlike timeline slicing tools, splitting_pro manipulates spatial slices of a single frame, carving out portions of the video image for recombination or further processing.

Purpose

splitting_pro is designed for creators who want:

  • spatial slicing rather than temporal cutting,
  • vertical or horizontal extraction of visual regions,
  • inputs for collage, displacement, glitch layering, or geometric composition,
  • deterministic cropping that can be repeated across clips,
  • simple region control with only two parameters.

How It Works

  1. Define Slice Width
    The width parameter determines how large the slice is (in pixels or proportional units depending on implementation).
  2. Define Slice Position
    The position parameter determines where the slice begins — allowing sliding-window or fixed-region extraction.
  3. Spatial Cropping
    The module extracts that region from every frame, maintaining spatial consistency across the entire clip.
  4. Output Encoding
    The slice is encoded using global Videobeaux settings (codec, CRF, pixel format).

Program Template

videobeaux -P splitting_pro \
  -i input.mp4 \
  -o output.mp4 \
  --width VALUE \
  --position VALUE

Arguments

  • width — The thickness of the slice extracted from the frame.
  • position — Where the slice begins relative to the frame's coordinate system.

Real World Example

videobeaux -P splitting_pro \
  -i myvideo.mp4 \
  -o splitting_pro_styled.mp4 \
  --width EXAMPLE \
  --position EXAMPLE

Program Output

Program output video not yet linked.

Technical Notes

  • Useful for creating moving-window effects when paired with scrolling modules.
  • To extract a centered region, calculate position based on (frame_size - width) / 2.
  • Thin slices work well for displacement maps and glitch-strip compositions.
  • Slicing can be directional; depending on implementation, width may represent horizontal or vertical dimension.
  • Split-screen collage layouts.
  • Creating stripe-based glitch effects.
  • Feeding sliced layers into Lagkage for recombination.
  • Region extraction for stylized cropping, masks, or compositing.
  • Generating displacement textures from narrow video bands.

Quality Tips

  • Lower CRF for sharp edges on the sliced boundary.
  • Higher CRF for grittier, more distorted slices.
  • Pair with blur_pix for soft-edge slicing.
  • Combine with scrolling_pro to animate the sliced region across time.
  • Apply before LUTs for unified grading of sliced material.
Effect

stack_2x

Description

Stacks two videos vertically (one on top of the other) while preserving the original orientation and aspect ratio of each source.
This module creates a clean two-layer composite, useful for comparison videos, collage work, diptychs, and multi-view layouts.

Purpose

stack_2x is designed for creators who want:

  • a simple vertical two-video layout,
  • a clean and deterministic stacking tool with minimal configuration,
  • a fast way to create split-screen or comparison visuals,
  • diptych or layered collage structures,
  • multi-camera or multi-source presentations.

How It Works

  1. Load Primary Input
    The global input (-i input.mp4) forms the top (or first) layer.
  2. Load Secondary Input
    The --input2 path loads the second video, which becomes the bottom layer.
  3. Vertical Stacking
    The two frames are aligned vertically using FFmpeg’s stacking filters.
    No rotation, flipping, or aspect correction is applied unless done elsewhere in the chain.
  4. Encoding
    The resulting double-height composite is encoded using the global Videobeaux settings (CRF, codec, pixel format).

Program Template

videobeaux -P stack_2x \
  -i input.mp4 \
  -o output.mp4 \
  --input2 VALUE

Arguments

  • input2 — Path to the second video file to place beneath the primary input.

Real World Example

videobeaux -P stack_2x \
  -i myvideo.mp4 \
  -o stack_2x_styled.mp4 \
  --input2 EXAMPLE

Program Output

<video controls preload="metadata" style="max-width:100%; border-radius:8px; margin:1em 0;"> <source src="https://github.com/schwwaaa/videobeaux/assets/7625379/6f244aba-e741-46c9-9863-7fc43527a8d6" type="video/mp4"> Your browser does not support the video tag. </video>

Technical Notes

  • Both videos should ideally share the same width; otherwise, FFmpeg will auto-scale or pad depending on filter rules.
  • Stacked output height = sum of both video heights.
  • Audio is typically taken from the primary input unless modified elsewhere in the pipeline.
  • Works well in workflows where temporal sync matters (side-by-side camera takes, A/B comparison, performance studies).
  • For mismatched aspect ratios, consider preprocessing via convert_dims or resize.
  • A/B comparison videos.
  • Performance or rehearsal footage with two simultaneous takes.
  • Collage art that arranges multiple perspectives vertically.
  • Multi-layer stacks inside Lagkage.
  • Vertical diptych compositions for experimental film or social formats.

Quality Tips

  • The cleaner the scaling match between the two videos, the sharper the final composite.
  • Use lower CRF for crisp splits with sharp geometry.
  • To harmonize color or lighting between the two clips, apply grading (lut_apply, gamma_fix) before stacking.
  • Combine with stack_3x or other stacking modules for multi-row layouts.
  • Use resize to unify widths before stacking for the most predictable results.
Effect

steel_wash

Description

Applies a cool steel-blue wash across the entire video image.
The effect evokes the feel of industrial lighting, cold metal surfaces, or desaturated cinematic palettes often seen in sci-fi, dystopian, and neo-noir aesthetics.

Purpose

steel_wash is designed for creators who want:

  • a clean, cool-toned chromatic shift,
  • a desaturated metallic aesthetic,
  • a simple and reliable grading filter with no parameters,
  • a cohesive blue wash to unify mismatched footage,
  • a subtle but distinctive look that enhances atmosphere and mood.

How It Works

  1. Global Blue Bias
    Shadows, midtones, and highlights are shifted toward cold steel-blue coloration.
  2. Desaturation Layer
    Other hues are reduced, allowing the steel tone to dominate.
  3. Contrast Conditioning
    Mild tonal shaping prevents the image from becoming flat while maintaining the cold aesthetic.
  4. Encoding
    Final output is encoded using global Videobeaux codec, CRF, and pixel-format settings.

Program Template

videobeaux -P steel_wash \
  -i input.mp4 \
  -o output.mp4

Arguments

  • (No additional program-specific arguments; uses global videobeaux options only.)

Real World Example

videobeaux -P steel_wash \
  -i myvideo.mp4 \
  -o steel_wash_styled.mp4

Program Output

<video controls preload="metadata" style="max-width:100%; border-radius:8px; margin:1em 0;"> <source src="https://github.com/schwwaaa/videobeaux/assets/7625379/eea99448-9352-48f1-a1ec-b2cac6ad056d" type="video/mp4"> Your browser does not support the video tag. </video>

Technical Notes

  • Works particularly well with nighttime, industrial, mechanical, or urban footage.
  • Skin tones take on a stylized, pale-blue cast — ideal for sci-fi or dystopian moods.
  • High-saturation footage will be subdued; low-saturation footage becomes more cohesive.
  • Compression interacts minimally with the wash due to its uniformity.
  • Neo-noir or cyberpunk scenes.
  • Cold, metallic grading for music videos.
  • Industrial montage or mechanical close-ups.
  • Consistent color unification before collage or Lagkage layouts.
  • Atmospheric shifting before applying more intense glitch effects.

Quality Tips

  • Lower CRF preserves subtle gradients in blue-toned areas.
  • Higher CRF introduces grit that enhances industrial textures.
  • Combine with bad_contrast for harsher, high-impact steel tones.
  • Pair with ghostee or slight_smear for dreamy industrial softness.
  • Apply before LUTs to let your LUT react to the steel wash; apply after to preserve LUT integrity.
Effect

stutter_pro

Description

Applies a customizable frame-stutter effect where playback cadence is intentionally disrupted according to a user-defined stutter intensity.
stutter_pro offers far more control than the simpler nostalgic_stutter or overexposed_stutter modules, allowing the editor to tune how aggressively the timeline “hiccups.”

Purpose

stutter_pro is designed for creators who want:

  • precise and adjustable frame stuttering,
  • rhythmic or tempo-based visual cadence disruption,
  • glitch-style jitter that can be subtle or extreme,
  • stylized motion breakdowns for music videos or experimental edits,
  • deterministic stutter behavior tied to a single argument.

How It Works

  1. Frame Retention / Skipping
    Based on the stutter value, certain frames are duplicated or dropped.

  2. Pattern Generation
    The effect may repeat, hold, or jitter frames depending on stutter intensity.

  3. Temporal Distortion
    Motion becomes erratic, producing:

    • choppy sequences,
    • step-motion effects,
    • rhythmic pulse-style stutters.
  4. Encoding
    Output is encoded using Videobeaux global codec, pixel format, and CRF settings.

Program Template

videobeaux -P stutter_pro \
  -i input.mp4 \
  -o output.mp4 \
  --stutter VALUE

Arguments

  • stutter — Controls the intensity of the effect.
    Higher values produce more extreme frame skipping / duplication.

Real World Example

videobeaux -P stutter_pro \
  -i myvideo.mp4 \
  -o stutter_pro_styled.mp4 \
  --stutter EXAMPLE

Program Output

<video controls preload="metadata" style="max-width:100%; border-radius:8px; margin:1em 0;"> <source src="https://github.com/schwwaaa/videobeaux/assets/7625379/03e234fb-d0fe-4d72-a11c-dff1bc59fa83" type="video/mp4"> Your browser does not support the video tag. </video>

<video controls preload="metadata" style="max-width:100%; border-radius:8px; margin:1em 0;"> <source src="https://github.com/schwwaaa/videobeaux/assets/7625379/e6d8c14a-9f20-4365-bb1f-5f473289a855" type="video/mp4"> Your browser does not support the video tag. </video>

<video controls preload="metadata" style="max-width:100%; border-radius:8px; margin:1em 0;"> <source src="https://github.com/schwwaaa/videobeaux/assets/7625379/864835ba-dc9d-4392-aa77-2cc062e2b700" type="video/mp4"> Your browser does not support the video tag. </video>

Technical Notes

  • High stutter values can dramatically change perceived rhythm and pacing.
  • Ideal for matching beat-synchronized edits by dialing stutter to musical subdivisions.
  • Heavy stuttering may result in harsh judder depending on the source frame rate.
  • Works well when paired with effects that react to cadence disruption, like lsd_feedback.
  • Music videos requiring beat-sync visual pulses.
  • Experimental collage sequences with mechanical or robotic movement.
  • Hyper-stylized glitch breakdowns.
  • Rapid-cut montage moments needing added temporal chaos.
  • Loop creation when combined with reverse or looper_pro.

Quality Tips

  • Lower CRF retains crisp edges through stutter jumps.
  • Slight blur (blur_pix) can soften the harshness for dreamy styles.
  • Combine with overexposed_stutter for chaotic shockwave motion.
  • Use speed together with stutter to build complex rhythmic motion systems.
  • Preprocess with frame_interpolate if you want smoother slow-motion stutter artifacts.
Effect

t1000

Description

Applies a liquid-metal distortion effect inspired by the T-1000 from Terminator 2.
This effect simulates molten chromium surfaces, flowing reflections, metallic warping, and fluid reshaping — producing a highly stylized morphing look that feels synthetic, slippery, and impossibly smooth.

Purpose

t1000 is designed for creators who want:

  • a molten liquid-metal look,
  • smooth reflective distortions reminiscent of mercury or shapeshifting alloy,
  • a sci-fi transformation aesthetic,
  • a surreal, fluid-motion filter with no configuration,
  • an instantly recognizable morphing style.

How It Works

  1. Metallic Surface Simulation
    Highlights intensify and shift toward chrome-like brightness.
  2. Morphing Distortion
    Underlying geometry is warped and reshaped as if the surface is melting or reforming.
  3. Fluidity Modeling
    Motion becomes slippery and continuous, giving the illusion of reflective liquid dynamics.
  4. Encoding
    Final output is encoded using the global Videobeaux CRF, codec, and pixel-format settings.

Program Template

videobeaux -P t1000 \
  -i input.mp4 \
  -o output.mp4

Arguments

  • (No additional program-specific arguments; uses global videobeaux options only.)

Real World Example

videobeaux -P t1000 \
  -i myvideo.mp4 \
  -o t1000_styled.mp4

Program Output

<video controls preload="metadata" style="max-width:100%; border-radius:8px; margin:1em 0;"> <source src="https://github.com/user-attachments/assets/5de6db36-f8d4-426e-9262-b9dbeb2095ae" type="video/mp4"> Your browser does not support the video tag. </video>

Technical Notes

  • Works extremely well with reflective materials, metallic textures, or high-contrast imagery.
  • Smooth gradients transform into flowing liquid metal patterns.
  • Compression interacts strongly with this effect; higher CRF introduces chaotic chrome-grain, while lower CRF yields smooth molten surfaces.
  • Motion-heavy shots produce dynamic reshaping, while static scenes emphasize glossy morphing.
  • Sci-fi transformations or robotic metamorphosis sequences.
  • Music videos seeking surreal chrome or mercury aesthetics.
  • Abstract collage or experimental edits involving fluid distortion.
  • Visual motifs referencing artificial intelligence, synthetic life, or shape-shifting technology.
  • Paired with reverse or speed for dramatic reformation sequences.

Quality Tips

  • For the cleanest liquid effect, use low CRF for smooth reflective gradients.
  • For gritty “metal corrosion,” increase CRF to introduce grain in the reflowed surfaces.
  • Combine with steel_wash for a colder, industrial chrome palette.
  • Layer with lsd_feedback for evolving metal-fluid feedback tunnels.
  • Apply before LUTs if you want the LUT to tone the chrome; apply after for pure metallic distortion.
Effect

twociz

Description

Applies a distorted, delirious visual effect meant to simulate the hallucinated perspective of a zombie under the fictional TC-1 compound.
The aesthetic is disoriented, chemically corrupted, semi-conscious, and grotesquely vivid — combining abnormal color shifts, lurching motion, and sensory confusion.

Purpose

twociz is designed for creators who want:

  • a surreal, undead, chemically warped visual tone,
  • heavily altered perception aesthetics (swaying, drifting, disoriented),
  • toxic, bruised, unnatural color bleed,
  • a cinematic “drug-trip-from-the-grave” interpretation,
  • a one-command surreal filter requiring no tweaking.

How It Works

  1. Toxic Color Distortion
    Colors skew toward bruised greens, rotting purples, and necrotic yellows — evoking a zombified visual palette.
  2. Hallucinogenic Drift
    Subtle geometric warping, temporal wobble, or disproportionate scaling may occur to mimic unstable perception.
  3. Consciousness Fade Simulation
    Highlights bloom erratically; shadows collapse unexpectedly, resembling moments of slipping awareness.
  4. Encoding
    Output is encoded using global Videobeaux codec settings (CRF, pixel format, preset).

Program Template

videobeaux -P twociz \
  -i input.mp4 \
  -o output.mp4

Arguments

  • (No additional program-specific arguments; uses global videobeaux options only.)

Real World Example

videobeaux -P twociz \
  -i myvideo.mp4 \
  -o twociz_styled.mp4

Program Output

Program output video omitted due to size; see repository for reference clips.

Technical Notes

  • Works extremely well on footage with faces or skin tones, which become grotesquely reinterpreted under the effect.
  • High-contrast movement exaggerates the chemical hallucination look.
  • Compression artifacts interact unpredictably with the warped palette — often desirable for this aesthetic.
  • Stability varies depending on input content: calm scenes look feverish; chaotic scenes look apocalyptic.
  • Horror or undead-themed sequences.
  • Music videos requiring surreal, lurching, toxic hallucinations.
  • Psychological visualizations of decay, delirium, intoxication, or inner collapse.
  • Glitch-art or experimental montage with a corrupted-organic tone.
  • Any sequence where a “rotting consciousness POV” enhances storytelling.

Quality Tips

  • Lower CRF yields clearer hallucination layers; higher CRF introduces gritty decay that suits the undead theme.
  • Pair with septic for medical-shock surrealism.
  • Combine with bad_contrast for a bruised, collapsing palette.
  • Layer with lsd_feedback for intensifying delirium loops.
  • Apply before overexposed_stutter for a chemically panicked final effect.
Effect

wbflare

Description

Applies a blown-out white-balance flare that washes the frame in bright, overexposed warmth.
The effect simulates a camera whose white balance has catastrophically failed, producing harsh brightness spikes, color melt, and an unstable exposure cast.

Purpose

wbflare is designed for creators who want:

  • intense, flared overexposure resembling broken auto-WB,
  • cinematic whiteouts and warm, blooming flare pulses,
  • chaotic light wash reminiscent of damaged DSLR sensors,
  • a stylized flare aesthetic for music videos, montage, or collage,
  • a single-command solution with no configuration required.

How It Works

  1. White Balance Miscalibration Simulation
    The image is shifted toward overly warm, blown-out values.
  2. Flare Bloom
    Bright areas bloom outward aggressively, swallowing surrounding detail.
  3. Exposure Push
    Midtones and highlights ascend toward near-white, creating clip-heavy transitions.
  4. Encoding
    Output is encoded using Videobeaux global CRF, codec, and pixel-format settings.

Program Template

videobeaux -P wbflare \
  -i input.mp4 \
  -o output.mp4

Arguments

  • (No additional program-specific arguments; uses global videobeaux options only.)

Real World Example

videobeaux -P wbflare \
  -i myvideo.mp4 \
  -o wbflare_styled.mp4

Program Output

<video controls preload="metadata" style="max-width:100%; border-radius:8px; margin:1em 0;"> <source src="https://github.com/user-attachments/assets/e2a5f065-163e-4bb9-8fd3-1edbfbdbab2a" type="video/mp4"> Your browser does not support the video tag. </video>

Technical Notes

  • Flare intensity is influenced by scene brightness—high-key footage becomes extremely washed out.
  • Skin tones may lose detail entirely as white balance collapses.
  • Compression interacts strongly with blown highlights; higher CRF introduces chaotic flare grit.
  • Works well as a transition or emotional accent, especially during musical peaks.
  • Music-video chorus drops or emotional surges.
  • Stylized whiteouts in experimental film or collage.
  • Dreamlike or transcendental sequences.
  • Grungy digital “camera malfunction” aesthetics.
  • Transitional flare blasts between scenes.

Quality Tips

  • Lower CRF preserves cleaner bloom gradients.
  • Higher CRF produces gritty, noisy flare textures.
  • Pair with overexposed_stutter for extreme blown-out instability.
  • Combine with bad_contrast to deepen shadows beneath the flare.
  • Apply before LUTs for LUT-reactive highlights; apply after LUTs for a uniform whiteout.
Effect

xrgb

Description

Applies an extreme RGB color treatment that aggressively remixes channel intensity, contrast, and chromatic balance.
This effect pushes the video into hyper-saturated, unnatural, or neon-driven territory — producing explosive color distortions ideal for glitch, psychedelia, or high-impact stylization.

Purpose

xrgb is designed for creators who want:

  • radical RGB manipulation with a single command,
  • intense chromatic shifts far beyond standard grading,
  • neon, glitch, or chemically warped color palettes,
  • an exaggerated look that feels synthetic and electrified,
  • a quick way to break naturalistic color and enter surreal aesthetics.

How It Works

  1. RGB Channel Rebalancing
    Each color channel (R, G, B) is amplified, crushed, or redistributed.
  2. Color Explosion
    Standard hues may break apart into aggressively tinted regions.
  3. Chromatic Distortion
    Highlights and shadows may shift toward extreme primaries, producing:
    • glowing neon edges
    • warped color bands
    • digital-chemical tonality
  4. Encoding
    Output is encoded using Videobeaux global settings for codec, CRF, and pixel format.

Program Template

videobeaux -P xrgb \
  -i input.mp4 \
  -o output.mp4

Arguments

  • (No additional program-specific arguments; uses global videobeaux options only.)

Real World Example

videobeaux -P xrgb \
  -i myvideo.mp4 \
  -o xrgb_styled.mp4

Program Output

<video controls preload="metadata" style="max-width:100%; border-radius:8px; margin:1em 0;"> <source src="https://github.com/user-attachments/assets/c9644cd5-a584-4f0d-ada3-13046e6938a5" type="video/mp4"> Your browser does not support the video tag. </video>

Technical Notes

  • Bright, high-contrast footage produces the most dramatic RGB explosions.
  • Low-saturation footage transforms into hard-edged neon fields.
  • Compression interacts strongly with extreme channel imbalance; high CRF yields noisy rainbowing.
  • Works exceptionally well before glitch modules such as crossmosh or lsd_feedback.
  • Psychedelic music videos.
  • Glitch-art edits requiring aggressive color disruption.
  • Abstract collage or RGB-driven montage.
  • Visualizer loops with electric chromatic energy.
  • Maximalist stylization pipelines that reject naturalistic color.

Quality Tips

  • Lower CRF helps maintain smooth gradients inside extreme color zones.
  • Higher CRF introduces chaotic grain — useful for grunge or noisy RGB corruption.
  • Combine with slight_smear for neon-blooming distortion.
  • Apply blur_pix afterward for soft neon haze; apply beforehand for sharpened RGB breaks.
  • For a colder palette, chain steel_wash after xrgb; for warmer neon, chain wbflare.
Effect

zapruder

Description

Applies a stylized “Zapruder film” aesthetic inspired by the iconic 1960s 8mm footage.
The effect simulates historical analog film qualities including jitter, grain, contrast instability, chromatic fading, and hand-held mechanical wobble.

The result resembles degraded archival film transferred from aging physical media.

Purpose

zapruder is designed for creators who want:

  • an old-film documentary aesthetic,
  • jittery analog motion reminiscent of early consumer cameras,
  • heavy grain and historical degradation,
  • warm-to-greenish retro color shifts,
  • a single-command tool to invoke archival authenticity.

How It Works

  1. Film Jitter Simulation
    Slight irregular frame-to-frame positional shifts mimic hand-held mechanical cameras.
  2. Grain Injection
    Dense analog-style grain overlays the footage.
  3. Contrast and Color Fading
    Produces warm, desaturated tones typical of 1960s film stock and old transfers.
  4. Softening & Bloom
    Highlights bloom slightly while edges lose digital sharpness.
  5. Encoding
    Output is encoded using Videobeaux global CRF, codec, and pixel-format settings.

Program Template

videobeaux -P zapruder \
  -i input.mp4 \
  -o output.mp4

Arguments

  • (No additional program-specific arguments; uses global videobeaux options only.)

Real World Example

videobeaux -P zapruder \
  -i myvideo.mp4 \
  -o zapruder_styled.mp4

Program Output

<video controls preload="metadata" style="max-width:100%; border-radius:8px; margin:1em 0;"> <source src="https://github.com/user-attachments/assets/cad79483-b21f-43b8-a1cd-91ed8406574a" type="video/mp4"> Your browser does not support the video tag. </video>

Technical Notes

  • Medium-to-high grain source footage blends best with the effect.
  • Extremely dark footage may become muddy due to stacked film noise.
  • High-motion scenes highlight jitter and wobble most effectively.
  • Works as a final stylistic layer or early preprocessing step depending on workflow intention.
  • Fake archival footage for narrative or documentary storytelling.
  • Flashback sequences, memory montages, or historical reenactments.
  • Vintage collage art and experimental cinema.
  • Creating “lost media” textures.
  • Combining with bad_predator, nostalgic_stutter, or lofi effects for layered retro realism.

Quality Tips

  • Lower CRF preserves film grain more cleanly.
  • Higher CRF adds compression grit, which can enhance the degraded look.
  • Add blur_pix beforehand for softer, more analog edges.
  • Apply LUTs after the effect if you want to preserve the vintage tonal palette.
  • Combine with reverse and speed for scratched-film temporal irregularity.
Utility

captburn

Description

Burns subtitles, captions, or transcript text directly into the video with precise styling, timing, and layout control

Arguments

  • caption
  • style
  • rollup_lines
  • words_per_line
  • font
  • font_size
  • bold
  • italic
  • primary
  • outline
  • outline_width
  • shadow
  • back
  • back_opacity
  • scale_x
  • scale_y
  • spacing
  • rotate
  • margin_l
  • margin_r
  • margin_v
  • align
  • border_style
  • x
  • y
  • move
  • vcodec
  • crf
  • preset

Program Template

videobeaux -P captburn -i input.mp4 -o output.mp4 --caption VALUE --style VALUE --rollup_lines VALUE --words_per_line VALUE --font VALUE --font_size VALUE --bold VALUE --italic VALUE --primary VALUE --outline VALUE --outline_width VALUE --shadow VALUE --back VALUE --back_opacity VALUE --scale_x VALUE --scale_y VALUE --spacing VALUE --rotate VALUE --margin_l VALUE --margin_r VALUE --margin_v VALUE --align VALUE --border_style VALUE --x VALUE --y VALUE --move VALUE --vcodec VALUE --crf VALUE --preset VALUE

Real World Example

videobeaux -P captburn -i myvideo.mp4 -o captburn_styled.mp4 --caption EXAMPLE --style EXAMPLE --rollup_lines EXAMPLE --words_per_line EXAMPLE --font EXAMPLE --font_size EXAMPLE --bold EXAMPLE --italic EXAMPLE --primary EXAMPLE --outline EXAMPLE --outline_width EXAMPLE --shadow EXAMPLE --back EXAMPLE --back_opacity EXAMPLE --scale_x EXAMPLE --scale_y EXAMPLE --spacing EXAMPLE --rotate EXAMPLE --margin_l EXAMPLE --margin_r EXAMPLE --margin_v EXAMPLE --align EXAMPLE --border_style EXAMPLE --x EXAMPLE --y EXAMPLE --move EXAMPLE --vcodec EXAMPLE --crf EXAMPLE --preset EXAMPLE
Utility

chain_builder

:contentReference[oaicite:1]{index=1}

Description

Assembles a sequence of Videobeaux program steps into a single automated workflow, chaining multiple transformations into one output.
Allows creators to design multi-stage processing pipelines without running several commands manually.

Purpose

chain_builder enables complex, multi-step Videobeaux workflows such as:

  • running tonemap → gamma_fix → lut_apply → watermark in one sequence,
  • preparing media through multiple normalization steps,
  • automating creative pipelines for repeatable results,
  • building advanced transformations without shell scripts,
  • simplifying batch workflows across large media libraries.

This tool acts as a meta-controller that executes multiple Videobeaux programs in the specified order.

How It Works

  1. Chain Input
    The chain argument accepts a structured definition of steps, typically referencing individual Videobeaux modules.
  2. Sequential Execution
    Each step in the chain is executed in the order provided—output from one step becomes input for the next.
  3. Intermediate Handling
    Temporary outputs may be generated (depending on implementation) before the final render is written.
  4. Final Output
    The result of the last program in the sequence is written to -o.

Program Template

videobeaux -P chain_builder \
  -i input.mp4 \
  -o output.mp4 \
  --chain VALUE

Arguments

  • chain — A structured representation of the ordered programs to run (e.g., a serialized list or JSON-like definition).

Real World Example

videobeaux -P chain_builder \
  -i myvideo.mp4 \
  -o chain_builder_styled.mp4 \
  --chain EXAMPLE

Technical Notes

  • Each chained step operates exactly as if run individually via Videobeaux.
  • Temporary intermediate files may be used depending on the complexity of the pipeline.
  • Errors in any step cause the chain to halt unless fault-tolerance logic is implemented.
  • Useful for combining CPU/GPU-heavy operations into one reproducible pipeline.
  • Full preprocessing pipelines (denoise → gamma fix → resize → LUT).
  • Automated delivery formatting for episodic or batch workflows.
  • Creative chains applying several stylizations in sequence.
  • Rapid prototyping of multi-step effects before writing scripts.

Quality Tips

  • Keep chains readable and modular; long chains are easier to maintain when broken into logical groups.
  • Validate each step independently before adding it to a chain.
  • Store commonly used chains in version control to maintain consistency.
  • Ensure your intermediate steps output in a high-quality format to avoid cumulative degradation.
Utility

convert

:contentReference[oaicite:1]{index=1}

Description

Performs a simple video file conversion using global Videobeaux encoding settings.
Useful for remuxing, transcoding, codec changes, rewrapping containers, or generating standardized media versions.

Purpose

convert exists as a lightweight, universal tool for turning one media container or codec into another.
This is ideal for:

  • converting incompatible formats into editing-friendly files,
  • rewrapping media without re-encoding,
  • transcoding to delivery-safe formats,
  • preparing videos for downstream Videobeaux programs,
  • batch normalization of mixed-file libraries.

How It Works

  1. Input Decoding
    The source file is decoded as needed, depending on global codec options.
  2. Re-encode or Stream Copy
    • If no codec is specified, Videobeaux uses its global defaults.
    • If codecs are set globally (vcodec, acodec), convert applies them here.
    • If settings allow stream copy, the video may be remuxed without re-encoding.
  3. Output Writing
    The converted or rewrapped video is written to the path specified via -o.
  4. No Additional Logic
    This program intentionally provides a pure conversion operation, without filtering or modification.

Program Template

videobeaux -P convert \
  -i input.mp4 \
  -o output.mp4

Arguments

  • (No program-specific arguments — this module relies entirely on Videobeaux global encoding settings.)

Real World Example

videobeaux -P convert \
  -i myvideo.mp4 \
  -o convert_styled.mp4

Technical Notes

  • Rewrapping (e.g., MKV → MP4) is extremely fast when using stream copy.
  • Full transcoding (e.g., H.264 → ProRes, AAC → WAV) depends on global audio/video codec settings.
  • File size and transcoding time are directly impacted by CRF, bitrate, and preset settings.
  • Useful for generating clean, uniform input files before applying more complex Videobeaux processes.
  • Normalizing transcoded footage from varied sources.
  • Preparing content for editing systems that dislike certain containers/codecs.
  • Creating proxy versions for offline workflows.
  • Converting videos to universally compatible formats for distribution, archive, or broadcast.

Quality Tips

  • Use a low CRF (14–18) for high-quality archival intermediates.
  • If the goal is speed, choose faster presets (e.g., faster, fast).
  • For maximum compatibility, output H.264 + AAC in MP4.
  • For high-end workflows, output ProRes or another mezzanine codec.
  • Always verify that audio channel layouts survive the conversion correctly.
Utility

convert_dims

Description

Converts the dimensions of a video to a chosen preset (e.g., 1080p, instagram_reels, tiktok_video) and applies a configurable aspect-ratio handling mode (pad, fit, fill, fill_crop, stretch).
Supports portrait overrides, crop/pad anchoring, custom pad color, and scaling kernel selection.

Purpose

convert_dims provides a predictable, explicit way to resize video assets into standardized resolutions for:

  • social platforms (Reels, Shorts, TikTok, Stories),
  • broadcast or web delivery,
  • square or portrait exports,
  • ultrawide and cinema formats,
  • archival normalization.

It gives direct control over how the aspect ratio is treated: padded, stretched, cropped, or fit.

How It Works

  1. Preset Selection
    --preset chooses a named dimension from a predefined list (e.g., 1080p, square1080, instagram_reels, portrait4k, ultrawide1440, etc.).
    Each preset maps to a fixed width/height pair.

  2. Portrait Override
    --portrait-full forces a 9:16 portrait output based on the preset’s larger side, using a full-frame cover + crop (fill_crop behavior).

  3. Mode Handling
    --mode controls aspect-ratio handling:

    • pad – keep AR, fit inside target, pad with color as needed.
    • fit – keep AR, fit inside target, no padding (may not fill entire frame).
    • fill / fill_crop – cover the frame and center-crop to the target size.
    • stretch – ignore AR, stretch directly to target dimensions.

    If --mode is not set, --translate (deprecated) chooses between:

    • yesstretch
    • nopad
  4. Anchor & Padding
    --anchor biases where crop or pad happens (center, top, bottom, left, right, top_left, etc.).
    --pad-color defines the color of any added borders.

  5. Scaling Quality
    --scale-flags selects the FFmpeg scale kernel (lanczos, bicubic, bilinear, neighbor), affecting sharpness and performance.

  6. Encoding & Output

    • Output filename is resolved to match --output-format extension.
    • Video is encoded via libx264 (yuv420p, ~5000k, medium preset) with AAC audio and +faststart for streaming-friendly MP4/MOV.

Program Template

videobeaux -P convert_dims \
  -i input.mp4 \
  -o output.mp4 \
  --output-format VALUE \
  --preset VALUE \
  --mode VALUE \
  --translate VALUE \
  --anchor VALUE \
  --pad-color VALUE \
  --scale-flags VALUE \
  --portrait-full

Arguments

  • output-format — Required. Output file format/extension (e.g., mp4, mov). If the -o path has a different suffix, it is replaced with this.
  • preset — Required. Named dimension preset (e.g., 1080p, square1080, instagram_reels, tiktok_video, ultrawide1440, etc.). Each maps to a specific width/height.
  • mode — Aspect-ratio handling mode:
    • pad – maintain AR, fit inside target, pad with color.
    • fit – maintain AR, fit inside target, no padding.
    • fill, fill_crop – cover target and center-crop based on anchor.
    • stretch – ignore AR and stretch to the exact width/height.
  • translate — Deprecated compatibility flag. When --mode is not set:
    • yes → behaves like stretch.
    • no → behaves like pad.
  • anchor — Crop/pad bias position:
    • center, top, bottom, left, right,
    • top_left, top_right, bottom_left, bottom_right.
      Affects where the image sits when padding or cropping.
  • pad-color — Hex color for padding borders in pad mode (e.g., #000000, #FFFFFF).
  • scale-flags — Scaling kernel: lanczos, bicubic, bilinear, or neighbor. Controls quality vs speed.
  • portrait-full — When present, forces a 9:16 full-frame portrait output using the preset’s larger dimension as height and a derived width, then uses a cover + crop mode (effectively fill_crop).

Available Presets

Each preset maps to a (width, height) pair:

  • sd – 320×240
  • 720hd – 640×360
  • 1080hd – 960×540
  • widescreen – 320×180
  • portrait1080 – 1080×1620
  • 480p – 640×480
  • 576p – 720×576
  • 720p – 1280×720
  • 1080p – 1920×1080
  • 1440p – 2560×1440
  • 4k – 3840×2160
  • 8k – 7680×4320
  • vga – 640×480
  • qvga – 320×240
  • wvga – 800×480
  • svga – 800×600
  • xga – 1024×768
  • wxga – 1280×800
  • sxga – 1280×1024
  • uxga – 1600×1200
  • wuxga – 1920×1200
  • qwxga – 2048×1152
  • qhd – 2560×1440
  • wqxga – 2560×1600
  • 5k – 5120×2880
  • portrait720 – 720×1280
  • portrait4k – 2160×3840
  • square1080 – 1080×1080
  • square720 – 720×720
  • cinema4k – 4096×2160
  • ultrawide1080 – 2560×1080
  • ultrawide1440 – 3440×1440
  • instagram_feed – 1080×1080
  • instagram_reels – 1080×1920
  • instagram_stories – 1080×1920
  • tiktok_video – 1080×1920
  • youtube_standard – 1920×1080
  • youtube_shorts – 1080×1920
  • facebook_feed – 1080×1080
  • facebook_stories – 1080×1920
  • twitter_video – 1280×720
  • twitter_square – 1080×1080
  • linkedin_video – 1920×1080
  • linkedin_square – 1080×1080
  • snapchat_video – 1080×1920
  • pinterest_video – 1080×1920
  • pinterest_square – 1000×1000

Real World Example

videobeaux -P convert_dims \
  -i myvideo.mp4 \
  -o convert_dims_instareel.mp4 \
  --output-format mp4 \
  --preset instagram_reels \
  --mode fill_crop \
  --anchor center \
  --pad-color "#000000" \
  --scale-flags lanczos \
  --portrait-full

Technical Notes

  • Dimensions are always adjusted to even values to remain codec-safe.
  • portrait-full effectively overrides mode to a full-frame, cover-style portrait crop while honoring the preset’s size.
  • scale-flags=lanczos offers high-quality resizing at the cost of some speed.
  • FFmpeg is called with:
    • -c:v libx264, -b:v 5000k, -pix_fmt yuv420p, -preset medium
    • -c:a aac, -b:a 160k, -ar 48000, -movflags +faststart
  • --force (global Videobeaux argument) controls overwrite; if not set, existing files cause an error.
  • Generating social-media-optimized versions (Reels, Shorts, Stories, TikTok).
  • Converting to square or portrait outputs while controlling crop bias via anchor.
  • Quickly standardizing deliverables to 1080p, 4K, or other common presets.
  • Converting landscape footage into vertical 9:16 promo clips using --portrait-full.

Quality Tips

  • Use mode=pad with a neutral pad-color when you want to preserve entire frames without cropping.
  • Use mode=fill_crop for platform-native aspect ratios where filling the frame is more important than preserving the entire source frame.
  • Set anchor=top or anchor=bottom for content where the action is biased toward one edge (e.g., heads near the top).
  • Keep scale-flags=lanczos for master/delivery renders; drop to bicubic or bilinear for faster, iterative tests.
  • Always verify the final AR and framing visually after using stretch to avoid unwanted distortion.
Utility

convert_mux

Description

Rewraps or converts media streams while copying or re-encoding video/audio.
Useful for repairing containers, adjusting codecs, changing formats, resolving sync issues, or preparing files for specific platforms or pipelines.

Purpose

convert_mux is Videobeaux’s advanced container/codec remuxing and transcoding utility.
Compared to the simpler convert program, convert_mux offers:

  • deeper codec configuration,
  • container formatting,
  • bitrate and rate-control management,
  • GOP and frame-rate control,
  • filter pass-through (vf),
  • audio stream shaping,
  • curated presets via --profile.

This makes it ideal for delivery specifications, pipeline normalization, or technical media prep.

How It Works

  1. Container Selection (--format)
    Determines the output container/muxer hint (mp4, mov, webm, matroska, mxf, gif, image2, avi).
  2. Profile-Based Presets (--profile)
    Selecting a profile automatically applies a curated list of FFmpeg flags (codec, pix_fmt, bitrate/quality, audio format, etc.).
  3. Manual Codecs and Quality
    If --profile is not used, you can explicitly specify:
    • --vcodec, --acodec,
    • --crf, --bitrate, --maxrate, --bufsize, --preset,
    • --pix-fmt, --gop, -r, --vf, --tagv, etc.
  4. Stream Copy Mode
    --copy bypasses re-encoding and performs a container-level remux where streams are compatible.
  5. FFmpeg Passthrough
    Extra arguments after -- are passed directly to FFmpeg (ffmpeg_args).
  6. Execution
    A command is built and run through run_ffmpeg_with_progress, echoing the FFmpeg command for transparency.

Program Template

videobeaux -P convert_mux \
  -i input.mp4 \
  -o output.mp4 \
  --format VALUE \
  --profile VALUE \
  --vcodec VALUE \
  --acodec VALUE \
  --crf VALUE \
  --bitrate VALUE \
  --maxrate VALUE \
  --bufsize VALUE \
  --preset VALUE \
  --profile-v VALUE \
  --level VALUE \
  --pix-fmt VALUE \
  --gop VALUE \
  -r VALUE \
  --vf VALUE \
  --tagv VALUE \
  --abitrate VALUE \
  --ac VALUE \
  --ar VALUE \
  --copy \
  -- FFMPPEG_ARGS...

Arguments

  • format — Force container/muxer hint (mp4, mov, webm, matroska, mxf, gif, image2, avi, etc.).
  • profile — Apply a curated preset (see Available Profiles below).
  • vcodec — Video codec (e.g., libx264, libx265, libaom-av1, prores_ks, dnxhd, mpeg2video, mpeg4, mjpeg).
  • acodec — Audio codec (e.g., aac, libopus, libmp3lame, mp3, pcm_s16le).
  • crf — Constant Rate Factor for quality control (lower = higher quality).
  • bitrate — Target video bitrate (e.g., 5M).
  • maxrate — Maximum video bitrate for rate control.
  • bufsize — VBV buffer size to pair with maxrate.
  • preset — Codec speed/efficiency preset (e.g., ultrafast, fast, slow).
  • profile-v (profile_v) — Video codec profile (e.g., high, main, baseline, or ProRes profile index).
  • level — Video level (e.g., 4.1) for device compatibility.
  • pix-fmt (pix_fmt) — Pixel format (e.g., yuv420p, yuv422p10le, yuva444p10le).
  • gop — GOP/keyframe interval in frames.
  • -r — Output frame rate (30000/1001, 25, 24, etc.).
  • vf — Video filtergraph string.
  • tagv — Force video FourCC/tag (e.g., hvc1).
  • abitrate — Audio bitrate (e.g., 192k).
  • ac — Audio channel count (e.g., 2).
  • ar — Audio sample rate (e.g., 48000).
  • copy — When set, stream copy all streams (no re-encode) if compatible.
  • ffmpeg_args — Raw arguments after -- passed directly to FFmpeg.

Available Profiles

These are the curated --profile options defined in the code, with their intent:

  • mp4_h264
    H.264 in MP4 for general web/delivery.
    • libx264, -preset veryfast, -crf 18, yuv420p, +faststart, AAC 192k stereo.
  • mp4_hevc
    HEVC/H.265 in MP4 for higher compression at similar quality.
    • libx265, -preset medium, -crf 22, -tag:v hvc1, yuv420p, +faststart, AAC 192k stereo.
  • mp4_av1
    AV1 in MP4 for very efficient modern web delivery.
    • libaom-av1, -crf 28, -b:v 0, yuv420p, +faststart, AAC 192k stereo.
  • webm_vp9
    VP9-based WebM for web platforms supporting WebM.
    • libvpx-vp9, -b:v 0, -crf 30, row-mt enabled, yuv420p, Opus 160k stereo.
  • webm_av1
    AV1 in WebM with Opus audio.
    • libaom-av1, -crf 32, -b:v 0, yuv420p, Opus 160k stereo.
  • prores_422
    ProRes 422 mezzanine for professional workflows.
    • prores_ks, -profile:v 2, yuv422p10le, PCM s16le audio.
  • prores_4444
    ProRes 4444 mezzanine with alpha support.
    • prores_ks, -profile:v 4, yuva444p10le, PCM s24le audio.
  • dnxhr_hq
    DNxHR HQ mezzanine for Avid / pro pipelines.
    • dnxhd, -profile:v dnxhr_hq, yuv422p, PCM s16le audio.
  • mxf_xdcamhd50_1080i59
    Broadcast MXF OP1a XDCAM HD 50, 1080i59.94.
    • mpeg2video at 50M CBR, interlaced, top field first, yuv422p, PCM s24le 48k stereo, -f mxf.
  • lossless_ffv1
    FFV1 lossless archival video.
    • ffv1 level 3, intra (g=1), slice CRC, PCM s24le audio.
  • gif
    GIF export preset (via palettegen/paletteuse pipeline).
    • Uses fps=15,scale=iw:-2:flags=lanczos in a filter_complex chain.
  • png_seq
    PNG image sequence output.
    • -c:v png.
  • jpg_seq
    JPEG image sequence output.
    • -qscale:v 2 (high quality JPEG).
  • mp3_320
    Audio-only MP3 at 320 kbps.
    • -vn, libmp3lame, -b:a 320k.
  • aac_192
    Audio-only AAC at 192 kbps.
    • -vn, aac, -b:a 192k.
  • flac
    Audio-only FLAC lossless.
    • -vn, flac.
  • avi_mjpeg_fast
    AVI with MJPEG video for fast, edit-friendly intermediates.
    • mjpeg with -q:v 3, PCM s16le audio.
  • avi_mpeg4_fast
    AVI with MPEG-4 video tuned for speed.
    • mpeg4, -qscale:v 3, -bf 0, -mbd 0, MP3 192k audio.

Real World Example

videobeaux -P convert_mux \
  -i myvideo.mp4 \
  -o convert_mux_styled.mp4 \
  --format mp4 \
  --profile mp4_h264

Technical Notes

  • Profiles apply after basic container inference and can override many manually specified arguments.
  • When output ends with .mp4, certain profiles that expect non-MP4 containers (webm_…, mxf_…, gif, etc.) will cause a fail-fast error to avoid confusing FFmpeg errors.
  • --copy disables most encoding options and simply remuxes streams when possible.
  • GIF and image-sequence profiles bypass typical video/audio handling and use specialized pipelines.
  • Additional raw FFmpeg flags can be appended after -- if you need something not exposed via named arguments.
  • Preparing web deliverables using mp4_h264, mp4_hevc, or mp4_av1.
  • Making pro intermediates in prores_422, prores_4444, or dnxhr_hq for editing, grading, or VFX.
  • Building broadcast MXF files with mxf_xdcamhd50_1080i59.
  • Generating GIFs, PNG/JPEG sequences, or audio-only MP3/AAC/FLAC assets.
  • Using --copy to remux without re-encoding when container changes are sufficient.

Quality Tips

  • For H.264/H.265, tune CRF and preset if not relying solely on profiles.
  • Use the ProRes and DNxHR profiles for grading/VFX workflows where multi-gen quality matters.
  • AV1 profiles (mp4_av1, webm_av1) are slower to encode but very efficient for distribution.
  • For archival, prefer lossless_ffv1 in Matroska with PCM audio.
  • Always inspect container + codec compatibility for your target platform before finalizing a profile.
Utility

download_yt

:contentReference[oaicite:1]{index=1}

Description

Downloads or rips video and audio content from YouTube (or other compatible platforms) and prepares it for processing inside Videobeaux workflows.

Purpose

download_yt is a quick-ingest utility that brings online source media into your local Videobeaux environment.
This is useful when you need:

  • reference clips for editing or remixing,
  • footage for analysis or research,
  • material for glitch, collage, or experimental video art,
  • assets for transformation inside other Videobeaux programs.

How It Works

  1. URL Retrieval
    Videobeaux (via external download tools) fetches the highest-available quality or a configured preferred resolution/format.
  2. Muxing & Cleanup
    Audio and video streams are combined into a standardized container suitable for immediate downstream processing.
  3. Global Output Handling
    Because download_yt has no program-specific arguments, all settings (filename, codecs, mapping, etc.) follow Videobeaux global defaults.
  4. Output
    The resulting video file is written to the path specified with -o.

Program Template

videobeaux -P download_yt \
  -i input.mp4 \
  -o output.mp4

Arguments

  • (No program-specific arguments — this program relies entirely on global Videobeaux input/output configuration and downloader behavior.)

Real World Example

videobeaux -P download_yt \
  -i myvideo.mp4 \
  -o download_yt_styled.mp4

Technical Notes

  • Quality of the downloaded media depends on what the source service provides (YouTube DASH streams, format variants, etc.).
  • If separate audio/video streams are delivered by the platform, Videobeaux muxes them into a single file.
  • Output format is determined by your global settings — typically MP4 unless changed.
  • For archival purposes, consider remuxing into MKV to preserve metadata.
  • Bringing online clips into your Videobeaux workflow for editing, glitching, or processing.
  • Preparing material for LUT application, tonemapping, interpolation, or compositing.
  • Rapid prototyping of creative projects using found or reference footage.
  • Downloading assets for offline study or frame-by-frame analysis.

Quality Tips

  • Always inspect resolution and bitrate of the downloaded file before high-end processing.
  • If audio quality matters, check whether the source provides separate high-quality audio tracks.
  • Consider transcoding to a mezzanine codec (e.g., ProRes) for grading or VFX workflows.
  • Large downloads benefit from using SSD storage to avoid bottlenecks.
Utility

extract_frames

:contentReference[oaicite:1]{index=1}

Description

Extracts individual frames from a video file and saves them as image files (typically PNG).
Ideal for analysis, archival, animation workflows, visual debugging, and creating frame-based artwork.

Purpose

extract_frames gives creators a fast and predictable way to output every frame (or selected frames via global videobeaux options) as standalone image files.
This is useful for:

  • animation and rotoscoping workflows,
  • ML dataset preparation,
  • glitch-art and frame-painting processes,
  • shot-by-shot inspection or QC,
  • archival still-frame extraction.

How It Works

  1. Frame Decoding
    Video frames are decoded sequentially.
  2. Image Export
    Each frame is exported as its own image file using the globally configured pixel format and image output settings.
  3. Naming Convention
    Frames are typically numbered sequentially (e.g., 000001.png, 000002.png, etc.), depending on videobeaux output rules.
  4. Output Directory
    The destination directory is defined by global videobeaux settings (--outfile, mapping rules, etc.).

Program Template

videobeaux -P extract_frames \
  -i input.mp4 \
  -o output.mp4

Arguments

  • (No program-specific arguments — this tool relies entirely on global videobeaux settings such as image format, numbering, and frame selection.)

Real World Example

videobeaux -P extract_frames \
  -i myvideo.mp4 \
  -o extract_frames_styled.mp4

Technical Notes

  • PNG is the default format due to lossless quality, but other formats may be used depending on global configuration.
  • Large videos may produce thousands of frames; ensure adequate disk space.
  • Frame extraction is decode-limited — higher-resolution videos take longer per frame.
  • If frames are dropped or duplicated in the source video stream, extraction will preserve exactly what the decoder receives.
  • Good for use ahead of per-frame manipulation tools, compositing, or generative workflows.
  • Creating frame sequences for animation, compositing, or painting.
  • Building datasets for computer vision or machine learning.
  • Inspecting motion continuity, exposure behavior, or compression artifacts.
  • Generating image sequences for later re-import into editing or FX tools.

Quality Tips

  • Use PNG for archival quality; JPG for lightweight previews.
  • If color accuracy is critical, set a high-bit-depth pixel format globally (e.g., rgb48le).
  • Use SSD storage for significantly faster write speeds on large sequences.
  • When extracting for VFX, ensure your project frame rate matches the video’s native frame rate to avoid timing mismatch.
Utility

extract_sound

:contentReference[oaicite:1]{index=1}

Description

Extracts the audio track from a video file and saves it as a standalone audio file, preserving quality and format.
Useful for sound design, transcription workflows, remixing, archival storage, or preparing audio-only deliverables.

Purpose

extract_sound allows creators to quickly isolate the audio component of any media file.
This is ideal for:

  • podcasts derived from video interviews,
  • music extraction for editing or remixing,
  • voice-over capture,
  • archival audio preparation,
  • preprocessing audio for tools like transcription or captioning.

How It Works

  1. Stream Selection
    The tool identifies the primary audio stream from the input file.
  2. Direct Copy or Re-encode
    Depending on videobeaux global flags, audio is either:
    • copied without re-encoding for perfect fidelity, or
    • encoded with the user-specified audio codec and bitrate.
  3. Output Rendering
    The extracted audio is written to the output file specified with -o.
  4. No Video Processing
    Video streams are ignored; only the audio track is saved.

Program Template

videobeaux -P extract_sound \
  -i input.mp4 \
  -o output.mp4

Arguments

  • (No program-specific arguments — this tool relies entirely on global videobeaux audio settings such as codec, bitrate, and container format.)

Real World Example

videobeaux -P extract_sound \
  -i myvideo.mp4 \
  -o extract_sound_styled.mp4

Technical Notes

  • The output file extension determines the final audio container (e.g., .mp3, .wav, .aac).
  • If no re-encode options are given, videobeaux may default to stream copy.
  • Multi-track audio is not mixed—typically the first audio stream is extracted unless overridden globally.
  • Useful for batch pipelines when paired with folder recursion or metadata extraction.
  • Extracting dialogue or interviews for transcription.
  • Creating podcast audio from filmed sessions.
  • Pulling music or SFX layers from video renders.
  • Archival workflows where audio must be stored separately.

Quality Tips

  • Use .wav for lossless extraction.
  • Use .aac or .mp3 for lightweight distribution formats.
  • If audio is distorted or clipped, normalize or limit in a separate audio-processing step.
  • When exporting from mixed sources, ensure consistent bitrate settings to avoid quality mismatches.
Utility

frame_interpolate

:contentReference[oaicite:1]{index=1}

Description

Generates smooth slow-motion or higher-FPS video by creating intermediate frames using motion-compensated interpolation.

Purpose

frame_interpolate creates additional frames between existing frames to produce:

  • ultra-smooth slow motion,
  • high-FPS versions of footage,
  • stabilized motion flow for VR, gaming, or cinematic sequences,
  • visually enhanced motion for archival or restoration tasks.

It supports multiple interpolation engines (RIFE, DAIN, FFmpeg Minterpolate), allowing both high-quality deep-learning interpolation and traditional optical-flow methods.

How It Works

  1. Engine Selection
    Choose interpolation backend:
    • rife (AI-based, fast, high quality)
    • dain (AI-based, depth-aware interpolation)
    • ffmpeg (classical minterpolate optical flow)
  2. Interpolation Strategy
    • fps: Defines the exact output frame rate.
    • multiplier: Doubles, triples, or otherwise multiplies the existing frame count.
  3. Optical Flow Configuration (FFmpeg engine)
    • mi_mode, me_mode, mc_mode configure interpolation, motion estimation, and motion compensation logic.
    • vsbmc enables virtual scene-based motion compensation.
    • scd toggles scene-change detection to prevent warping across hard cuts.
  4. AI Engine Configuration
    • rife_bin and dain_bin specify executable paths or binaries for AI interpolation engines.
  5. Encoding Output is encoded using CRF + preset settings, with optional audio copying.

Program Template

videobeaux -P frame_interpolate \
  -i input.mp4 \
  -o output.mp4 \
  --outfile VALUE \
  --engine VALUE \
  --fps VALUE \
  --multiplier VALUE \
  --mi_mode VALUE \
  --me_mode VALUE \
  --mc_mode VALUE \
  --vsbmc VALUE \
  --scd VALUE \
  --x264_preset VALUE \
  --crf VALUE \
  --copy_audio VALUE \
  --rife_bin VALUE \
  --dain_bin VALUE

Arguments

  • outfile — Output filename for the interpolated result.
  • engine — Interpolation engine (rife, dain, ffmpeg).
  • fps — Target frames per second for output video.
  • multiplier — Multiplies frame count (e.g., 2×, 4×, 8×).
  • mi_mode — Minterpolate mode (FFmpeg engine).
  • me_mode — Motion estimation algorithm.
  • mc_mode — Motion compensation method.
  • vsbmc — Enables scene-based motion compensation.
  • scd — Scene-change detection toggle.
  • x264_preset — Encoder preset for libx264.
  • crf — Constant Rate Factor controlling video quality.
  • copy_audio — Copies original audio without re-encoding.
  • rife_bin — Path to RIFE binary for AI interpolation.
  • dain_bin — Path to DAIN binary for AI interpolation.

Real World Example

videobeaux -P frame_interpolate \
  -i myvideo.mp4 \
  -o frame_interpolate_styled.mp4 \
  --outfile EXAMPLE \
  --engine EXAMPLE \
  --fps EXAMPLE \
  --multiplier EXAMPLE \
  --mi_mode EXAMPLE \
  --me_mode EXAMPLE \
  --mc_mode EXAMPLE \
  --vsbmc EXAMPLE \
  --scd EXAMPLE \
  --x264_preset EXAMPLE \
  --crf EXAMPLE \
  --copy_audio EXAMPLE \
  --rife_bin EXAMPLE \
  --dain_bin EXAMPLE

Technical Notes

  • AI engines (RIFE/DAIN) generally produce the smoothest and least artifact-prone interpolation.
  • FFmpeg’s minterpolate can introduce warping around fast motion or scene cuts—use scd=true to reduce artifacts.
  • High multiplier values (4×, 8×) should be paired with AI engines for best results.
  • GPU acceleration may be required for realtime or high-resolution AI interpolation.
  • Audio is not stretched—slow-motion audio must be handled separately if desired.
  • Slow-motion cinematic sequences.
  • High-FPS playback for sports, action, and dance footage.
  • Animation smoothing for stylized or experimental outputs.
  • Restoring archival footage to modern frame rates (e.g., 12fps → 24fps).
  • Motion interpolation for VR or interactive displays.

Quality Tips

  • Prefer RIFE for general-purpose high-quality interpolation.
  • Use DAIN when accuracy around depth edges is important.
  • Avoid interpolating across scene cuts; enable scd.
  • Start with CRF 16–20; lower values for grading-quality output.
  • Test different multipliers—sometimes 2× looks more natural than 4×.
Utility

gamma_fix

:contentReference[oaicite:1]{index=1}

Description

Normalizes gamma, brightness, and exposure levels for broadcast-safe or web-safe consistency across diverse footage.

Purpose

gamma_fix is designed to correct inconsistent exposure, contrast, and gamma shifts that often appear when mixing footage from multiple cameras, phones, archives, or lighting conditions.
It provides predictable luminance normalization suitable for:

  • web delivery,
  • broadcast pipelines,
  • archival stabilization,
  • color prep before LUTs or grading.

How It Works

  1. Luma Analysis
    The program evaluates input brightness and computes adjustments toward target_yavg.
  2. Contrast Shaping
    min_contrast and max_contrast constrain the allowed contrast stretch, preventing overcorrection.
  3. Gamma Adjustment
    A user-specified gamma curve can brighten or darken midtones without clipping shadows or highlights.
  4. Saturation Shaping
    sat provides global saturation control to compensate for washed-out or overly vivid sources.
  5. Legalization
    When enabled, legalize ensures output luminance stays within broadcast-safe IRE ranges.
  6. Encoding
    Output is encoded using the selected codec, preset, and CRF.

Program Template

videobeaux -P gamma_fix \
  -i input.mp4 \
  -o output.mp4 \
  --target_yavg VALUE \
  --min_contrast VALUE \
  --max_contrast VALUE \
  --gamma VALUE \
  --sat VALUE \
  --legalize VALUE \
  --vcodec VALUE \
  --crf VALUE \
  --preset VALUE \
  --acodec VALUE \
  --ab VALUE

Arguments

  • target_yavg — Target brightness (luma average) to normalize toward.
  • min_contrast — Minimum allowed contrast level after adjustment.
  • max_contrast — Maximum allowed contrast level after adjustment.
  • gamma — Gamma correction multiplier for shaping midtones.
  • sat — Saturation adjustment factor.
  • legalize — Ensures output levels conform to broadcast-safe luminance ranges.
  • vcodec — Video codec to use for output (e.g., libx264).
  • crf — Constant Rate Factor controlling video quality.
  • preset — Encoding speed/quality preset.
  • acodec — Audio codec.
  • ab — Audio bitrate.

Real World Example

videobeaux -P gamma_fix \
  -i myvideo.mp4 \
  -o gamma_fix_styled.mp4 \
  --target_yavg EXAMPLE \
  --min_contrast EXAMPLE \
  --max_contrast EXAMPLE \
  --gamma EXAMPLE \
  --sat EXAMPLE \
  --legalize EXAMPLE \
  --vcodec EXAMPLE \
  --crf EXAMPLE \
  --preset EXAMPLE \
  --acodec EXAMPLE \
  --ab EXAMPLE

Technical Notes

  • Gamma correction subtly adjusts midtone brightness without flattening highlights.
  • Luma averaging helps normalize footage from mixed sources with inconsistent exposure.
  • Excessive contrast stretching may introduce noise—use moderate ranges for natural results.
  • Broadcast-safe legalization prevents clipped peaks in deliverables meant for TV or streaming platforms.
  • Saturation adjustments apply globally; fine-grained color correction should be done in grading tools.
  • Normalizing multi-camera footage before editing.
  • Preparing consistent brightness for LUT workflows or grading.
  • Fixing underexposed or flat-looking archive material.
  • Making levels compliant for broadcast delivery requirements.

Quality Tips

  • Start with small gamma adjustments for natural tonal shifts.
  • Set target_yavg close to typical mid-gray values (around 40–55% normalized luma).
  • Use moderate sat boosts (1.05–1.15) to avoid color clipping.
  • Lower CRF (14–18) retains quality when making heavy tonal corrections.
  • Always inspect waveform before and after applying legalization.
Utility

hash_fingerprint

:contentReference[oaicite:0]{index=0}

Description

Creates unique fingerprints of video files using checksums, perceptual hashing, or frame-level hashing.
Useful for deduplication, archival identification, similarity matching, and database cataloging.

Purpose

hash_fingerprint allows Videobeaux users to generate machine-identifiable signatures from media files.
This supports:

  • duplicate detection,
  • content-based indexing,
  • frame-level comparison,
  • large-scale archival workflows,
  • catalog metadata generation,
  • cross-system verification of assets.

How It Works

  1. File System Scanning
    • recursive allows walking entire folder trees.
    • exts restricts scanning to specific file types.
  2. Hash Types
    The tool can generate several forms of fingerprints:
    • file_hashes → whole-file digests (MD5, SHA1, etc.)
    • stream_hash → stream-level checksums from container metadata
    • framemd5 → per-frame MD5s for high-precision comparison
    • phash → perceptual hash used for similarity matching rather than byte-exact comparison
  3. Perceptual Hashing Controls
    • phash_fps determines how many frames per second are sampled.
    • phash_size sets the resolution of the perceptual hash grid.
  4. Catalog Output
    A fingerprint catalog can be generated for long-term storage, search systems, or dataset builds.
  5. Stream Selection
    stream_kind allows selecting video/audio/subtitle streams depending on the hashing method.

Program Template

videobeaux -P hash_fingerprint \
  -i input.mp4 \
  -o output.mp4 \
  --recursive VALUE \
  --exts VALUE \
  --file_hashes VALUE \
  --stream_hash VALUE \
  --framemd5 VALUE \
  --phash VALUE \
  --phash_fps VALUE \
  --phash_size VALUE \
  --catalog VALUE \
  --stream_kind VALUE

Arguments

  • recursive — Enables recursive folder scanning for batch fingerprinting.
  • exts — Comma-separated extensions to include (e.g., mp4,mov,mkv).
  • file_hashes — Generates byte-level file digests for exact-match identification.
  • stream_hash — Computes hash digests for individual media streams.
  • framemd5 — Produces an MD5 hash for every decoded frame; extremely precise but large.
  • phash — Enables perceptual hashing for similarity comparisons.
  • phash_fps — Number of frames per second to sample for phash generation.
  • phash_size — Resolution of the phash grid (larger = more detail).
  • catalog — Outputs results into a catalog file for later lookup or indexing.
  • stream_kind — Specifies which stream type to fingerprint (e.g., v, a, s).

Real World Example

videobeaux -P hash_fingerprint \
  -i myvideo.mp4 \
  -o hash_fingerprint_styled.mp4 \
  --recursive false \
  --exts mp4,mov \
  --file_hashes true \
  --stream_hash true \
  --framemd5 false \
  --phash true \
  --phash_fps 1 \
  --phash_size 32 \
  --catalog true \
  --stream_kind v

Technical Notes

  • File hashes ensure perfect binary-level identification, but cannot detect visually similar variants.
  • Perceptual hashing (phash) is ideal for detecting duplicates that differ by transcoding, compression, or scaling.
  • framemd5 is extremely accurate but produces large files; best for forensic comparison.
  • Catalog files allow large-scale search across thousands of items.
  • Adjust phash_fps and phash_size to balance between accuracy and performance.
  • Archival fingerprinting for media libraries.
  • Deduplication of large video collections.
  • Detecting alternate encodes of the same content.
  • Forensic verification and tamper detection.
  • Preparing similarity datasets for AI/ML workflows.

Quality Tips

  • Use phash_fps=1–3 for good coverage without heavy overhead.
  • Higher phash_size (e.g., 32–64) improves discrimination of similar videos.
  • Use framemd5 only when exact frame-level matching is required.
  • Always include catalog=true for batch processing or long-term reference.
Utility

lut_apply

Description

Applies a 1D or 3D LUT to recolor a video, enabling film-style grading, color transforms, technical conversions, or creative look development.

Purpose

lut_apply integrates LUT-based color grading into Videobeaux pipelines.
It is useful for:

  • applying film emulation looks,
  • technical color transforms (LOG → REC.709),
  • stylized grades for creative pieces,
  • batch processing LUT workflows,
  • previewing looks before finishing in a grading suite.

How It Works

  1. LUT Loading
    Loads a .cube, .3dl, or other LUT file defined by the lut parameter.
  2. Interpolation
    Chooses how input colors interpolate through the 3D LUT grid (interp).
  3. Intensity Blending
    intensity controls the LUT’s strength—useful for subtle looks or partial grading mixes.
  4. Image Corrections
    Optional adjustments for:
    • brightness
    • contrast
    • saturation
    • gamma
      These adjustments apply before or after LUT evaluation depending on implementation.
  5. Output Encoding
    Output is encoded with provided pixel format, CRF, preset, and optional audio copy.

Program Template

videobeaux -P lut_apply \
  -i input.mp4 \
  -o output.mp4 \
  --outfile VALUE \
  --vcodec VALUE \
  --lut VALUE \
  --interp VALUE \
  --intensity VALUE \
  --brightness VALUE \
  --contrast VALUE \
  --saturation VALUE \
  --gamma VALUE \
  --pix_fmt VALUE \
  --x264_preset VALUE \
  --crf VALUE \
  --copy_audio VALUE

Arguments

  • outfile — Output file name for the rendered, LUT-applied video.
  • vcodec — Video codec to use (e.g., libx264, libx265, prores_ks).
  • lut — Path to the LUT file (.cube, .3dl, etc.).
  • interp — LUT interpolation mode (nearest, trilinear, or other supported methods).
  • intensity — Blending amount between original image and LUT-graded image (0.0–1.0).
  • brightness — Brightness correction applied pre/post LUT.
  • contrast — Contrast adjustment applied in grading pipeline.
  • saturation — Saturation control for color richness.
  • gamma — Gamma correction applied for tonal shaping.
  • pix_fmt — Pixel format (e.g., yuv420p, yuv422p10le, rgb24).
  • x264_preset — Encoding speed vs compression preset for libx264.
  • crf — Constant Rate Factor controlling output quality.
  • copy_audio — Copies audio from source without re-encoding when enabled.

Real World Example

videobeaux -P lut_apply \
  -i myvideo.mp4 \
  -o lut_apply_styled.mp4 \
  --outfile EXAMPLE \
  --vcodec EXAMPLE \
  --lut EXAMPLE \
  --interp EXAMPLE \
  --intensity EXAMPLE \
  --brightness EXAMPLE \
  --contrast EXAMPLE \
  --saturation EXAMPLE \
  --gamma EXAMPLE \
  --pix_fmt EXAMPLE \
  --x264_preset EXAMPLE \
  --crf EXAMPLE \
  --copy_audio EXAMPLE

Technical Notes

  • LUTs created for LOG footage require matching input color space before use.
  • Interpolation type affects smoothness—trilinear is typically best for high-quality grading.
  • Gamma adjustments can shift midtone density; use subtly for filmic shaping.
  • Blending via intensity is ideal for creative fades or adjustable look-dev.
  • Some LUTs clip out-of-gamut colors; test with challenging footage.
  • Film emulation workflows and creative looks.
  • Technical transforms (camera LOG → REC.709).
  • Batch applying LUTs for directories of dailies or reference renders.
  • Experimenting with looks before importing into grading applications.

Quality Tips

  • For cinematic grading, keep intensity around 0.6–0.85 for balanced results.
  • Always preview LUTs with a variety of footage—some LUTs are extremely contrast-heavy.
  • When color banding appears, switch to a 10-bit pixel format like yuv422p10le.
  • Use lower CRF values (14–18) for grading-quality output.
  • Avoid stacking extreme brightness, saturation, and LUT intensity simultaneously to reduce clipping.
Utility

meta_extraction

Description

Extracts detailed metadata—such as codecs, bitrates, dimensions, color information, loudness, black-frame metrics, and stream structure—from any media file.

Purpose

meta_extraction is designed to provide deep insight into media characteristics for:

  • archival workflows,
  • QC diagnostics,
  • automated processing pipelines,
  • research or analytics tasks,
  • downstream editing or transcoding decisions.

It can scan frames, detect black segments, analyze loudness, and output structured metadata for additional tools.

How It Works

  1. Stream Inspection
    Reads the container and stream-level metadata (codec, resolution, color space, duration, bitrates, etc.).
  2. Frame Sampling
    • sample_frames sets how many frames to analyze.
    • sample_stride controls spacing between sampled frames.
    • sample_limit prevents excessive scanning on long videos.
  3. Black Frame Detection
    If enabled, black detection evaluates frames for luminance thresholds.
    • black_pic_th tunes sensitivity.
    • black_dur_min sets minimum black duration to report.
    • blackdetect toggles the feature.
  4. Loudness Analysis
    When enabled, checks LU, LRA, and peak values for broadcast loudness compliance.
  5. Output
    Metadata is written to a structured file (JSON or text depending on implementation).

Program Template

videobeaux -P meta_extraction \
  -i input.mp4 \
  -o output.mp4 \
  --outputfile VALUE \
  --sample_frames VALUE \
  --sample_stride VALUE \
  --sample_limit VALUE \
  --blackdetect VALUE \
  --black_pic_th VALUE \
  --black_dur_min VALUE \
  --loudness VALUE

Arguments

  • outputfile — Name of the metadata output file produced by the scan.
  • sample_frames — Total number of frames to sample for inspection.
  • sample_stride — Number of frames skipped between each analyzed frame.
  • sample_limit — Maximum frame count allowed during sampling.
  • blackdetect — Enables detection of black frames and black segments.
  • black_pic_th — Pixel-level threshold for determining whether a frame is considered black.
  • black_dur_min — Minimum duration (seconds) of black required to register as a black segment.
  • loudness — Enables loudness analysis (LUFS, LRA, true peak).

Real World Example

videobeaux -P meta_extraction \
  -i myvideo.mp4 \
  -o meta_extraction_styled.mp4 \
  --outputfile EXAMPLE \
  --sample_frames EXAMPLE \
  --sample_stride EXAMPLE \
  --sample_limit EXAMPLE \
  --blackdetect EXAMPLE \
  --black_pic_th EXAMPLE \
  --black_dur_min EXAMPLE \
  --loudness EXAMPLE

Technical Notes

  • Metadata extraction is extremely fast because only sampled frames are examined.
  • Excessive sample_frames or low sample_stride may increase scan time.
  • Black detection is luminance-based; noisy or low-light footage may require adjusted thresholds.
  • Loudness metrics follow broadcast-standard measurement curves.
  • Great for building metadata catalogs or dashboards.
  • Preflight analysis before encoding or delivery.
  • QC checks for broadcast, festival, or archival compliance.
  • Automated pipelines needing structural insight into media files.
  • Generating metadata for UI previews, asset managers, or machine-learning datasets.

Quality Tips

  • Use black_pic_th between 0.05–0.10 for most SDR footage.
  • Increase sample_stride to speed up scans on long files.
  • Keep sample_limit reasonable to avoid unnecessary overhead.
  • Enable loudness for interview, dialog, or broadcast deliverables.
Utility

num_edits

Description

Analyzes a timeline or cut structure to count edits, transitions, or shot boundaries for editorial statistics, QC, or structural analysis.

Purpose

num_edits provides fast editorial metrics by identifying the number of cuts, transitions, or shot boundaries in a video.
This helps with:

  • QC validation,
  • editorial pacing analysis,
  • archive metadata generation,
  • automated editing metrics,
  • machine-learning dataset preparation.

How It Works

  1. Shot Boundary Detection
    Uses visual or luminance-based thresholds to detect edits between shots.
  2. Event Counting
    Each boundary event increments the edit count.
  3. Reporting
    The final count is embedded or returned based on videobeaux pipeline logic.
  4. Speed-Optimized
    Designed for rapid scanning across long-form footage or batch libraries.

Program Template

videobeaux -P num_edits \
  -i input.mp4 \
  -o output.mp4 \
  --count VALUE

Arguments

  • count — Enables or configures the edit-counting logic. Usually true or a mode such as basic vs detailed depending on implementation.

Real World Example

videobeaux -P num_edits \
  -i myvideo.mp4 \
  -o num_edits_styled.mp4 \
  --count true

Technical Notes

  • Detection may use pixel-wise difference, histogram deltas, or scene-change detection filters under the hood.
  • Thresholds vary with footage type; high-motion sequences may generate more detected edits.
  • The tool does not modify video; it only analyzes structure.
  • Useful in workflows that require edit-density analytics or QC verification.
  • Counting edits in commercials, music videos, or high-cut-rate content.
  • Generating metadata for cataloging systems or research datasets.
  • Automated QC workflows to detect unexpected edit patterns.
  • Comparing pacing between cuts or across versions of an edit.

Quality Tips

  • Use higher thresholds for shaky or handheld footage to avoid false positives.
  • Use lower thresholds when analyzing animation or motion-poor material.
  • For statistical studies, run the tool consistently with identical settings across all sources.
Utility

qwikchop

Description

Rapidly slices videos into precise segments based on timecodes or cut lists, optimized for speed and batch operations.

Purpose

qwikchop is built for extremely fast segment extraction, allowing you to cut a video into many pieces without re-encoding.
It supports:

  • cut lists,
  • recursive directory processing,
  • black-frame trimming,
  • segment cleanup rules,
    making it ideal for large workflows like commercial removal, archive splitting, and automated editing pipelines.

How It Works

  1. Piece Definition
    The pieces argument defines cut points—either explicit timecodes or references to external lists.
  2. Recursive Mode
    If recurse is enabled, the tool processes all media files inside a directory tree.
  3. Black Frame Detection
    • trim_black_front removes silent/black leader.
    • black_scan, black_thresh, and black_pict tune detection sensitivity.
  4. Padding Controls
    • edge_pad_pre and edge_pad_post adjust segment timing to avoid cutting too close to transitions.
  5. Minimum Edit Length
    min_edit prevents creation of fragment edits that are too short to be meaningful.
  6. Output
    Segments are exported into the destination directory with predictable sequential naming.

Program Template

videobeaux -P qwikchop \
  -i input.mp4 \
  -o output.mp4 \
  --pieces VALUE \
  --recurse VALUE \
  --keep_temp VALUE \
  --trim_black_front VALUE \
  --black_scan VALUE \
  --black_thresh VALUE \
  --black_pict VALUE \
  --edge_pad_pre VALUE \
  --edge_pad_post VALUE \
  --min_edit VALUE

Arguments

  • pieces — Defines segment boundaries; may be timecodes or an external list.
  • recurse — Enables directory recursion for batch processing.
  • keep_temp — When true, preserves intermediate working files.
  • trim_black_front — Removes black/silent leader at beginning.
  • black_scan — Duration scanned for determining black-frame presence.
  • black_thresh — Threshold used to classify frames as black.
  • black_pict — Pictorial threshold for more advanced black-frame evaluation.
  • edge_pad_pre — Time (seconds) added before segment boundaries.
  • edge_pad_post — Time (seconds) added after segment boundaries.
  • min_edit — Minimum allowed edit duration; prevents overly short segments.

Real World Example

videobeaux -P qwikchop \
  -i myvideo.mp4 \
  -o qwikchop_styled.mp4 \
  --pieces EXAMPLE \
  --recurse false \
  --keep_temp false \
  --trim_black_front true \
  --black_scan 0.5 \
  --black_thresh 0.10 \
  --black_pict 0.10 \
  --edge_pad_pre 0.25 \
  --edge_pad_post 0.25 \
  --min_edit 1.0

Technical Notes

  • Segmenting is performed without re-encoding, making it extremely fast.
  • Black trimming uses FFmpeg’s blackdetect logic; thresholds may require tuning based on source material.
  • edge_pad_pre and edge_pad_post are helpful for avoiding letterboxing artifacts or abrupt audio cuts.
  • Very small values for min_edit may create unusable micro-clips.
  • Cutting commercials or interstitials from broadcast recordings.
  • Building structured archives from long-form footage.
  • Automatically splitting lecture or surveillance videos into events.
  • Preparing clips for machine-learning datasets.

Quality Tips

  • Increase edge_pad_pre/post slightly to avoid accidental content clipping.
  • Adjust black_thresh based on the luminance characteristics of your footage.
  • Use recursive mode (recurse=true) when processing large folder trees.
  • Keep min_edit above 0.5–1.0 seconds for stable outputs.
Utility

silence_extraction

Description

Extracts sections of silence from a video’s audio track based on duration thresholds.
Useful for identifying dead air, isolating non-dialogue segments, or preparing silence-aware edits and analysis.

Purpose

The silence_extraction program is designed to detect, isolate, or extract moments of silence within a video’s audio.
This is useful for:

  • cutting silent gaps out of recordings,
  • analyzing pacing or speech density,
  • preparing regions for time compression,
  • generating metadata for editors or automation pipelines.

How It Works

  1. Silence Detection
    FFmpeg’s silence detection logic identifies quiet sections based on amplitude thresholds.
  2. Duration Filtering
    • min_d defines the minimum silence duration to be considered meaningful.
    • max_d defines the longest segment to extract or label.
  3. Adjuster Logic The adjuster parameter allows tuning how tolerant the detection should be, adjusting thresholds or trimming surrounding audio depending on implementation.
  4. Output Behavior
    Extracted silence segments may be exported individually, compiled, or used to generate metadata depending on how videobeaux handles downstream processing.

Program Template

videobeaux -P silence_extraction \
  -i input.mp4 \
  -o output.mp4 \
  --min_d VALUE \
  --max_d VALUE \
  --adjuster VALUE

Arguments

  • min_d — Minimum silence duration (in seconds) to count as a silence event.
  • max_d — Maximum silence duration to extract or annotate.
  • adjuster — Fine-tuning parameter for silence threshold sensitivity or trimming behavior.

Real World Example

videobeaux -P silence_extraction \
  -i myvideo.mp4 \
  -o silence_extraction_styled.mp4 \
  --min_d 1.5 \
  --max_d 12.0 \
  --adjuster medium

Technical Notes

  • Silence detection is typically amplitude-based using FFmpeg filters (e.g., silencedetect).
  • min_d is useful for ignoring tiny pauses or breath sounds.
  • Very large max_d values may capture irrelevant long stretches; tune for your content.
  • adjuster may influence thresholding; examples include “strict,” “medium,” or “loose” depending on your implementation.
  • Removing silent gaps in interviews or podcasts.
  • Locating pauses in lectures for automatic chaptering.
  • Creating pacing analytics (speech vs silence ratio).
  • Identifying dead air in archival footage.

Quality Tips

  • Use smaller min_d values (0.3–0.7s) for fast speech.
  • Use larger min_d (1–2s) for natural conversations or interviews.
  • Fine-tune adjuster to avoid misclassifying quiet music or soft ambience as silence.
  • Always review extracted segments before batch processing removal or compression.
Utility

subs_convert

Description

Converts subtitle files between formats (e.g., SRT, VTT, ASS) while preserving timing, text, and (where possible) style metadata.

Purpose

The subs_convert program standardizes subtitle workflows by:

  • Listing available subtitle tracks in a media file.
  • Extracting specific subtitle tracks by index or language.
  • Converting them to a desired output format.
  • Optionally cleaning or shifting them in time.

It is especially helpful when preparing subtitles for caption-burning, translations, or multi-version deliverables.

How It Works

  1. Input Inspection
    Reads subtitle streams from the input media file (or compatible subtitle sources).
  2. Track Selection
    • list shows all available subtitle tracks with indices and metadata.
    • indexes selects specific tracks by index.
    • langs filters tracks by language codes (e.g., eng, spa).
    • all overrides filters and selects every subtitle track.
  3. Filtering & Cleaning
    • forced_only restricts output to forced subtitles only (e.g., foreign-language dialogue).
    • exclude_hi strips hearing-impaired (HI) descriptors like sound effects or music tags.
  4. Format Conversion
    Converts the selected tracks into the requested output format (SRT, VTT, ASS, etc.).
  5. Timing Adjustment
    Applies an optional time_shift so subtitles can be nudged earlier or later to stay in sync.
  6. Output Writing
    Writes one or more subtitle files to an output directory or a specific outputfile path.

Program Template

videobeaux -P subs_convert \
  -i input.mp4 \
  -o output.mp4 \
  --list VALUE \
  --indexes VALUE \
  --langs VALUE \
  --all VALUE \
  --forced_only VALUE \
  --exclude_hi VALUE \
  --format VALUE \
  --outdir VALUE \
  --outputfile VALUE \
  --time_shift VALUE

Arguments

  • list — List all subtitle tracks in the input with indexes, languages, and basic metadata. Useful as a first step to see what is available.
  • indexes — One or more subtitle track indexes to extract/convert (e.g., 0, 1,2). Accepts a comma-separated list.
  • langs — Filter tracks by language codes (e.g., eng, spa). Accepts one or more languages, usually as a comma-separated list, depending on implementation.
  • all — Select all subtitle tracks, ignoring indexes and langs filters.
  • forced_only — Restrict output to subtitle events marked as “forced” (e.g., foreign-language dialogue or plot-critical on-screen text).
  • exclude_hi — Attempt to remove hearing-impaired (HI) descriptors such as [MUSIC], (LAUGHTER), and other non-dialogue notes.
  • format — Output format for converted subtitles, such as srt, vtt, or ass. The exact set of valid formats depends on the underlying subtitle tooling.
  • outdir — Directory where the converted subtitle files should be written. Filenames are usually derived from the input and track metadata.
  • outputfile — Explicit path and filename for the converted subtitle file when you only want a single, known output file location.
  • time_shift — Apply a timing offset to all subtitle cues. Positive values delay subtitles; negative values make them appear earlier (e.g., -0.25 shifts cues 250ms earlier).

Real World Example

videobeaux -P subs_convert \
  -i documentary.mp4 \
  -o documentary_fixed.mp4 \
  --langs eng \
  --exclude_hi \
  --format vtt \
  --time_shift -0.25 \
  --outdir subs_output

Technical Notes

  • list is often used alone to inspect subtitle tracks before running a full conversion.
  • If both indexes and langs are provided, explicit indexes typically take priority.
  • all supersedes both indexes and langs, ensuring every subtitle track is processed.
  • time_shift expects a value in seconds and can be fractional for fine-grained adjustment.
  • Some formats (like ASS) support styling; preservation depends on how much style data exists in the source.
  • Start with list to discover track indices and language tags.
  • Use langs when targeting a specific language for translation or distribution.
  • Use exclude_hi for clean, dialogue-only subtitle deliveries.
  • Use format ass when preparing styled subtitles for tools like captburn.
  • Use time_shift after trimming or re-cutting your video to quickly re-align subtitles without manual editing.
Utility

thumbs

Description

Generates thumbnails or contact sheets by sampling frames at chosen intervals for previews, galleries, or QC review.

Purpose

The thumbs program creates frame-based preview images from video sources.
It can generate:

  • evenly spaced thumbnails,
  • scene-change–based extractions,
  • tiled contact sheets,
  • annotated or timestamped frames for analysis,
    making it ideal for QC, archives, design references, and preview libraries.

How It Works

  1. Frame Sampling
    Choose between:
    • fps sampling (uniform intervals), or
    • scene detection (generate thumbnails where major scene changes occur).
  2. Scene Thresholding
    scene_threshold determines sensitivity to cuts, edits, or brightness shifts.
  3. Layout & Tiling
    • tile controls grid layout (e.g., 5x5 contact sheets).
    • scale sets thumbnail size.
  4. Labels & Timestamps
    • timestamps includes frame timestamps.
    • label adds custom text per thumbnail.
  5. Styling Options
    Background color, margins, padding, and font selection allow branding/QC annotation.
  6. Export Options
    • Output directory (outdir)
    • Output filename (outputfile)
    • Image format (JPEG/PNG)
    • JPEG quality control

Program Template

videobeaux -P thumbs \
  -i input.mp4 \
  -o output.mp4 \
  --fps VALUE \
  --scene VALUE \
  --scene_threshold VALUE \
  --tile VALUE \
  --scale VALUE \
  --timestamps VALUE \
  --label VALUE \
  --fontfile VALUE \
  --bg VALUE \
  --margin VALUE \
  --padding VALUE \
  --outdir VALUE \
  --outputfile VALUE \
  --image_format VALUE \
  --jpeg_quality VALUE

Arguments

  • fps — Frames per second to sample for thumbnail extraction.
  • scene — Enables scene-detection-based thumbnail generation (true/false).
  • scene_threshold — Sensitivity for detecting scene cuts. Lower = more cuts detected.
  • tile — Contact sheet layout (e.g., 4x4, 6x8).
  • scale — Size of each thumbnail (percentage or pixel dimension).
  • timestamps — Adds timestamps onto each thumbnail (true/false).
  • label — Custom label text rendered onto each frame.
  • fontfile — Path to a custom font file for labels.
  • bg — Background color for contact sheets (CSS-style hex or color name).
  • margin — Outer margin around thumbnails or the full sheet.
  • padding — Spacing between individual thumbnails.
  • outdir — Directory where generated images will be saved.
  • outputfile — Base name for the contact sheet or exported images.
  • image_format — Output format (jpg, png, etc.).
  • jpeg_quality — JPEG quality (0–100).

Real World Example

videobeaux -P thumbs \
  -i myvideo.mp4 \
  -o thumbs_styled.mp4 \
  --fps 1 \
  --scene false \
  --scene_threshold 0.4 \
  --tile 5x5 \
  --scale 320 \
  --timestamps true \
  --label "Preview Sheet" \
  --fontfile /path/to/font.ttf \
  --bg "#000000" \
  --margin 20 \
  --padding 10 \
  --outdir thumbs_output \
  --outputfile contactsheet \
  --image_format jpg \
  --jpeg_quality 90

Technical Notes

  • Scene detection uses FFmpeg’s select='gt(scene,threshold)' filter logic.
  • High tile counts produce dense sheets but increase render time.
  • scale affects memory usage when generating many thumbnails.
  • Custom fonts must be accessible to ffmpeg’s drawtext filter.
  • Using PNG avoids compression artifacts; JPEG is faster & smaller.
  • QC review workflows to quickly scan for artifacts.
  • Preview libraries for editors, designers, or curators.
  • Thumbnail generation for apps, web galleries, or dataset creation.
  • Scene-change visualization for film analysis.

Quality Tips

  • For clean contact sheets, use PNG for lossless quality.
  • For large batches, use JPEG (quality 80–90) for faster export.
  • Adjust scene_threshold to balance between too many vs. too few scene hits.
  • Use higher scale values for detailed thumbnails, smaller for overview sheets.
Utility

tonemap_hdr_sdr

Description

Converts HDR footage (PQ/HLG) to SDR using tunable tonemapping curves, preserving highlight detail and color accuracy.

Purpose

Convert HDR content into display-safe SDR while preserving highlight detail, proper color relationships, and controlled contrast. This module applies filmic or mathematical tonemap curves to ensure smooth highlight rolloff and SDR-safe luminance.

How It Works

  1. Linearization
    HDR content is converted to linear light using:
    zscale=transfer=linear:npl=PEAK
  2. Tonemap Curve Application
    The selected operator (hable, mobius, reinhard, or clip) is applied via:
    tonemap=algo:desat=value
  3. SDR Color-Space Mapping
    After tonemap, the video is explicitly converted to:
    • BT.709 primaries
    • BT.709 transfer
    • BT.709 matrix
  4. Dithering & Pixel Format
    Dithering prevents banding; pixel format ensures compatibility.
  5. Encoding
    Output is encoded using libx264 unless overridden.

Program Template

videobeaux -P tonemap_hdr_sdr \
  -i input.mp4 \
  -o output.mp4 \
  --outfile VALUE \
  --algo VALUE \
  --desat VALUE \
  --peak VALUE \
  --dither VALUE \
  --pix_fmt VALUE \
  --x264_preset VALUE \
  --crf VALUE \
  --copy_audio VALUE

Arguments

  • outfile — Required SDR output file path.
  • algo — Tonemap operator (hable, mobius, reinhard, clip).
  • desat — Highlight desaturation amount (0.0–1.0).
  • peak — Nominal HDR peak brightness in nits (e.g., 400, 600, 1000).
  • dither — Dithering mode applied during zscale processing.
  • pix_fmt — Output pixel format (e.g., yuv420p, yuv422p10le).
  • x264_preset — Encoding speed/quality preset (slow, medium, fast, etc.).
  • crf — Constant Rate Factor controlling video quality (lower = higher quality).
  • copy_audio — When set, audio is copied instead of re-encoded.

Real World Example

videobeaux -P tonemap_hdr_sdr \
  -i myvideo.mp4 \
  -o tonemap_hdr_sdr_styled.mp4 \
  --outfile EXAMPLE \
  --algo EXAMPLE \
  --desat EXAMPLE \
  --peak EXAMPLE \
  --dither EXAMPLE \
  --pix_fmt EXAMPLE \
  --x264_preset EXAMPLE \
  --crf EXAMPLE \
  --copy_audio EXAMPLE

Technical Notes

  • zscale handles linearization and SDR color mapping with high accuracy.
  • Explicit BT.709 tagging avoids incorrect interpretation by media players.
  • --peak significantly affects highlight rolloff; adjust depending on source mastering.
  • Dithering is essential for avoiding banding when outputting 8-bit formats.
  • 10-bit pixel formats increase headroom for gradients and grading workflows.
  • Creating SDR masters from HDR originals.
  • Preparing high-quality web deliverables (YouTube, Vimeo, TikTok).
  • Producing SDR screeners or festival submissions that disallow HDR.
  • Generating SDR previews for HDR editing environments.

Quality Tips

  • Use CRF 14–18 for high-quality SDR output.
  • hable generally provides the best filmic highlight rolloff.
  • For oversaturated HDR highlights, increase --desat to 0.15–0.35.
  • Use yuv422p10le when creating grading intermediates.
  • Combine with gamma_fix for refined SDR brightness/contrast normalization.
Utility

transraibe

Description

AI-based transcription tool for converting spoken audio within video files into text using configurable speech-to-text models.

Purpose

transraibe provides automated transcription capabilities inside the videobeaux workflow.
It enables creators to generate subtitles, caption files, analysis transcripts, or searchable text from any video containing dialogue or narration.
The tool is optimized for quick turnaround and supports multiple STT (speech-to-text) model options.

How It Works

  1. Model Selection
    You choose the speech-to-text engine via --stt_model.
  2. Audio Extraction
    The program extracts the audio track from the input video.
  3. Transcription Stage
    The extracted audio is processed using the selected model, producing text output.
  4. Encoding & Output
    The final transcription is embedded or exported depending on the videobeaux pipelines you pair with it (captburn, metadata storage, etc.).

Program Template

videobeaux -P transraibe \
  -i input.mp4 \
  -o output.mp4 \
  --stt_model VALUE

Arguments

  • stt_model — Speech-to-text model used for transcription (e.g., whisper-small, whisper-medium, whisper-large, or any model supported by your environment).

Real World Example

videobeaux -P transraibe \
  -i myvideo.mp4 \
  -o transraibe_styled.mp4 \
  --stt_model whisper-medium

Technical Notes

  • The accuracy of transcription depends heavily on the stt_model chosen.
  • Larger models produce better understanding of accents, noisy audio, and complex phrasing, but require more resources.
  • The input audio is automatically normalized and extracted before processing.
  • Output format compatibility (SRT, VTT, raw text) may depend on additional videobeaux tooling layered on top of transraibe.
  • Generating transcript files for interviews, podcasts, and voice-driven content.
  • Preparing subtitle text for later burning (via captburn).
  • Producing searchable metadata for archival or indexing systems.
  • Replacing manual transcription workflows in post-production.

Quality Tips

  • Use higher-tier models (e.g., whisper-large) for best accuracy on challenging audio.
  • For clean studio audio, smaller models are often sufficient and much faster.
  • If the transcription seems off, pre-clean audio (denoise, normalize) before running transraibe.
  • Consider pairing with captburn to immediately generate styled subtitles.
Utility

watermark

Description

Applies image or text watermarks onto video with configurable positioning, scaling, opacity, and blend style.

Purpose

The watermark program allows creators to apply branding, artist signatures, copyright marks, or aesthetic overlays to video.
It supports dynamic placement, scaling, opacity control, looping behavior for animated watermarks, and optional spinning for stylized effects.
This tool is designed for flexible, production-ready watermark rendering in both subtle and bold presentation styles.

How It Works

  1. Watermark Source
    Accepts PNG (with alpha), static images, GIFs, or video files as the watermark.
  2. Placement Logic
    • placement sets anchor position (top-left, top-right, center, etc.).
    • margin offsets the watermark inward from edges.
  3. Scaling & Opacity
    • scale determines size relative to the input video.
    • opacity controls transparency for subtle or strong branding.
  4. Animated Watermarks
    • wm_loop determines whether GIF/video watermarks loop.
    • ignore_loop overrides embedded loop metadata for continuous playback.
  5. Timing Controls
    • start and end specify when the watermark appears.
  6. Optional Spin
    • spin rotates the watermark (none, slow, medium, fast).
  7. Encoding
    Output uses the provided CRF and preset options for consistent quality.

Program Template

videobeaux -P watermark \
  -i input.mp4 \
  -o output.mp4 \
  --watermark VALUE \
  --placement VALUE \
  --margin VALUE \
  --scale VALUE \
  --opacity VALUE \
  --spin VALUE \
  --start VALUE \
  --end VALUE \
  --wm_loop VALUE \
  --ignore_loop VALUE \
  --video_crf VALUE \
  --video_preset VALUE

Arguments

  • watermark — Path to the watermark image/video file.
  • placement — Anchor location (top-left, top-right, center, etc.).
  • margin — Pixel offset from edges, applied to chosen placement.
  • scale — Watermark size as a percentage of video resolution.
  • opacity — Transparency level (0.0–1.0).
  • spin — Rotation behavior (none, slow, etc.).
  • start — Timestamp when watermark begins appearing.
  • end — Timestamp when watermark stops appearing.
  • wm_loop — Controls looping behavior of animated watermarks.
  • ignore_loop — Forces continuous play, overriding GIF/video loop metadata.
  • video_crf — CRF controlling overall visual quality.
  • video_preset — Encoder preset adjusting render speed vs. compression.

Real World Example

videobeaux -P watermark \
  -i myvideo.mp4 \
  -o watermark_styled.mp4 \
  --watermark logo.png \
  --placement bottom-right \
  --margin 48 \
  --scale 22 \
  --opacity 0.85 \
  --spin none \
  --start 0 \
  --end 99999 \
  --wm_loop true \
  --ignore_loop false \
  --video_crf 18 \
  --video_preset medium

Technical Notes

  • PNG or WebP with alpha produces the cleanest transparency.
  • Scaling above 40–50% may reveal softness depending on watermark resolution.
  • GIFs can be heavy; consider converting animated watermarks to WebM.
  • High opacity (>0.9) can dominate imagery; branding often prefers 0.35–0.75.
  • Spinning overlays increase rendering time due to per-frame transformations.
  • Artist signatures, branding marks, portfolio reels.
  • Subtle watermarks for social media videos.
  • Bold center overlays for drafts, screeners, and pre-release content.
  • Animated or stylized overlays for creative/motion-design aesthetics.

Quality Tips

  • Use CRF 16–20 for high-quality, lightweight renders.
  • Keep watermark assets at 2× resolution for sharp results after scaling.
  • For subtle looks: lower opacity, small scale, bottom-right placement.
  • For strong visibility: center placement, moderate opacity, optional spin.
  • Animated overlays work best at ~12–18fps to optimize encoding performance.
Utility

wipe_transitions

Description

Creates directional wipe transitions between clips using customizable timing, edge softness, and motion orientation

Arguments

  • input1
  • input2
  • output_format
  • preset
  • duration
  • offset

Program Template

videobeaux -P wipe_transitions -i input.mp4 -o output.mp4 --input1 VALUE --input2 VALUE --output_format VALUE --preset VALUE --duration VALUE --offset VALUE

Real World Example

videobeaux -P wipe_transitions -i myvideo.mp4 -o wipe_transitions_styled.mp4 --input1 EXAMPLE --input2 EXAMPLE --output_format EXAMPLE --preset EXAMPLE --duration EXAMPLE --offset EXAMPLE