mirror of
https://github.com/vondas-network/videobeaux.git
synced 2026-01-27 09:11:09 +01:00
101 lines
4.6 KiB
Markdown
101 lines
4.6 KiB
Markdown
# 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.
|
||
|
||
## Recommended Usage
|
||
- 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.
|