forked from Leak_Technologies/VideoTools
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!
360 lines
6.2 KiB
Markdown
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! 🎬
|
|
|