9

Though there seems to be little information available, I've seen several posts of people successfully decoding H265 video on the Pi 3 either with, or without overclocking.

I'm running a Raspberry Pi 3, which is used primarily as a Plex media server. While other files play just fine, (even at 30fps@1080p!), the Pi seems to choke on H265 encoded files. "Plex new transcoder" jumps to over ~350% CPU and the video pauses to buffer once every minute or two.

Overclocking to 1400Mhz seems to have helped, but did not suffice for smooth playback.

Is it unreasonable to expect H265 decoding/transcoding from the Pi 3?

Will an MPEG-2 License help? Do I even need one for the Pi 3? And if so, will the Plex media server take advantage of it?

Jacobm001
  • 11,898
  • 7
  • 46
  • 56
Boaz Arad
  • 191
  • 1
  • 1
  • 3
  • As the RPi doesn't have a hardware module to decode HEVC streams, that task is fully delegated to the CPU, which is not powerful enough (don't worry, even Intel CPUs aren't sometimes powerful enough to decode 1080p or 4K HEVC streams without hw acceleration!). MPEG-2 license is useless, as HEVC is another standard (MPEG-4 part 10) – ItalyPaleAle May 11 '16 at 15:10
  • 2
    You might want to go for an Odroid C2. a little more expensive then Rpi3, but with H265 hardware based encoding. The odroid CS has the same form factor as Pi3. – user63882 Mar 16 '17 at 09:57
  • Thanks, any practical experience with the C2? If it can properly serve H265 files from Plex Media Server to a Chromecast, It'd be perfect! – Boaz Arad Mar 18 '17 at 18:59

2 Answers2

6

As Qualcuno pointed out yesterday, the RPi (all models) does not have support for hardware acceleration of H.265 video sources. As such, the RPi just doesn't have the raw horsepower needed to decode higher resolution videos on the fly.

Will an MPEG-2 License help?

MPEG-2 is a totally different encoding type, so no it won't help your case.

do I even need one for the Pi 3?

If you're doing a lot of processing of MPEG-2 files, it's still not a bad idea.

And if so, will the Plex media server take advantage of it?

Like most things regarding the RPi's inner workings, I've had a really rough time figuring out this answer. The documentation continues to be less that thorough. I can tell you that the NewPlexTranscoder is based on ffmpeg, which does not support GPU rendering. Everything is truly reliant on the CPU, so I think it'd be unlikely that the Transcoder would take advantage of it if you were using that given file type.

An Alternative

If you open your Plex library, the settings for the chosen video library should have an optimize option. You can set the encoding and resolution ahead of time, which will cause Plex to prerender everything in that library.

This will probably take quite a while, but may make the service more usable for you once it's done.

Jacobm001
  • 11,898
  • 7
  • 46
  • 56
5

A RPI3 can decode 1080p HEVC quite well. There have been NEON optimizations to HW-accelerate HEVC decoding. Best played with KODI.

The problem is a RPI3 is running hot, so it starts throttling, an RPI3+ has much less thermal issues.

Nowadays a RPI3+ can even decode 10bit 1080p HEVC pretty well. Use the latest KODI/LibreElec builds for the best performance.

Janghou
  • 1,446
  • 1
  • 16
  • 20