VidCompiler
Turns any file into a video. Upload it, download it later, and every byte comes back exactly as it was.
How it runs
- 01Archivetar.gz with a CRC-32
- 02EncryptAES-256-GCM, scrypt key
- 03ProtectRS(255,215), 40 parity bytes
- 04Pixels2 bpp luma, 3 bpp chroma
- 05EncodeH.264, hardware where there is any
- 06Uploadunlisted, sharded, concurrent
A file becoming a frame
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