A new open-source tool encodes files into lossless videos and uploads them to YouTube, turning the platform into a distributed storage system with built-in redundancy.
A developer has created an unconventional approach to file storage by encoding data into lossless video files and uploading them to YouTube. The yt-media-storage project transforms any file into a 4K video using FFV1 compression, then decodes it back to its original form when needed.
How It Works
The system breaks files into chunks, applies fountain codes for redundancy, and embeds the data into individual video frames. Each frame at 3840x2160 resolution can store significant amounts of binary data. The FFV1 codec in MKV container ensures lossless compression, meaning no data corruption during the encoding-decoding cycle.
Users can optionally encrypt files with XChaCha20-Poly1305 before encoding, adding a layer of privacy to the stored content. The tool supports both command-line and graphical interfaces, with batch processing capabilities for handling multiple files.
Technical Implementation
Built with modern C++23 and requiring CMake 3.22, the project depends on FFmpeg for video processing, Qt6 for the GUI, libsodium for encryption, and OpenMP for parallel processing. The encoding process runs at 30 FPS, with each frame representing a portion of the original file.
Practical Considerations
The approach raises interesting questions about storage economics. YouTube's free hosting model makes it an attractive option for distributed storage, though upload times and video processing delays could impact practical usability. The fountain codes provide built-in redundancy, potentially offering better durability than traditional cloud storage.
However, the method faces limitations. Video file sizes grow significantly compared to original data, and YouTube's terms of service regarding automated uploads remain unclear. The system also requires substantial computational resources for encoding and decoding operations.
Community Response
Early adopters have noted the tool's innovative approach to circumventing traditional storage constraints. Some see it as a creative solution for backup scenarios, while others question its efficiency compared to established cloud storage services.

The project represents an interesting intersection of video technology and data storage, demonstrating how existing platforms can be repurposed for unintended uses. Whether it becomes a practical storage solution or remains a novel experiment, it showcases the creative potential of combining different technologies in unexpected ways.
For developers interested in exploring this approach, the project provides detailed build instructions for Ubuntu, Fedora, Arch Linux, macOS, and Windows. The CI/CD pipeline automatically builds and packages both CLI and GUI versions, making it accessible to users regardless of their preferred operating system.

Comments
Please log in or register to join the discussion