FIXES:
- Fixed --tiny --nvhevc to use MP4 container instead of WEBM
- Added conflict detection for --x264 and --nvhevc flags
- Fixed stats system to accumulate data properly (total_files, total_time, average_time)
- Improved error handling for missing flag values
IMPROVEMENTS:
- Implemented actual progress tracking using FFmpeg stderr parsing
- Added real-time progress bar with ETA calculation
- Progress shows percentage complete and estimated time remaining
- Stats now properly accumulate over time instead of overwriting
TECHNICAL:
- Added bufio import for progress parsing
- Enhanced container compatibility logic
- Better error messages for conflicting flags
- Improved stats JSON structure with proper data types
- Added --nvhevc command line flag support
- Created NVENC HEVC presets that match AV1 settings:
- Fast: fast preset, CQ 26, main10 profile
- Web-optimized: medium preset, CQ 28, main10 profile
- Quick: fast preset, CQ 26, main10 profile
- Tiny: fast preset, CQ 30, main10 profile
- Updated encoding logic to use hevc_nvenc when --nvhevc flag is provided
- Added proper NVENC HEVC parameters:
- rc-lookahead 32 for better quality
- spatial_aq and temporal_aq for adaptive quantization
- hvc1 tag for compatibility
- VBR rate control with constant quality
- Updated help text and examples to show NVENC HEVC usage
- Output files are named with NVHEVC prefix when using NVENC HEVC
- AV1 remains the default codec, NVENC HEVC is optional
- Requires NVIDIA GPU with NVENC support
- Added --x264 command line flag support
- Created H.264/x264 presets that match AV1 settings:
- Fast: fast preset, film tune, high profile
- Web-optimized: medium preset, film tune, high profile
- Quick: medium preset, film tune, high profile
- Tiny: fast preset, film tune, main profile
- Updated encoding logic to use libx264 when --x264 flag is provided
- Updated help text and examples to show x264 usage
- AV1 remains the default codec, x264 is optional
- Output files are named with H264 prefix when using x264