VideoTools/QUICKSTART.md
Stu Leak 7341cf70ce Add dev14 fixes: progress tracking, AMD AMF support, DVD resolution fix, and Windows build automation
This commit includes three critical bug fixes and Windows build improvements:

**Bug Fixes:**

1. **Queue Conversion Progress Tracking** (main.go:1471-1534)
   - Enhanced executeConvertJob() to parse FPS, speed, and ETA from FFmpeg output
   - Queue jobs now show detailed progress metrics matching direct conversions
   - Stats stored in job.Config for display in the conversion stats bar

2. **AMD AMF Hardware Acceleration** (main.go)
   - Added "amf" to hardware acceleration options
   - Support for h264_amf, hevc_amf, and av1_amf encoders
   - Added AMF-specific error detection in FFmpeg output parsing

3. **DVD Format Resolution Forcing** (main.go:1080-1103, 4504-4517)
   - Removed automatic resolution forcing when DVD format is selected
   - Removed -target parameter usage which was forcing 720×480/720×576
   - Resolution now defaults to "Source" unless explicitly changed
   - DVD compliance maintained through manual bitrate/GOP/codec parameters

**Windows Build Improvements:**

- Updated build.bat to enable CGO (required for Fyne/OpenGL)
- Added automatic GCC/MinGW-w64 detection and installation
- Automated setup via winget for one-command Windows builds
- Improved error messages with fallback manual instructions

**Documentation:**

- Added comprehensive Windows setup guides
- Created platform.go for future platform-specific code
- Updated .gitignore for Windows build artifacts

All changes tested and working. Ready for production use.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-04 17:11:15 -05:00

4.8 KiB

VideoTools - Quick Start Guide

Get VideoTools running in minutes!


Windows Users

  1. Download the repository or clone it:

    git clone <repository-url>
    cd VideoTools
    
  2. Run the setup script:

    • Double-click setup-windows.bat
    • OR run in PowerShell:
      .\scripts\setup-windows.ps1 -Portable
      
  3. Done! FFmpeg will be downloaded automatically and VideoTools will be ready to run.

  4. Launch VideoTools:

    • Navigate to dist/windows/
    • Double-click VideoTools.exe

If You Need to Build

If VideoTools.exe doesn't exist yet:

Option A - Get Pre-built Binary (easiest):

  • Check the Releases page for pre-built Windows binaries
  • Download and extract
  • Run setup-windows.bat

Option B - Build from Source:

  1. Install Go 1.21+ from https://go.dev/dl/
  2. Install MinGW-w64 from https://www.mingw-w64.org/
  3. Run:
    set CGO_ENABLED=1
    go build -ldflags="-H windowsgui" -o VideoTools.exe
    
  4. Run setup-windows.bat to get FFmpeg

Linux Users

Simple Setup

  1. Clone the repository:

    git clone <repository-url>
    cd VideoTools
    
  2. Install FFmpeg (if not already installed):

    # Fedora/RHEL
    sudo dnf install ffmpeg
    
    # Ubuntu/Debian
    sudo apt install ffmpeg
    
    # Arch Linux
    sudo pacman -S ffmpeg
    
  3. Build VideoTools:

    ./scripts/build.sh
    
  4. Run:

    ./VideoTools
    

Cross-Compile for Windows from Linux

Want to build Windows version on Linux?

# Install MinGW cross-compiler
sudo dnf install mingw64-gcc mingw64-winpthreads-static  # Fedora/RHEL
# OR
sudo apt install gcc-mingw-w64  # Ubuntu/Debian

# Build for Windows (will auto-download FFmpeg)
./scripts/build-windows.sh

# Output will be in dist/windows/

macOS Users

Simple Setup

  1. Install Homebrew (if not installed):

    /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
    
  2. Install FFmpeg:

    brew install ffmpeg
    
  3. Clone and build:

    git clone <repository-url>
    cd VideoTools
    go build -o VideoTools
    
  4. Run:

    ./VideoTools
    

Verify Installation

After setup, you can verify everything is working:

Check FFmpeg

Windows:

ffmpeg -version

Linux/macOS:

ffmpeg -version

Check VideoTools

Enable debug mode to see what's detected:

Windows:

VideoTools.exe -debug

Linux/macOS:

./VideoTools -debug

You should see output like:

[SYS] Platform detected: windows/amd64
[SYS] FFmpeg path: C:\...\ffmpeg.exe
[SYS] Hardware encoders: [nvenc]

What Gets Installed?

Portable Installation (Windows Default)

VideoTools/
└── dist/
    └── windows/
        ├── VideoTools.exe     ← Main application
        ├── ffmpeg.exe         ← Video processing
        └── ffprobe.exe        ← Video analysis

All files in one folder - can run from USB stick!

System Installation (Optional)

  • FFmpeg installed to: C:\Program Files\ffmpeg\bin
  • Added to Windows PATH
  • VideoTools can run from anywhere

Linux/macOS

  • FFmpeg: System package manager
  • VideoTools: Built in project directory
  • No installation required

Troubleshooting

Windows: "FFmpeg not found"

Windows: SmartScreen Warning

  • Click "More info" → "Run anyway"
  • This is normal for unsigned applications

Linux: "cannot open display"

  • Make sure you're in a graphical environment (not SSH without X11)
  • Install required packages: sudo dnf install libX11-devel libXrandr-devel libXcursor-devel libXinerama-devel libXi-devel mesa-libGL-devel

macOS: "Application is damaged"

  • Run: xattr -cr VideoTools
  • This removes quarantine attribute

Build Errors

  • Make sure Go 1.21+ is installed: go version
  • Make sure CGO is enabled: export CGO_ENABLED=1
  • On Windows: Make sure MinGW is in PATH

Next Steps

Once VideoTools is running:

  1. Load a video: Drag and drop any video file
  2. Choose a module:
    • Convert: Change format, codec, resolution
    • Compare: Side-by-side comparison
    • Inspect: View video properties
  3. Start processing: Click "Convert Now" or "Add to Queue"

See the full README.md for detailed features and documentation.


Getting Help

  • Issues: Report at /issues
  • Debug Mode: Run with -debug flag for detailed logs
  • Documentation: See docs/ folder for guides

Enjoy VideoTools! 🎬