Skip to content

dragon-Elec/vucar

Repository files navigation

VUCAR: Video Unified Computation & Automation Resource

This project aims to refactor a monolithic video processing toolkit into a modular, backend-driven framework. It allows users to seamlessly execute video processing tasks on different environments, from local machines to remote CI/CD pipelines, and offers a dedicated Textual UI for Android devices running Termux.


📖 For a deep dive into the project's design and structure, please refer to ARCHITECTURE.md.


Installation

  1. Clone the repository:

    git clone https://github.com/your-username/vucar.git
    cd vucar
  2. Install core Python dependencies (for PC CLI):

    pip install .
  3. For Android (Termux) TUI: If you plan to use the vucar Textual UI on an Android device via Termux, you will need to install additional dependencies:

    # From the project root
    cd droid/
    ./install_deps.sh

    This script will guide you through installing system-level tools (like FFmpeg, gh, gnupg) and the Python textual library, which is an optional dependency for PC users.


Prerequisites & Git Context Setup (For GitHub Backend)

If you intend to use the github backend, vucar requires a specific git_context setup to manage interactions with your GitHub repository without affecting your main project's Git history.

Please refer to the detailed guide for a one-time setup: assets/docs/setup_guide.md

This guide covers:

  • Required command-line tools (Git, GitHub CLI, GnuPG, ExifTool).
  • How to initialize the config/git_context/ directory as a separate Git repository.
  • How to configure it to push to your desired GitHub repository.

Usage (PC CLI)

To run the video processing toolkit from your PC, use the vucar command followed by the run subcommand and the path to your video file.

vucar run <path_to_video_file> [OPTIONS]

Options:

  • --backend, -b: Specify the backend to use. Options: local (default), github.
  • --verbose, -v: Show raw output for debugging.

Examples:

Run locally:

vucar run my_video.mp4 --backend local

Run via GitHub Actions:

vucar run my_video.mp4 --backend github

Usage (Android Termux TUI)

After running the droid/install_deps.sh script, you can launch the touch-friendly Textual UI:

# From the project root
python3 droid/tui_app.py

The TUI will guide you through selecting video files, choosing presets, and executing processing tasks directly on your Android device.


Configuration

Create a config.toml file in the project root with your GitHub repository details and GPG key information:

[user]
repo = "your-username/your-repo"
workflow_file = "your_workflow.yml"
default_branch = "main"
action_gpg_recipient = "github-action-gpg-key-id"
user_gpg_recipient = "your-gpg-key-id"

Create a presets.toml file in the project root for FFmpeg command presets:

[preset_name_1]
name = "Preset 1 Description"
command = "ffmpeg -i {input} -c:v libx264 -crf 23 {output}"

[preset_name_2]
name = "Preset 2 Description"
command = "ffmpeg -i {input} -c:v libvpx-vp9 -crf 30 {output}"

Project Structure

Refer to ARCHITECTURE.md for the most up-to-date and detailed project structure.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors