Simple GUI toolset for FFmpeg
Go to file
Stu Leak 480c015ff4 Fix snippet duration precision by always re-encoding
Changed snippet "Default Format" mode from stream copy to re-encoding with
high quality settings (libx264, CRF 17, ultrafast preset). Stream copy
cannot provide precise durations as it can only cut at keyframe boundaries.

Both snippet modes now output MP4 and re-encode. The difference is quality:
- High Quality mode: CRF 17, ultrafast preset
- Conversion Settings mode: Uses configured output settings

Updated UI labels to reflect "Snippet Quality" instead of output format.

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

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-16 23:54:58 -05:00
assets/logo Add target file size feature and fix multiple encoding issues 2025-12-03 10:00:14 -05:00
docs Show bitrate in kbps/Mbps and expand presets 2025-12-08 23:53:40 -05:00
internal Complete dev18: Thumbnail enhancements, Player/Filters/Upscale modules, and precise snippet generation 2025-12-15 15:36:24 -05:00
scripts Update documentation for snippet system overhaul 2025-12-16 23:09:09 -05:00
.gitattributes Enforce LF endings for shell scripts 2025-12-13 21:30:17 -05:00
.gitignore Turned GIT Converter Modular 2025-12-14 03:00:44 +00:00
BUILD_AND_RUN.md Show bitrate in kbps/Mbps and expand presets 2025-12-08 23:53:40 -05:00
BUILD.md Add dev14 fixes: progress tracking, AMD AMF support, DVD resolution fix, and Windows build automation 2025-12-04 17:11:15 -05:00
CHANGELOG.md Show bitrate in kbps/Mbps and expand presets 2025-12-08 23:53:40 -05:00
COMPLETION_SUMMARY.md Add comprehensive project completion summary 2025-11-29 19:33:02 -05:00
DONE.md Update documentation for snippet system overhaul 2025-12-16 23:09:09 -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 Implement in-app playback with ffmpeg frame pump and Go audio 2025-11-20 16:11:56 -05:00
go.sum Implement in-app playback with ffmpeg frame pump and Go audio 2025-11-20 16:11:56 -05:00
install.sh Add comprehensive installation system with install.sh and INSTALLATION.md 2025-11-29 20:17:18 -05:00
INSTALLATION.md Add comprehensive installation system with install.sh and INSTALLATION.md 2025-11-29 20:17:18 -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 snippet duration precision by always re-encoding 2025-12-16 23:54:58 -05:00
naming_helpers.go Add queue error copy, auto naming helper, and metadata templating 2025-12-07 12:03:21 -05:00
platform.go Hide ffmpeg console windows on Windows and fix inspect clear button 2025-12-08 11:26:14 -05:00
QUEUE_SYSTEM_GUIDE.md Add comprehensive Queue System documentation guide 2025-11-29 19:31:25 -05:00
QUICKSTART.md Add dev14 fixes: progress tracking, AMD AMF support, DVD resolution fix, and Windows build automation 2025-12-04 17:11:15 -05:00
README.md Update documentation 2025-12-08 23:33:31 -05:00
setup-windows.bat Add dev14 fixes: progress tracking, AMD AMF support, DVD resolution fix, and Windows build automation 2025-12-04 17:11:15 -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
TESTING_DEV13.md Add comprehensive testing guide for dev13 features 2025-12-03 21:43:16 -05:00
TODO.md Update version to v0.1.0-dev18 2025-12-15 15:42:11 -05:00
WINDOWS_SETUP.md Add dev14 fixes: progress tracking, AMD AMF support, DVD resolution fix, and Windows build automation 2025-12-04 17:11:15 -05:00

VideoTools - Professional Video Processing Suite

What is VideoTools?

VideoTools is a professional-grade video processing application with a modern GUI. It specializes in creating DVD-compliant videos for authoring and distribution.

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 with a guided wizard!

After installation:

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

Alternative: Developer Setup

If you already have the repo cloned:

cd /path/to/VideoTools
source scripts/alias.sh
VideoTools

For detailed installation options, troubleshooting, and platform-specific notes, see INSTALLATION.md.

How to Create a Professional DVD

  1. Start VideoToolsVideoTools
  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:

  • BUILD_AND_RUN.md - How to build and run VideoTools
  • DVD_USER_GUIDE.md - Complete guide to DVD encoding

For Developers:

  • DVD_IMPLEMENTATION_SUMMARY.md - Technical specifications
  • INTEGRATION_GUIDE.md - System architecture and integration
  • 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

VideoTools 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
VideoTools

# Force rebuild
VideoToolsRebuild

# Clean build artifacts
VideoToolsClean

Legacy (Direct commands)

# Build
go build -o VideoTools .

# Run
./VideoTools

# Run with debug logging
VIDEOTOOLS_DEBUG=1 ./VideoTools

# 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