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 42c1f32647 Fix file dialog and drag-and-drop loading issues
File dialog improvements:
- Add video file filters (*.mp4, *.mkv, etc.) so files are visible
- Add "All Files" filter as fallback
- Make dialog modal with Cancel button
- Improve usability with proper MIME type filtering

Drag-and-drop improvements:
- Use net/url.Parse for proper URL decoding (%20 for spaces, etc.)
- Handle file:// URIs correctly with localhost stripping
- Add comprehensive debug logging throughout load chain

Debug logging added to:
- uriToPath() - shows URI parsing
- loadIntoPane() - tracks load progress and MPV errors
- drag-data-received - shows received URIs
- file dialog - logs selected files

These changes should fix both file navigation in dialogs and
drag-and-drop video loading from file managers.

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

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-15 15:37:15 -05:00
assets/logo Add target file size feature and fix multiple encoding issues 2025-12-03 10:00:14 -05:00
cmd Fix file dialog and drag-and-drop loading issues 2025-12-15 15:37:15 -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 Fix CGO type errors and improve GTK player 2025-12-15 05:40:37 -05:00
scripts Fix CGO type errors and improve GTK player 2025-12-15 05:40:37 -05:00
third_party/gotk3 Add vendored gotk3 GTK3 bindings for Go 2025-12-15 05:40:43 -05:00
.gitignore Fix CGO type errors and improve GTK player 2025-12-15 05:40:37 -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 Update TODO and DONE docs for GTK player 2025-12-15 06:17:12 -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 Update TODO and DONE docs for GTK player 2025-12-15 06:17:12 -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