Transcoding live TV to HEVC using ffmpeg

Soldato
Joined
13 Jun 2009
Posts
6,872
My TV server currently transcodes live TV to AVC using ffmpeg. Obviously if I was able to use HEVC I can increase the quality of the video on my phone/tablet/laptop and save data usage on the train, etc. I've tried switching to libx265 from libx264 and, to my surprise, my phone (Galaxy S5) can play the video perfectly. However, my TV server is unable to transcode quickly enough. Sometimes it can just about transcode 1080i/25 broadcast streams to 576p/50 @ 1.5 Mb/s on the "ultrafast" preset with ~95% CPU usage but it always has to buffer every minute or so. Transcoding to 720p/50 is obviously worse. Meanwhile, CPU usage sits at 70% or less when transcoding to HD using libx264's "faster" preset.

So what are my options here? The server currently has an i5-4440, and Asus H81M-Plus and no separate GPU. I have a few options:

1) Upgrade the CPU, e.g. to an i7-4790.
2) Upgrade the CPU and motherboard, possibly to a Z97 or Z170 so I can overclock.
3) Install a GPU that has hardware HEVC encoding that can be used by libx265.

Option 1 seems the simplest but I don't know if this will be sufficient. Option 2 is the most expensive and seems a waste of money just to use HEVC. Option 3 might be best but I have no idea if there's any affordable GPUs that will actually work.

Thoughts?
 
Hi Dragon,
AMD's new RX 460/470/480 are meant to support hardware HEVC encode, BUT don't know if that will be usable with Libx265.
Might be the best option if they are though, and probably cheapest!
 
Good point. Thinking about it, I imagine libx265 is probably software-only but ffmpeg might add support for HEVC hardware encoders. I know there's a QuickSync AVC encoder for it but I'm not sure about HEVC.
 
Back
Top Bottom