Releases: SimpNick6703/Video-Compression
Releases · SimpNick6703/Video-Compression
v1.1.2
What's new
This Release provides support for Two-Pass Encoding for AMD GPUs on Windows. We're also adopting MIT License with this release.
Auto Resolution and Framerate Scaling
The tool now dynamically scales down resolution and framerate if the target file size is too small, prioritizing 60 FPS for gaming content.
Codec & Encoder Enhancements
- Added full H.264 support. The tool now provides separate executables for both H.264 and HEVC (H.265) codecs.
- Ensured native playback compatibility on Apple devices (macOS/iOS) by applying the correct
hvc1andavc1video tags. - Improved and streamlined the hardware encoder fallback logic across Windows, Linux, and macOS.
Build System Improvements
Build process now generates versioned binaries for all combinations of file size presets and codecs.
Full Changelog
v1.1.2-pre
Full Changelog: v1.1.1...v1.1.2-pre
v1.1.1
What's Changed
Multi-GPU Encoder Support
- Added split dual-worker encoding for AMD (HEVC AMF), Intel (HEVC QSV), Apple (HEVC VideoToolbox), and VAAPI
- Expanded hardware compatibility beyond NVIDIA to leverage diverse GPU vendors
Encoding Enhancements
- Parallel split-pass encoding for improved efficiency on non-NVENC hardware
- Enhanced VAAPI device initialization and configuration
- Improved hardware encoder abstraction and modularity
Implementation
- New
build_single_pass_cmd()helper for encoder-specific command construction - New
encode_split_single_pass_hw()for parallel dual-worker workflows - Refactored command building with hardware-specific optimizations
Full Changelog: v1.1.0...v1.1.1
v1.1.1-pre
Full Changelog: v1.1.0...v1.1.1-pre
v1.1.0
Changelog for Release
v1.1.0 - AMD/Intel GPU Support & Documentation
Features
- Added support for AMD GPU acceleration (
hevc_amfencoder on Windows) - Added support for Intel GPU acceleration (
hevc_qsvencoder on Windows) - Added support for VAAPI acceleration (covers AMD & Intel on Linux)
- Added encoder availability checking during startup based on OS
- Implemented intelligent encoder selection with fallback chain: NVENC → VAAPI → VideoToolbox → AMF → QSV → CPU
Improvements
- Refactored encoder selection logic into a unified
select_best_encoder()function - Replaced NVENC-specific code with generic hardware encoder support
- Implemented
encode_single_pass_hw()for non-NVENC encoders with platform-specific optimizations - Enhanced docstrings with detailed parameter/return documentation across all functions
- Improved error handling in audio bitrate detection with sensible defaults
Documentation
- Added comprehensive "Encoder Priority Logic" table showing encoder chains per platform (Windows/Linux/macOS)
- Documented encoder priority reasoning and hardware selection behavior
- Updated usage examples to include optional
target_size_in_mbparameter for Linux - Added note about Two-Pass encoding availability (NVENC only)
- Removed outdated caution about limited GPU support
Bug Fixes & Refinements
- Fixed audio bitrate detection to default to 128kbps when no audio stream found
- Improved progress reporting formatting and cancellation handling
- Optimized bitrate calculation with safety factor for consistent target sizes
Full Changelog: v1.0.4...v1.1.0
v1.1.0-pre
Full Changelog: v1.0.4...v1.1.0-pre
v1.0.4
What's Changed
Changelog: main → multi-nvenc-use
New Features
- Parallel NVENC encoding - Uses 2 physical encoders simultaneously with smart scene-based splitting
- Unified build system - Single build.py replaces 4 preset scripts, auto-downloads FFmpeg
Improvements
- Progress display now shows FPS, Speed, and ETA for both NVENC and CPU paths
- Changed to
hevc_nvenccodec and-c:a copy(preserves audio quality) - Added
maxrateandbufizeargs to avoid bitrate overshooting final output filesize - Added
BITRATE_SAFETY_FACTORto CPU fallback - Better error handling with specific exceptions and cleanup on failure
Full Changelog: v1.0.3...v1.0.4
v1.0.3
Changelog: multi-nvenc-use Branch
New Features
- Multi-GPU NVENC support - Added threading for parallel video encoding
- Smart split point analysis - New function to find optimal keyframe-aligned split points for parallel encoding
- Progress tracker - New class for real-time progress monitoring across parallel encoding streams
Changes
- Simplified
format_size()andget_video_info()functions - Extended
clean_log_file()to support custom prefixes for multi-instance log cleanup - Replaced
run_ffmpeg_pass()withmonitor_process()for threaded progress tracking - Removed verbose docstrings and inline comments
- Added
jsonandthreadingmodule imports - Removed unused
Uniontype import
v1.0.2
What's Changed
- Automated Releases builds by @SimpNick6703 in #1
- Improved hardware detection by @SimpNick6703 in #2
New Contributors
- @SimpNick6703 made their first contribution in #1
Full Changelog: v1.0.1...v1.0.2
v1.0.1
Full Changelog: v1.0.0...v1.0.1