I’ve been looking to update Transcode with two goals recently.

  1. I wanted to add support for 4k video.
  2. I wanted to reduce the transcoding my Plex server has to do.

As I tried to plan how to tackle these somewhat contradictory goals, I realized I needed to adjust my overall strategy of having a single file for each video. I spent a couple months playing with various transcoding settings, and I settled on 3 profiles.

4k60: This uses HEVC to reduce file size, and caps the frame rate at 60fps.
1080p60: This profile uses H.264 4.2 High Profile to retain as much quality as possible.
720p30: This profile also uses H.264, but at level 3.1 for better compatibility and ease of transcoding when it becomes necessary, and it caps frame rate at 30fps.

I saved these settings as Handbrake presets, and for a while I set up transcode jobs by hand. This worked fine for the occasional movie, but as I sat down to transcode TV shows earlier this week this manual setup quickly became unsustainable.

Enter Plexify. This is a new script that detects the source video’s height and transcodes multiple versions at 720p, 1080p, and 4k until it reaches the original video’s height.