Daniel RotkopfFull-stack engineer
Work

VidCompiler

Turns any file into a video. Upload it, download it later, and every byte comes back exactly as it was.

How it runs

  1. 01Archivetar.gz with a CRC-32
  2. 02EncryptAES-256-GCM, scrypt key
  3. 03ProtectRS(255,215), 40 parity bytes
  4. 04Pixels2 bpp luma, 3 bpp chroma
  5. 05EncodeH.264, hardware where there is any
  6. 06Uploadunlisted, sharded, concurrent

A file becoming a frame

Year2025
ContextPersonal project
LanguagePython
Updated2d ago

Video hosting is free and unmetered; file hosting is not. So the file becomes the video. The archive is packed, error-corrected, written into the pixels of 1080p frames, encoded to H.264 and uploaded unlisted. Decoding runs the same road backwards and checks the result against a CRC.

The frame format was chosen by measurement rather than theory. Probe uploads through real YouTube found that chroma survives far more density than luma does — the previous version failed for exactly one reason, three bits per block on the luma plane. The format that shipped writes 2 bits per 4x4 block on Y and 3 bits per 4x4 block on Cb and Cr: 56,100 bytes a frame at a measured bit error rate of 1.1e-05.

Reed-Solomon RS(255,215) covers what the transcode still damages, and the header is written three independent ways — into the pixels, into the audio track as 4-FSK tones, and into the video description — so a decoder can recover the parameters even if two of the three are gone.

Archives bigger than one video shard across several and upload concurrently, which measured 2.14x faster than a single stream. A file manager sits on top: folders, upload, preview, rename, search. The bytes live on YouTube and the index is a few hundred kilobytes on disk. Everything is sealed with AES-256-GCM before it leaves the machine, so what is stored is neither your contents nor your filenames.

Highlights

  • Format picked from real round trips, not from theory
  • Verified byte-identical from 10 MB to 5 GB
  • Reed-Solomon and the pixel engine in native C, multithreaded
  • Header carried three independent ways
  • Parallel shard upload, measured at 2.14x
  • AES-256-GCM before anything leaves the machine

Built with

  • Python
  • C
  • NumPy
  • Flask
  • FFmpeg
  • Reed-Solomon
  • AES-256-GCM
  • Docker
  • YouTube API