Compress video with two complementary ideas:
- Saving changes — keep keyframes plus a sparse mask of pixels that changed between frames.
- Autoencoder — learn a compact representation of individual frames (experimental).
src/video_compress/ # importable library
notebooks/ # exploratory experiments
data/raw/videos/ # input videos (Git LFS)
data/samples/images/ # sample still images
artifacts/ # tensors and reconstructed videos
scripts/ # CLI entrypoints (future)
tests/ # unit / smoke tests
python -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"Or with the requirements file:
pip install -r requirements.txt
pip install -e .from video_compress import CustomAutoencoder
from video_compress.compression import get_mask, build_video_diff, retrieve_all
model = CustomAutoencoder(hidden_dims=[16, 32, 64])Notebooks live under notebooks/ and resolve paths relative to the repo root via a setup cell.
pytestLarge .mp4 / .pth files are tracked with Git LFS. If clone/checkout fails with "Git LFS is disabled for this repository", fetch code with:
GIT_LFS_SKIP_SMUDGE=1 git clone <url>You will get LFS pointer files instead of the real media until LFS is re-enabled or assets are provided locally.