154 lines
4.8 KiB
Markdown
154 lines
4.8 KiB
Markdown
# docs/README.md
|
|
Video Tools CLI (v0.1.2)
|
|
|
|
A lightweight command-line utility for video conversion, merging, and media inspection using FFmpeg.
|
|
Developed by Leak Technologies for efficient local video processing.
|
|
Fully compatible with Linux and Windows (via Git Bash or WSL).
|
|
|
|
------------------------------------------------------------
|
|
Overview
|
|
------------------------------------------------------------
|
|
|
|
The tool provides several core commands:
|
|
|
|
convert-single Converts a single video to MP4 using high-quality compression.
|
|
convert-multiple Combines multiple video clips or discs into one MP4 file.
|
|
videoinfo Displays technical details such as bitrate, resolution, codecs, and duration.
|
|
videoinfo --verbose Shows full ffprobe metadata for advanced analysis.
|
|
|
|
All converted videos are saved to ~/Videos by default.
|
|
Logs are stored in ~/.local/share/video-tools/logs with ISO timestamps.
|
|
|
|
------------------------------------------------------------
|
|
Requirements
|
|
------------------------------------------------------------
|
|
|
|
Linux:
|
|
Install FFmpeg using your package manager:
|
|
sudo pacman -S ffmpeg (Arch, Garuda, EndeavourOS)
|
|
sudo apt install ffmpeg (Debian, Ubuntu, Mint)
|
|
|
|
Windows:
|
|
1. Download FFmpeg from https://ffmpeg.org/download.html
|
|
2. Add FFmpeg to your PATH environment variable.
|
|
3. Use Git Bash or WSL to execute video-tools.sh.
|
|
|
|
------------------------------------------------------------
|
|
Installation
|
|
------------------------------------------------------------
|
|
|
|
1. Clone or copy the repository:
|
|
git clone https://git.leaktechnologies.dev/Leak_Technologies/VideoTools.git
|
|
cd VideoTools
|
|
|
|
2. Make the script executable:
|
|
chmod +x video-tools.sh
|
|
|
|
3. (Optional) Add it to your system PATH:
|
|
sudo ln -s ~/VideoTools/video-tools.sh /usr/local/bin/video-tools
|
|
|
|
You can now use it globally:
|
|
video-tools convert-single "input.avi" "output.mp4"
|
|
|
|
------------------------------------------------------------
|
|
Default Settings
|
|
------------------------------------------------------------
|
|
|
|
Output directory: ~/Videos
|
|
Video codec: libx264
|
|
Audio codec: aac
|
|
Quality (CRF): 18
|
|
Preset: slow
|
|
Audio bitrate: 192k
|
|
|
|
These defaults balance visual quality and compression efficiency.
|
|
They are ideal for general use, personal archiving, and local playback.
|
|
|
|
For full parameter details, see docs/Conversion_Settings.md.
|
|
|
|
------------------------------------------------------------
|
|
Example Usage
|
|
------------------------------------------------------------
|
|
|
|
Convert a single file:
|
|
video-tools convert-single "/path/to/input.avi" "output.mp4"
|
|
|
|
Merge multiple videos:
|
|
video-tools convert-multiple "/path/to/part1.avi" "/path/to/part2.avi" "combined.mp4"
|
|
|
|
Check video info:
|
|
video-tools videoinfo "combined.mp4"
|
|
|
|
Verbose mode:
|
|
video-tools videoinfo "combined.mp4" --verbose
|
|
|
|
------------------------------------------------------------
|
|
Conversion Profiles
|
|
------------------------------------------------------------
|
|
|
|
Default:
|
|
CRF 18, preset slow, 192k audio (balanced quality and speed)
|
|
|
|
--hi-rate:
|
|
CRF 14, preset veryslow, 320k audio (maximum quality)
|
|
|
|
--portable:
|
|
CRF 24, preset faster, 128k audio (mobile optimized)
|
|
|
|
Profiles can be added after any convert command.
|
|
|
|
Example:
|
|
video-tools convert-single "movie.avi" "movie_high.mp4" --hi-rate
|
|
|
|
------------------------------------------------------------
|
|
Troubleshooting
|
|
------------------------------------------------------------
|
|
|
|
Problem: command not found
|
|
Cause: Script not linked globally
|
|
Fix: Run ./video-tools.sh or create a symlink in /usr/local/bin
|
|
|
|
Problem: ffmpeg not found
|
|
Cause: FFmpeg not installed
|
|
Fix: Install it using your system package manager
|
|
|
|
Problem: permission denied
|
|
Cause: Missing executable permission
|
|
Fix: chmod +x video-tools.sh
|
|
|
|
Problem: merge fails
|
|
Cause: Inputs use different codecs or frame rates
|
|
Fix: Convert each input to MP4 first, then merge
|
|
|
|
------------------------------------------------------------
|
|
Roadmap
|
|
------------------------------------------------------------
|
|
|
|
convert-single Complete
|
|
convert-multiple Complete
|
|
videoinfo Complete
|
|
upscale-video Planned
|
|
batch conversion Planned
|
|
auto format detect Planned
|
|
video-compare Planned
|
|
config overrides Planned
|
|
|
|
------------------------------------------------------------
|
|
Documentation Index
|
|
------------------------------------------------------------
|
|
|
|
docs/CLI_Functions.md Command reference and usage examples
|
|
docs/Conversion_Settings.md Technical breakdown of encoding defaults
|
|
docs/CHANGELOG.md Version history and planned updates
|
|
docs/Upscale.md Future plans for scaling and ML-based enhancement
|
|
|
|
------------------------------------------------------------
|
|
License
|
|
------------------------------------------------------------
|
|
|
|
Free for personal and educational use.
|
|
Redistribution permitted with attribution to Leak Technologies.
|
|
|
|
------------------------------------------------------------
|
|
End of File
|