Fork of VideoTools focused on player/inspection. VT Player lets us iterate on playback, navigation, and analysis workflows independently of the full suite.
Go to file
Stu bbe45c6524 Add MPV render context API for OpenGL rendering
Created render.go with CGO bindings for mpv_render_context:
- NewRenderContext: Create render context with parameters
- SetUpdateCallback: Register frame update callbacks
- Render: Issue render calls with FBO/dimension params
- Fixed CGO type conversions (int vs mpv_render_param_type)

This enables hardware-accelerated OpenGL rendering of MPV video
frames in the GTK player.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-15 05:24:27 -05:00
assets/logo Add target file size feature and fix multiple encoding issues 2025-12-03 10:00:14 -05:00
cmd Assign drags to first-empty pane and ensure mpv ready before load 2025-12-14 00:46:50 -05:00
docs Create custom timeline widget with keyframe markers (Commit 6) 2025-12-08 12:07:45 -05:00
internal Fix build error: rename tappableRenderer to overlayRenderer 2025-12-09 11:53:17 -05:00
player/mpvembed Add MPV render context API for OpenGL rendering 2025-12-15 05:24:27 -05:00
scripts Fix drag targets and force X11 backend for embedded mpv 2025-12-13 22:24:07 -05:00
third_party/gotk3/gdk Vendor gotk3, add mpv cgo wrapper, and GTK mpv player stub 2025-12-13 18:58:03 -05:00
.gitignore Fix video loading and improve player UI 2025-12-05 10:01:59 -05:00
BUILD_AND_RUN.md Add comprehensive Build and Run guide 2025-11-29 19:54:13 -05:00
COMPLETION_SUMMARY.md Add comprehensive project completion summary 2025-11-29 19:33:02 -05:00
DEV_SPEC_FRAME_ACCURATE_PLAYBACK.md Fix video loading and improve player UI 2025-12-05 10:01:59 -05:00
DONE.md Release v0.1.0-dev12: Advanced encoding and compatibility 2025-12-02 18:12:50 -05:00
DVD_IMPLEMENTATION_SUMMARY.md Implement DVD-NTSC encoding support with multi-region capabilities 2025-11-29 19:30:05 -05:00
DVD_USER_GUIDE.md Add comprehensive DVD User Guide for end users 2025-11-29 19:39:59 -05:00
go.mod Vendor gotk3, add mpv cgo wrapper, and GTK mpv player stub 2025-12-13 18:58:03 -05:00
go.sum Vendor gotk3, add mpv cgo wrapper, and GTK mpv player stub 2025-12-13 18:58:03 -05:00
install.sh Initial import for VT Player 2025-12-04 05:03:02 -05:00
INSTALLATION.md Add mpv runtime dependency to installer and build scripts 2025-12-10 05:55:05 -05:00
INTEGRATION_GUIDE.md Add comprehensive Integration Guide for DVD support 2025-11-29 19:32:11 -05:00
LATEST_UPDATES.md Add comprehensive update summary for latest improvements 2025-11-29 20:17:52 -05:00
main.go Fix build: remove unused imports, drop playSess img refs, cleanup state init 2025-12-13 21:58:41 -05:00
mpv_client.go Switch playback to mpv IPC and poll progress 2025-12-10 05:47:38 -05:00
QUEUE_SYSTEM_GUIDE.md Add comprehensive Queue System documentation guide 2025-11-29 19:31:25 -05:00
README.md Initial import for VT Player 2025-12-04 05:03:02 -05:00
TEST_DVD_CONVERSION.md Add comprehensive DVD conversion testing guide with step-by-step instructions 2025-11-29 20:22:21 -05:00
TODO.md Plan Windows compatibility for dev14 2025-12-02 18:16:30 -05:00
WINDOWS_COMPATIBILITY.md Add Windows 11 compatibility and cross-platform build system 2025-12-09 11:10:57 -05:00

VT Player - VideoTools Player Fork

What is VT Player?

VT Player is a fork of VideoTools focused on the playback and inspection workflows. It keeps the same modern GUI foundation while letting us evolve player-specific tooling separately from the broader VideoTools suite. Some docs and screens still reference "VideoTools"—those will be updated as the fork matures.

Key Features

DVD-NTSC & DVD-PAL Output

  • Professional MPEG-2 encoding (720×480 @ 29.97fps for NTSC, 720×576 @ 25fps for PAL)
  • AC-3 Dolby Digital audio (192 kbps, 48 kHz)
  • DVDStyler compatible (no re-encoding warnings)
  • PS2 compatible (PS2-safe bitrate limits)
  • Region-free format (works worldwide)

Batch Processing

  • Queue multiple videos
  • Pause/resume jobs
  • Real-time progress tracking
  • Job history and persistence

Smart Features

  • Automatic framerate conversion (23.976p, 24p, 30p, 60p, VFR → 29.97fps)
  • Automatic audio resampling (any rate → 48 kHz)
  • Aspect ratio preservation with intelligent handling
  • Comprehensive validation with helpful warnings

Quick Start

Installation (One Command)

bash install.sh

The installer will build, install, and set up everything automatically!

After installation:

source ~/.bashrc    # (or ~/.zshrc for zsh)
VTPlayer

Alternative: Developer Setup

If you already have the repo cloned:

cd /path/to/VT_Player
source scripts/alias.sh
VTPlayer

For detailed installation options, see INSTALLATION.md.

How to Create a Professional DVD

  1. Start VT PlayerVTPlayer
  2. Load a video → Drag & drop into Convert module
  3. Select format → Choose "DVD-NTSC (MPEG-2)" or "DVD-PAL (MPEG-2)"
  4. Choose aspect → Select 4:3 or 16:9
  5. Name output → Enter filename (without .mpg)
  6. Queue → Click "Add to Queue"
  7. Encode → Click "View Queue" → "Start Queue"
  8. Export → Use the .mpg file in DVDStyler

Output is professional quality, ready for:

  • DVDStyler authoring (no re-encoding needed)
  • DVD menu creation
  • Burning to disc
  • PS2 playback

Documentation

Getting Started:

  • INSTALLATION.md - Comprehensive installation guide (read this first!)

For Users:

  • docs/BUILD_AND_RUN.md - How to build and run VT Player
  • docs/DVD_USER_GUIDE.md - Complete guide to DVD encoding

For Developers:

  • docs/DVD_IMPLEMENTATION_SUMMARY.md - Technical specifications
  • docs/INTEGRATION_GUIDE.md - System architecture and integration
  • docs/QUEUE_SYSTEM_GUIDE.md - Queue system reference

Requirements

  • Go 1.21+ (for building)
  • FFmpeg (for video encoding)
  • X11 or Wayland display server (for GUI)

System Architecture

VT Player has a modular architecture:

  • internal/convert/ - DVD and video encoding
  • internal/queue/ - Job queue system
  • internal/ui/ - User interface components
  • internal/player/ - Media playback
  • scripts/ - Build and run automation

Commands

Build & Run

# One-time setup
source scripts/alias.sh

# Run the application
VTPlayer

# Force rebuild
VTPlayerRebuild

# Clean build artifacts
VTPlayerClean

Legacy (Direct commands)

# Build
go build -o VTPlayer .

# Run
./VTPlayer

# Run with debug logging
VIDEOTOOLS_DEBUG=1 ./VTPlayer

# View logs
go run . logs

Troubleshooting

  • See BUILD_AND_RUN.md for detailed troubleshooting
  • Check videotools.log for detailed error messages
  • Use VIDEOTOOLS_DEBUG=1 for verbose logging

Professional Use Cases

  • Home video archival to physical media
  • Professional DVD authoring workflows
  • Multi-region video distribution
  • Content preservation on optical media
  • PS2 compatible video creation

Professional Quality Specifications

DVD-NTSC

  • Resolution: 720 × 480 pixels
  • Framerate: 29.97 fps (NTSC standard)
  • Video: MPEG-2 codec, 6000 kbps
  • Audio: AC-3 stereo, 192 kbps, 48 kHz
  • Regions: USA, Canada, Japan, Australia

DVD-PAL

  • Resolution: 720 × 576 pixels
  • Framerate: 25.00 fps (PAL standard)
  • Video: MPEG-2 codec, 8000 kbps
  • Audio: AC-3 stereo, 192 kbps, 48 kHz
  • Regions: Europe, Africa, Asia, Australia

Getting Help

  1. Read BUILD_AND_RUN.md for setup issues
  2. Read DVD_USER_GUIDE.md for how-to questions
  3. Check videotools.log for error details
  4. Review documentation in project root