Skip to content

joeric1028/universal_media_engine

Repository files navigation

Universal Media Engine

Windows desktop app for batch video conversion with a Tkinter GUI and FFmpeg.

What It Does

  • Queue multiple video files for conversion.
  • Detect likely 10-bit log footage with ffprobe.
  • Optionally apply a .cube LUT before export.
  • Export a single output or dual outputs for messaging and YouTube.
  • Encode with CPU (libx264) or NVIDIA NVENC.
  • Show live progress based on FFmpeg progress output.
  • Persist the last-used settings in universal_media_engine_config.json.

Current Architecture

The repo now uses a cleaner source layout:

  • main.py: thin root-level launcher for local development.
  • src/universal_media_engine/app.py: Tkinter window, widget events, and UI updates.
  • src/universal_media_engine/app_models.py: application data models.
  • src/universal_media_engine/config_store.py: load and save user settings.
  • src/universal_media_engine/media_probe.py: ffprobe wrapper for format and duration detection.
  • src/universal_media_engine/ffmpeg_builder.py: task planning and FFmpeg command construction.
  • src/universal_media_engine/runner.py: subprocess execution, cancellation, and progress reporting.
  • packaging/file_version_info.txt: Windows version metadata for PyInstaller.
  • assets/luts/: optional LUT assets.

Requirements

  • Windows
  • FFmpeg installed and available on PATH
  • Python 3.14+ for local development

Install FFmpeg with:

winget install ffmpeg

Development

Create or repair the virtual environment, then install dependencies:

python -m venv .venv
.\.venv\Scripts\Activate.ps1
python -m pip install -r requirements.txt

Run the app:

python main.py

Packaging

The repo includes PyInstaller packaging files:

  • build_app.py
  • packaging/file_version_info.txt

Generated output should stay out of source control.

About

Windows desktop video converter powered by FFmpeg: batch processing, LUT color fix, orientation- aware presets, NVENC/CPU encoding, parallel jobs, and one-click EXE builds via GitHub Actions.

Topics

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages