Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

It’s such a shame as h265 is such an amazing codec breakthrough. I’m in the process of converting my library for space saving and the h265 files are literally 50% of the original size (give or take), with imperceptible quality difference. I can reencode around 100-200GB/day typically, using a 3090
 help



I really suggest not using GPU encodes for this purpose unless it's mostly worthless archival content. You can save way more space using AV1 on CPU via things like av1an. If you really like H265 using it on CPU also gets much better quality/size tradeoff.

The encoding speed with my CPU was less than real time. This was unacceptable performance to me.

Maybe my CPU settings weren't right?


If you have enough cores, av1an can do it pretty quickly by splitting the video into chunks.

The CPU is an 11700k it’s not the beefiest. Maybe the high end AMD chips make this a more viable choice

Assuming you’re using FFMPEG?

Do you have a good guide for balancing quality and size? I’ve searched but never found something that really nails it for me. I have until now just been keeping everything as it streamed off the dvd or bluray in mpeg4 or h264 in an mkv and yeah, time to re-encode in to something more reasonably sized.


Yes, I wrote a python script that uses FFMPEG and detects the bitrate of the file and determines approximately what CQ to use. If the original file has a low bitrate, by reencoding it with a high CQ you can actually increase the file size (lol).

Normal CQ = 28 Aggressive CQ = 34

  # Thresholds to detect ultra-low-bitrate inputs (use more aggressive encoding)
  # (width, height) → min sensible bitrate (bps). If stream <= threshold, use aggressive profile.  

 LOW_BITRATE_THRESHOLDS = [
       ((3840, 2160),  13_000_000),  # 4K  ≤13 Mbps → use aggressive encoding
       ((2560, 1440),   8_000_000),  # 1440p
       ((1920, 1080),   5_000_000),  # 1080p
       ((1280, 720),    2_500_000),  # 720p
       ((854, 480),     1_200_000),  # 480p
   ]

Thanks!

Do you notice a difference if you encode using your GPU vs CPU? I've heard people say NVENC doesn't encode as efficiently as x265 but I haven't actually tried it out.

NVENC can obviously encode much faster, but for archive I'd probably prefer a better compression ratio if thats on the cards.


I use “slow” GPU encoding. I optimized my pipeline for minimal quality loss, not maximum file size savings. I wouldn’t recommend using consumer grade CPUs to reencode because to get a reasonable speed you’ll need to use “fast” presets which tank the quality. Anecdotally fast CPU method saves closer to 60-70% file size.



Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: