This project served as an experiment to create visually stored binary text data, as inspired by this video. Though its data storage efficiency is lacking, it served primarily as an exploration of an unusual data storage method and a preview into real issues like data compression, corruption, and error handling.
main.py: The main executable script that coordinates the use of all modules. It sets up the video processing pipeline and handles the execution flow.pix_code_encoder.py: This script contains the functionality to encode video files. It converts a sequence of images into a video file, applying specified encoding parameters.pix_code_decoder.py: Complements the encoder by decoding videos back into images or other specified formats.video_pipeline.py: Manages video uploads using the YouTube API. It authenticates the user, uploads videos, and can list videos from a YouTube channel.
-
Clone the repository:
git clone https://github.com/redhotchili0909/dsa_2024.git
-
Install dependencies:
The scripts require several dependencies, which you can install using:
pip install -r requirements.txt
(Note: You will need to create a
requirements.txtfile based on the libraries used, such asopencv-python,pytube, etc.) -
API Credentials:
Before running
video_pipeline.py, you need to set up your Google API credentials and store them in acredentialsdirectory. Refer to the Google API documentation for guidance.
Each script can be run individually, depending on the task.
To generate a video from a text file, place the text file into the assets folder and run main.py. Input the name of the text file and follow the instructions shown in the terminal.
Click on the video to see it in full resolution on YouTube.
If you're curious, here's the video that we generate and decode!
Click on the video to see it in full resolution on YouTube.
Clarify the video you wish to decode
Click on the video to see it in full resolution on YouTube.
Huge thanks to BK Binary's Video "File Storage on Youtube" for inspiring us to pursue our own implementation.


