Changelog¶
All notable changes to StreamPack will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[1.0.0] - 2025-09-XX¶
🎉 Initial Release¶
Added¶
Core Features - Professional class-based HLS converter architecture - Automatic hardware encoder detection (VideoToolbox, NVENC, QuickSync, VAAPI, AMF) - Dynamic bitrate adjustment based on input video characteristics - Multi-threaded parallel processing for optimal performance - Comprehensive media analysis with FFprobe integration
Encoding & Quality - Adaptive bitrate streaming with intelligent resolution ladder generation - Support for 144p to 2160p (4K) video resolutions - Automatic bitrate optimization based on input video quality - Hardware-accelerated encoding with software fallback - Audio track preservation with language detection - Subtitle conversion to WebVTT format
CLI Interface
- Professional command-line interface with extensive options
- Encoder detection and listing (--list-encoders
)
- Media analysis without conversion (--analyze-only
)
- JSON configuration file support
- Comprehensive help system and usage examples
- Debug and quiet modes for different use cases
Developer API - Clean, well-documented Python API - Modular architecture with separate components - Rich console logging with progress tracking - Comprehensive error handling and reporting
Documentation - Professional MkDocs documentation with Material theme - Comprehensive API reference with examples - Step-by-step installation and quick start guides - CLI reference with all options and examples - Advanced usage patterns and integration examples
Technical Specifications¶
Supported Input Formats - MP4, MKV, AVI, MOV, M4V and other FFmpeg-supported formats - H.264, H.265, VP9, AV1 video codecs - AAC, MP3, AC3, DTS audio codecs - SRT, ASS, VTT, PGS, DVD subtitle formats
Output Format - HLS (HTTP Live Streaming) with M3U8 playlists - MPEG-TS segments with configurable duration - Multi-bitrate adaptive streaming - Audio-only tracks with language support - WebVTT subtitles for text-based tracks
System Requirements - Python 3.8+ - FFmpeg 4.0+ with desired encoders - macOS, Windows, Linux support - Hardware acceleration support on compatible systems
Architecture Improvements¶
Compared to Legacy Version
- ✅ Class-based architecture vs. procedural functions
- ✅ Dynamic bitrate adjustment vs. hardcoded bitrates
- ✅ Modular components vs. monolithic script
- ✅ Professional CLI vs. basic argument parsing
- ✅ Comprehensive testing vs. no test coverage
- ✅ Package distribution vs. single script file
- ✅ Rich documentation vs. minimal comments
- ✅ Error handling vs. basic exception catching
Known Limitations¶
- Bitmap subtitle formats (PGS, DVD) require manual OCR
- Some hardware encoders may not be available on all systems
- Very large files (>50GB) may require increased memory
- Network storage may impact processing speed
Full Changelog: https://github.com/aniketsarkar/streampack/commits/v1.0.0