Skip to content

ajeebtech/vervideos

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

39 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

vervids

A local version control system for Adobe After Effects projects with Docker storage.

πŸ“Ή About

vervids is a command-line tool that provides version control for .aepx (Adobe After Effects XML) files and their assets. It automatically tracks your project file and all referenced assets (videos, images, audio files), storing them either locally or in Docker for efficient version management.

πŸš€ Installation

From Source

git clone https://github.com/ajeebtech/vervideos.git
cd vervideos
make build
make install

Download Binary

Download the latest release for your platform from the releases page.

πŸ“– Usage

Initialize a project

Start tracking an After Effects project:

vervids init "project.aepx"

Or use Docker for storage (recommended for large projects):

vervids init --docker "project.aepx"

This creates a .vervids directory and stores the initial version along with all referenced assets.

Commit a new version

After making changes to your .aepx file or assets:

vervids commit "Added intro animation"

Each commit stores a complete snapshot of your project file and all assets with the message.

Check version

vervids version

πŸ“‚ How It Works

Asset Tracking

  1. Native XML Parser: Automatically parses your .aepx file (XML format) - no Python required
  2. Asset Discovery: Finds all referenced files (MP4, PNG, SVG, etc.)
  3. Versioning: Stores both the project file and all assets for each version

Storage Options

Local Storage (Default)

vervids init "project.aepx"
  • Creates .vervids directory in your project folder
  • Each version stored in .vervids/versions/vXXX/
  • Assets stored in .vervids/versions/vXXX/assets/

Docker Storage (Recommended)

vervids init --docker "project.aepx"
  • Creates a Docker container for efficient storage
  • Uses Docker volumes for persistent data
  • Ideal for large projects with many assets
  • Easily backup entire project vault

Directory Structure

Local Storage:

your-project/
β”œβ”€β”€ project.aepx                 # Your working file
β”œβ”€β”€ footage/
β”‚   β”œβ”€β”€ video1.mp4
β”‚   └── image1.png
└── .vervids/
    β”œβ”€β”€ config.json              # Project metadata & version history
    └── versions/
        β”œβ”€β”€ v000/
        β”‚   β”œβ”€β”€ project.aepx     # Initial version
        β”‚   └── assets/
        β”‚       β”œβ”€β”€ video1.mp4
        β”‚       └── image1.png
        └── v001/
            β”œβ”€β”€ project.aepx     # "Added intro"
            └── assets/
                β”œβ”€β”€ video1.mp4
                └── image1.png

Docker Storage: All files stored in Docker volume vervids-data under /storage/projects/

πŸ›  Development

Build

make build

Install locally

make install

Clean build artifacts

make clean

Run tests

make test

πŸ“ Available Commands

  • init [path/to/project.aepx] - Initialize version control for an .aepx file
    • --docker, -d - Use Docker for storage
  • commit [message] - Save a new version with all assets and a commit message
  • version - Display the version information

🐳 Docker Integration

Prerequisites

docker --version  # Ensure Docker is installed

Setup Docker Storage

# Initialize with Docker
vervids init --docker "project.aepx"

# Docker container is automatically created and managed
docker ps | grep vervids-storage

Docker Commands

# View storage volume
docker volume inspect vervids-data

# View files in Docker
docker exec vervids-storage ls -la /storage/projects/

# Backup Docker volume
docker run --rm -v vervids-data:/data -v $(pwd):/backup alpine tar czf /backup/vervids-backup.tar.gz /data

βœ… Features

  • βœ… Initialize version control for .aepx files
  • βœ… Automatic asset tracking (videos, images, audio, etc.)
  • βœ… Local storage option
  • βœ… Docker storage integration
  • βœ… Native Go-based .aepx parser (no Python required)
  • βœ… JSON metadata tracking
  • βœ… Version history with messages and timestamps

🎯 Roadmap

  • list - List all versions with timestamps and messages
  • restore [version] - Restore a specific version with assets
  • diff [v1] [v2] - Compare two versions
  • Compression for large files
  • Branch support for alternative edits
  • Web UI for browsing versions
  • Asset deduplication across versions

πŸ“„ License

MIT License - see LICENSE file for details.

🀝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

About

open-source, versioning management system for video-editing

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages