WinFF with an up to date FFMPEG installed
Handbreak will work as well
The best thing to have is a good graphics card, and run the compression off of the card instead of your cpu.
That said, if you're really patient, you can compress things to an absurd degree, it just takes a damn long time.
CPU compression, shittily ~45m per file
CPU Compression, done well ~2-3hrs per file
GPU Compression, done decently ~5-10m per file
My preset is:
-c:v av1_nvenc -preset p6 -tune hq -profile:v main10 -pix_fmt p010le -rc vbr -b:v 2500k -maxrate 4000k -bufsize 8000k -vf scale=w='min(1920,iw)':h='min(1080,ih)':force_original_aspect_ratio=decrease -c:a aac -ar 48000 -b:a 96k -movflags +faststart
It does require an nvidia card with up to date drivers though
I'd like to also add a couple of things:
- Software encoding (CPU compression) is always superior over hardware encoding (GPU compression) thanks to Constant Rate Factor, if you're only concerned with quality and size.
- You can still perform hardware encoding even without a dedicated GPU, provided that your CPU has an integrated GPU that isn't too ancient.
- From what I've tried, hardware encoding from Nvidia cards are slightly of better quality over AMD cards' encoding.
- Newer versions of FFmpeg don't work well with Older (>7 years) Nvidia cards.
- Quality and encoding are highly dependent on the video itself, anime eps could be upscaled to 8k and still remain under 1GB thanks to low framerates and limited color profiles, etc.
- H.265 codec is a meme and works better for low framerate videos, your mileage may vary and I've achieved a compression rate anywhere between 15% to 80% across a sample of 1700 videos, mostly MMD.
- Sufficiently lengthy videos may also have bloated (in bitrate, sample rate) .mp3 tracks, compressing these via Ffmpeg (and Handbrake) are annoying.
- Software encoding isn't really that slow unless you're doing batches or videos exceeding 10 minutes, a humble 2010-era laptop CPU could handle about 4 (3~5 minutes long) videos in an hour, one at a time.