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

6.2 KiB

VideoTools Installation Guide

This guide will help you install VideoTools with minimal setup.

One-Command Installation

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:

# For bash users:
source ~/.bashrc

# For zsh users:
source ~/.zshrc

Then start using VideoTools:

VideoTools

Installation Options

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)

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:

VideoTools              # Run VideoTools directly
VideoToolsRebuild       # Force rebuild from source
VideoToolsClean         # Clean build artifacts and cache

Requirements

Essential

Optional

  • FFmpeg (for actual video encoding)
    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/

# After installing Go, verify:
go version

Build Failed

Solution: Check build log for specific errors:

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:

source ~/.bashrc    # For bash
source ~/.zshrc     # For zsh

Or manually add to your shell configuration:

# Add this line to ~/.bashrc or ~/.zshrc:
export PATH="$HOME/.local/bin:$PATH"

"Permission denied" on binary

Solution: Ensure file has correct permissions:

chmod +x ~/.local/bin/VideoTools
# or for system-wide:
ls -l /usr/local/bin/VideoTools

Aliases Not Working

Solution: Ensure alias script is sourced:

# 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

cd /path/to/VideoTools
CGO_ENABLED=1 go build -o VideoTools .

Step 2: Install Binary

# 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

# 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

source ~/.bashrc    # for bash
source ~/.zshrc     # for zsh

Uninstallation

If Installed System-Wide

sudo rm /usr/local/bin/VideoTools

If Installed User-Local

rm ~/.local/bin/VideoTools

Remove Shell Configuration

Remove these lines from ~/.bashrc or ~/.zshrc:

# 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:

# 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:

    cat DVD_USER_GUIDE.md
    
  2. Launch VideoTools:

    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:

xcode-select --install

Windows (WSL)

Installation works in WSL environment. Ensure you have WSL with Linux distro installed.


Enjoy using VideoTools! 🎬