VT_Player/INSTALLATION.md
Stu Leak 5d22bc306c Add comprehensive installation system with install.sh and INSTALLATION.md
The new installation system provides a painless, one-command setup for all users:

install.sh Enhancements:
- 5-step installation wizard with visual progress indicators
- Auto-detects bash/zsh shell and updates rc files appropriately
- Automatically adds PATH exports for system-wide or user-local installation
- Automatically sources alias.sh for convenience commands
- Clear instructions for next steps
- Better error messages and validation
- Supports both sudo and non-sudo installation paths
- Default to user-local installation (no sudo required)

INSTALLATION.md Documentation:
- Comprehensive installation guide for all user types
- Multiple installation options (system-wide vs user-local)
- Detailed troubleshooting section
- Manual installation instructions for advanced users
- Platform-specific notes (Linux, macOS, Windows WSL)
- Uninstallation instructions
- Verification steps

README.md Updates:
- Updated Quick Start section to reference install.sh
- Added INSTALLATION.md to documentation index
- Clear distinction between user and developer setup

This enables users to set up VideoTools with:
  bash install.sh
  source ~/.bashrc
  VideoTools

No manual shell configuration needed!
2025-11-29 20:17:18 -05:00

360 lines
6.2 KiB
Markdown

# VideoTools Installation Guide
This guide will help you install VideoTools with minimal setup.
## Quick Start (Recommended for Most Users)
### One-Command Installation
```bash
bash install.sh
```
That's it! The installer will:
1. ✅ Check your Go installation
2. ✅ Build VideoTools from source
3. ✅ Install the binary to your system
4. ✅ Set up shell aliases automatically
5. ✅ Configure your shell environment
### After Installation
Reload your shell:
```bash
# For bash users:
source ~/.bashrc
# For zsh users:
source ~/.zshrc
```
Then start using VideoTools:
```bash
VideoTools
```
---
## Installation Options
### Option 1: System-Wide Installation (Recommended for Shared Computers)
```bash
bash install.sh
# Select option 1 when prompted
# Enter your password if requested
```
**Advantages:**
- ✅ Available to all users on the system
- ✅ Binary in standard system path
- ✅ Professional setup
**Requirements:**
- Sudo access (for system-wide installation)
---
### Option 2: User-Local Installation (Recommended for Personal Use)
```bash
bash install.sh
# Select option 2 when prompted (default)
```
**Advantages:**
- ✅ No sudo required
- ✅ Works immediately
- ✅ Private to your user account
- ✅ No administrator needed
**Requirements:**
- None - works on any system!
---
## What the Installer Does
The `install.sh` script performs these steps:
### Step 1: Go Verification
- Checks if Go 1.21+ is installed
- Displays Go version
- Exits with helpful error message if not found
### Step 2: Build
- Cleans previous builds
- Downloads dependencies
- Compiles VideoTools binary
- Validates build success
### Step 3: Installation Path Selection
- Presents two options:
- System-wide (`/usr/local/bin`)
- User-local (`~/.local/bin`)
- Creates directories if needed
### Step 4: Binary Installation
- Copies binary to selected location
- Sets proper file permissions (755)
- Validates installation
### Step 5: Shell Environment Setup
- Detects your shell (bash/zsh)
- Adds VideoTools installation path to PATH
- Sources alias script for convenience commands
- Adds to appropriate rc file (`.bashrc` or `.zshrc`)
---
## Convenience Commands
After installation, you'll have access to:
```bash
VideoTools # Run VideoTools directly
VideoToolsRebuild # Force rebuild from source
VideoToolsClean # Clean build artifacts and cache
```
---
## Requirements
### Essential
- **Go 1.21 or later** - https://go.dev/dl/
- **Bash or Zsh** shell
### Optional
- **FFmpeg** (for actual video encoding)
```bash
ffmpeg -version
```
### System
- Linux, macOS, or WSL (Windows Subsystem for Linux)
- At least 2 GB free disk space
- Stable internet connection (for dependencies)
---
## Troubleshooting
### "Go is not installed"
**Solution:** Install Go from https://go.dev/dl/
```bash
# After installing Go, verify:
go version
```
### Build Failed
**Solution:** Check build log for specific errors:
```bash
bash install.sh
# Look for error messages in the build log output
```
### Installation Path Not in PATH
If you see this warning:
```
Warning: ~/.local/bin is not in your PATH
```
**Solution:** Reload your shell:
```bash
source ~/.bashrc # For bash
source ~/.zshrc # For zsh
```
Or manually add to your shell configuration:
```bash
# Add this line to ~/.bashrc or ~/.zshrc:
export PATH="$HOME/.local/bin:$PATH"
```
### "Permission denied" on binary
**Solution:** Ensure file has correct permissions:
```bash
chmod +x ~/.local/bin/VideoTools
# or for system-wide:
ls -l /usr/local/bin/VideoTools
```
### Aliases Not Working
**Solution:** Ensure alias script is sourced:
```bash
# Check if this line is in your ~/.bashrc or ~/.zshrc:
source /path/to/VideoTools/scripts/alias.sh
# If not, add it manually:
echo 'source /path/to/VideoTools/scripts/alias.sh' >> ~/.bashrc
source ~/.bashrc
```
---
## Advanced: Manual Installation
If you prefer to install manually:
### Step 1: Build
```bash
cd /path/to/VideoTools
CGO_ENABLED=1 go build -o VideoTools .
```
### Step 2: Install Binary
```bash
# User-local installation:
mkdir -p ~/.local/bin
cp VideoTools ~/.local/bin/VideoTools
chmod +x ~/.local/bin/VideoTools
# System-wide installation:
sudo cp VideoTools /usr/local/bin/VideoTools
sudo chmod +x /usr/local/bin/VideoTools
```
### Step 3: Setup Aliases
```bash
# Add to ~/.bashrc or ~/.zshrc:
source /path/to/VideoTools/scripts/alias.sh
# Add to PATH if needed:
export PATH="$HOME/.local/bin:$PATH"
```
### Step 4: Reload Shell
```bash
source ~/.bashrc # for bash
source ~/.zshrc # for zsh
```
---
## Uninstallation
### If Installed System-Wide
```bash
sudo rm /usr/local/bin/VideoTools
```
### If Installed User-Local
```bash
rm ~/.local/bin/VideoTools
```
### Remove Shell Configuration
Remove these lines from `~/.bashrc` or `~/.zshrc`:
```bash
# VideoTools installation path
export PATH="$HOME/.local/bin:$PATH"
# VideoTools convenience aliases
source "/path/to/VideoTools/scripts/alias.sh"
```
---
## Verification
After installation, verify everything works:
```bash
# Check binary is accessible:
which VideoTools
# Check version/help:
VideoTools --help
# Check aliases are available:
type VideoToolsRebuild
type VideoToolsClean
```
---
## Getting Help
For issues or questions:
1. Check **BUILD_AND_RUN.md** for build-specific help
2. Check **DVD_USER_GUIDE.md** for usage help
3. Review installation logs in `/tmp/videotools-build.log`
4. Check shell configuration files for errors
---
## Next Steps
After successful installation:
1. **Read the Quick Start Guide:**
```bash
cat DVD_USER_GUIDE.md
```
2. **Launch VideoTools:**
```bash
VideoTools
```
3. **Convert your first video:**
- Go to Convert module
- Load a video
- Select "DVD-NTSC (MPEG-2)" or "DVD-PAL (MPEG-2)"
- Click "Add to Queue"
- Click "View Queue" → "Start Queue"
---
## Platform-Specific Notes
### Linux (Ubuntu/Debian)
Installation is fully automatic. The script handles all steps.
### Linux (Arch/Manjaro)
Same as above. Installation works without modification.
### macOS
Installation works but requires Xcode Command Line Tools:
```bash
xcode-select --install
```
### Windows (WSL)
Installation works in WSL environment. Ensure you have WSL with Linux distro installed.
---
Enjoy using VideoTools! 🎬