Skip to content

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