Repository navigation
iPhone HDR clips stop looking grey, and an impossible target is refused before the encode instead of after it.
- HDR sources (iPhone HLG, HDR10/PQ) are converted to SDR BT.709 inside the same encode. Before, the output kept HDR tags on 8-bit pixels, so iPhone videos looked washed out after compression
- Quality checks tone-map the reference frame too, so VMAF and SSIM measure compression loss instead of the HDR-to-SDR transfer curve
- A target below the minimum bitrate for the video's duration now fails before encoding and reports the smallest achievable size, instead of spending an encode that cannot fit.
--forcestill runs it - When a two-pass encode lands more than 0.5% over target, halfsize re-encodes once with a corrected bitrate instead of handing back an oversized file
--for emailnow targets 18 MB, because base64 makes a 20 MB attachment a 26.7 MB message that bounces at Gmail's 25 MB limit. New--for outlooktargets 15 MB for the 20 MB message cap, and--for gmailis an explicit alias for the 18 MB one
Install
npx halfsize@0.1.9 video.mp4 --to 20mb
Full changelog: https://github.com/YKLovePython/halfsize/blob/main/CHANGELOG.md