How simpnick6703/video-compression works
Video-Compression is a local CLI tool that targets a requested output size while minimizing quality loss. The main workflow parses a source path and options, probes the video and plans bitrate/quality settings, selects an available encoder, then runs hardware split encoding or CPU encoding and reports progress and results. The README also documents HEVC/H.264 support and platform-specific hardware encoder fallback. Core and encoder behavior is represented at module level; the excerpts do not show every internal call, so the graph avoids inferring finer-grained links.
Main entry points: encode.py Compression orchestrator · core.py Probe and encode planning · cli.py Argument parser · __main__.py Module entry
Components 11
CLI entry
- Module entry
videocompress/__main__.py - Argument parser
videocompress/cli.py - Package entry
videocompress/__init__.py
Media planning
- Probe and encode planning
videocompress/core.py
Encoding runtime
- Compression orchestrator
videocompress/encode.py - Hardware split encoding
videocompress/encode.py - CPU encoding
videocompress/encode.py
Progress and results
- Progress and result UI
videocompress/progress.py
Other components
- Video user
- FFmpeg
- FFprobe
Connections 14
- Video user → Module entry: invokes
README.md - Video user → Package entry: invokes
README.md - Module entry → Argument parser: calls
videocompress/__main__.py - Package entry → Argument parser: exports
videocompress/__init__.py - Argument parser → Compression orchestrator: calls
videocompress/cli.py - Compression orchestrator → Probe and encode planning: uses planning
videocompress/encode.py - Compression orchestrator → Hardware split encoding: dispatches
videocompress/encode.py - Compression orchestrator → CPU encoding: dispatches
videocompress/encode.py - Compression orchestrator → Progress and result UI: updates UI
videocompress/encode.py - Probe and encode planning → FFprobe: probes media
videocompress/core.py - Probe and encode planning → FFmpeg: runs checks
videocompress/core.py - Hardware split encoding → FFmpeg: encodes and stitches
videocompress/encode.py - CPU encoding → FFmpeg: encodes
videocompress/encode.py - Progress and result UI → FFmpeg: monitors processes