Skip to content

v0.1.9

Latest

Choose a tag to compare

@YKLovePython YKLovePython released this 07 Nov 12:24
e0201b1

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. --force still 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 email now 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 outlook targets 15 MB for the 20 MB message cap, and --for gmail is 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