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

244 lines
4.8 KiB
Markdown

# VideoTools - Quick Start Guide
Get VideoTools running in minutes!
---
## Windows Users
### Super Simple Setup (Recommended)
1. **Download the repository** or clone it:
```cmd
git clone <repository-url>
cd VideoTools
```
2. **Run the setup script**:
- Double-click `setup-windows.bat`
- OR run in PowerShell:
```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:
```cmd
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**:
```bash
git clone <repository-url>
cd VideoTools
```
2. **Install FFmpeg** (if not already installed):
```bash
# Fedora/RHEL
sudo dnf install ffmpeg
# Ubuntu/Debian
sudo apt install ffmpeg
# Arch Linux
sudo pacman -S ffmpeg
```
3. **Build VideoTools**:
```bash
./scripts/build.sh
```
4. **Run**:
```bash
./VideoTools
```
### Cross-Compile for Windows from Linux
Want to build Windows version on Linux?
```bash
# 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):
```bash
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
```
2. **Install FFmpeg**:
```bash
brew install ffmpeg
```
3. **Clone and build**:
```bash
git clone <repository-url>
cd VideoTools
go build -o VideoTools
```
4. **Run**:
```bash
./VideoTools
```
---
## Verify Installation
After setup, you can verify everything is working:
### Check FFmpeg
**Windows**:
```cmd
ffmpeg -version
```
**Linux/macOS**:
```bash
ffmpeg -version
```
### Check VideoTools
Enable debug mode to see what's detected:
**Windows**:
```cmd
VideoTools.exe -debug
```
**Linux/macOS**:
```bash
./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"
- Run `setup-windows.bat` again
- Or manually download from: https://github.com/BtbN/FFmpeg-Builds/releases
- Place `ffmpeg.exe` next to `VideoTools.exe`
### 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 <repository-url>/issues
- **Debug Mode**: Run with `-debug` flag for detailed logs
- **Documentation**: See `docs/` folder for guides
---
**Enjoy VideoTools!** 🎬