Jump to content

Simplest way to get h.265 support?


Shadowdream
Go to solution Solved by Q-Droid,

Recommended Posts

Shadowdream

Hi, 

 

I have a question about adding h.265 support to my htpc and how I can get decent performance without breaking the bank. My current system does not support h.265 and I most likely will have to replace/add some component. I am looking for what options are available.

 

My 4K collection is growing and I am finding my machine to struggle with h.265 content. CPU is at max and I even had to lower transcode quality compared to what I would easily use on h.264 movies. I think upgrading is a wise solution here. I am not interested in getting a new machine.

These movies are all RIPs from original 4K HDR blu-ray disks, saved as .mkv (I prefer to have my collections stored in digital format) They are somewhere between 40 and 60 GB in size each - if someone has an idea on how to get them a bit smaller without hurting image quality too much, I would appreciate that as well. (I guess cutting them to 21:9 would already help a lot) Converting time is not an issue, since my machine stands still most of the time, I can easily let it run for days in the background (I do DVR-Recording in the background though, so low-priority transcode would be welcome). But I have no clue on how to use such software. I‘m running Debian and have installed Handbrake (GUI and CL), but it‘s much different from the counterpart on Windows (which I don‘t know too well either).

 

BTT

Currently I am running a Xeon E3-1240v5. No gpu or other relevant hardware. No built-in graphic Chip on the CPU, since the Motherboard has a graphical unit built in (which at time of purchase was more than enough), it runs headless.

I was considering something like the E3-1245v6, but thought I ask here first before making any decision, since it‘s not a cheap one. I was thinking about a cheap GPU, but my Motherboard has no 16x slots, since it‘s not „a gamer motherboard“. A 3.0 8x is the only slot I can offer (which should do).

 

Will Transcoding hurt the image quality? Will h.265 support keep HDR on transcode?

I seem to have some bandwith issue, forcing me to max out at 4k/40mbit. Not sure though if that‘s the processor running on it‘s limit with h.265. When pushing movies onto my HTPC I get pretty much gigabit speed and the drives have more than enough throughput to saturate gigabit.

I do play my movies from my AppleTV4k, but sometimes I feel like transcode is happening, probably due to bandwidth limits?

 

 

Thanks for any advice on this in advance!

Link to comment
Share on other sites

  • Solution
Q-Droid

A Kaby Lake or newer Xeon E3 with graphics will have the HW support for h.265 10-bit decoding and encoding. The socket would be the same (FCLGA1151) though you'd have to make sure your motherboard does support the newer CPU.

 

Now, that said there's still the question of how well Emby will support it. Right now the HEVC hardware support is going through some work and not all color depths are working in hardware.  Server version 4.2.x would decode and encode HEVC in hardware but HDR was lost in the process. In version 4.3.x the HEVC support has some issues where it's falling back to software decode/encode unless you tweak the transcoding settings. I think this should be temporary and @@softworkz has posted about this.

 

https://emby.media/community/index.php?/topic/78303-43013-hw-transcoding-fails-on-some-videos/&do=findComment&comment=797207

 

Even with these (hopefully temporary) shortcomings using Intel Quick Sync is probably the best supported and easiest way to get HW acceleration working reliably in Emby on Linux. For h.264 content and h.265 SDR it's hard to beat the newer Intel iGPUs for HW acceleration.

  • Like 2
Link to comment
Share on other sites

Guest asrequested

A little confused, here. Are you asking about playing on an HTPC?

 

 

I have a question about adding h.265 support to my htpc 

 

 

Or, server transcoding?

Edited by Doofus
Link to comment
Share on other sites

Shadowdream

A little confused, here. Are you asking about playing on an HTPC?

 

 

 

Or, server transcoding?

 

 

I assume by „playing“ you mean play games? In that case, no.

If you ask, whether I connect my HTPC via HDMI to my TV or so, that’s a no as well.

I store my movies on this machine, run Emby on it and from there I stream all my media using LAN to a TV, mobile devices, etc.

I got a strong CPU in order to have some headroom with what I can use it else for and especially for how many years to come. It‘s not a pure emby-server. But transcoding is certainly one of the major benefits I enjoy. A bummer I already have to switch it for something else...

 

As said in the OP, I am having issues with my 4K HDR movies, because of missing h.265 support. Apparently there is also a network-related issue involved (streaming 4K@40mbit max), but I can’t figure that one out quite as precise as I would like. So far I assume that transcoding is one (if not the) reason.

 

 

 

 

 

A Kaby Lake or newer Xeon E3 with graphics will have the HW support for h.265 10-bit decoding and encoding. The socket would be the same (FCLGA1151) though you'd have to make sure your motherboard does support the newer CPU.

 

Now, that said there's still the question of how well Emby will support it. Right now the HEVC hardware support is going through some work and not all color depths are working in hardware.  Server version 4.2.x would decode and encode HEVC in hardware but HDR was lost in the process. In version 4.3.x the HEVC support has some issues where it's falling back to software decode/encode unless you tweak the transcoding settings. I think this should be temporary and @@softworkz has posted about this.

 

https://emby.media/community/index.php?/topic/78303-43013-hw-transcoding-fails-on-some-videos/&do=findComment&comment=797207

 

Even with these (hopefully temporary) shortcomings using Intel Quick Sync is probably the best supported and easiest way to get HW acceleration working reliably in Emby on Linux. For h.264 content and h.265 SDR it's hard to beat the newer Intel iGPUs for HW acceleration.

 

Thank you, that is very informative and helpful advice!

 

On the motherboard‘s spec sheet, it states:

Single socket H4 (LGA 1151) supports Intel® Xeon® processor E3-1200 v6/v5, Intel® 7th/6th Gen. Core i3 series,Intel® Celeron® and Intel® Pentium®

That should allow me to use a 1245v6. As far as I can see it seems to be the best option so far.

A bummer that the software side is not there yet, but I agree, this will be resolved sooner or later and be a straight forward update.

 

One question though, since you specifically mentioned „h.265 SDR“ at the end: Are you soley referring to the afore mentioned issues? Since my 4K movies are all HDR, I am specifically looking for a solution that will support these as well.

 

 

Edit: While I am at it, I also have a question about transcoding movies.

Since h.265 is so good at compressing movies without loss in quality, and me upgrading my HTPC to properly support it, what can you recommend me to convert my current movies? I do have Handbrake installed, but never got to learn how to use it. I am interested in a) shrinking my current TV recorded library, and b.) get my ripped movies into their actual 21:9 format without much loss in quality (and HDR).

Edited by Shadowdream
Link to comment
Share on other sites

Q-Droid

 

Thank you, that is very informative and helpful advice!

 

On the motherboard‘s spec sheet, it states:

Single socket H4 (LGA 1151) supports Intel® Xeon® processor E3-1200 v6/v5, Intel® 7th/6th Gen. Core i3 series,Intel® Celeron® and Intel® Pentium®

That should allow me to use a 1245v6. As far as I can see it seems to be the best option so far.

A bummer that the software side is not there yet, but I agree, this will be resolved sooner or later and be a straight forward update.

 

 

Based on that then your motherboard should support any E3-12xx-v6 with graphics which gives you some options.

 

One question though, since you specifically mentioned „h.265 SDR“ at the end: Are you soley referring to the afore mentioned issues? Since my 4K movies are all HDR, I am specifically looking for a solution that will support these as well.

 

Yes, for the most part I was referring to the known issues and the work in progress around HW acceleration for HEVC HDR. SDR is less of an issue and say that for example you wanted to convert h.264 media to save space then transcoding to h.265 in HW should work fine.

 

How the 4k HDR content is handled is very dependent on the client. Direct streaming is the ideal but if the client can't support it then in the current Emby release there will be some software/CPU decoding or encoding work needed for playback. I've played around with some HDR content just to load test my server but don't have any that I use in my library so my knowledge and experience there is limited.

 

You might have to search through the forums for more info on HDR support or someone might add to this thread.

 

Edit: While I am at it, I also have a question about transcoding movies.

Since h.265 is so good at compressing movies without loss in quality, and me upgrading my HTPC to properly support it, what can you recommend me to convert my current movies? I do have Handbrake installed, but never got to learn how to use it. I am interested in a) shrinking my current TV recorded library, and b.) get my ripped movies into their actual 21:9 format without much loss in quality (and HDR).

 

I haven't touched Handbrake in years so I don't have much to offer there. My recommendation is that you explore the conversion features built into Emby which are pretty good in 4.3.x.

 

Using the built-in Convert I ran this test on my server with an i3-8100 on Linux. Using the Custom options and maintaining Original Quality it's converting 12mbps h.264 to 6mbps h.265, audio is copied, not converted. The final result is a bit more than half the size of the original, 58%.

 

Detection and conversion mapping:

 

09:42:06.195   Metadata:
09:42:06.195     title           :
09:42:06.195     encoder         : libebml v1.3.0 + libmatroska v1.4.0
09:42:06.195     creation_time   : 1970-01-01T00:00:01.356040Z
09:42:06.195   Duration: 01:36:43.20, start: 0.000000, bitrate: 12037 kb/s
09:42:06.195     Stream #0:0(eng): Video: h264 (High), yuv420p(progressive), 1920x1080 [sAR 1:1 DAR 16:9], Level 41, 23.98 fps, 23.98 tbr, 1k tbn, 47.95 tbc (default)
09:42:06.195     Stream #0:1(eng): Audio: ac3, 48000 Hz, 5.1(side), fltp, 640 kb/s
09:42:06.195     Metadata:
09:42:06.195       title           : Dolby Digital 5.1 / 640kbps
09:42:06.195     Stream #0:2(eng): Audio: ac3, 48000 Hz, stereo, fltp, 192 kb/s
09:42:06.195     Metadata:
09:42:06.195       title           : Audio Commentary with Director; Jon Favreau
09:42:06.196     Stream #0:3(eng): Audio: ac3, 48000 Hz, stereo, fltp, 192 kb/s
09:42:06.196     Metadata:
09:42:06.196       title           : Audio Commentary with Actor; Will Ferrell
09:42:06.196     Stream #0:4(eng): Subtitle: hdmv_pgs_subtitle (default)
09:42:06.196     Stream #0:5(eng): Subtitle: hdmv_pgs_subtitle
09:42:06.224 Stream mapping:
09:42:06.224   Stream #0:0 -> #0:0 (h264 (native) -> hevc (hevc_vaapi))
09:42:06.224   Stream #0:1 -> #0:1 (copy)
09:42:06.224   Stream #0:2 -> #0:2 (copy)
09:42:06.224   Stream #0:3 -> #0:3 (copy)
09:42:06.224 Press [q] to stop, [?] for help
09:42:06.272 Output #0, matroska, to '/mnt2/Media/TVHTS/emby/sync-temp/113/2851/2d369139-4998-4211-a85e-7645765aa023.mkv':
09:42:06.272   Metadata:
09:42:06.272     encoder         : Lavf58.31.104
09:42:06.272     Stream #0:0: Video: hevc (hevc_vaapi) (Main), vaapi_vld, 1920x1080 [sAR 1:1 DAR 16:9], q=-1--1, 6018 kb/s, 23.98 fps, 1k tbn, 23.98 tbc (default)
09:42:06.272     Metadata:
09:42:06.272       encoder         : Lavc58.56.101 hevc_vaapi
09:42:06.272     Stream #0:1(eng): Audio: ac3 ([0] [0][0] / 0x2000), 48000 Hz, 5.1(side), fltp, 640 kb/s (default)
09:42:06.272     Stream #0:2(eng): Audio: ac3 ([0] [0][0] / 0x2000), 48000 Hz, stereo, fltp, 192 kb/s
09:42:06.272     Stream #0:3(eng): Audio: ac3 ([0] [0][0] / 0x2000), 48000 Hz, stereo, fltp, 192 kb/s
 

CPU usage during conversion:

 

Tasks: 290 total,   1 running, 172 sleeping,   0 stopped,   0 zombie
%Cpu(s):  4.6 us,  4.2 sy,  0.0 ni, 75.2 id, 15.3 wa,  0.0 hi,  0.7 si,  0.0 st
KiB Mem :  7830376 total,   534076 free,  2624372 used,  4671928 buff/cache
KiB Swap:  4063228 total,  3770876 free,   292352 used.  4756360 avail Mem
 
  PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM     TIME+ COMMAND
19676 emby      20   0  593724 104168  27136 S  6.8  1.3   1:11.86 /opt/emby-server/bin/ffmpeg -loglevel +timing -hwaccel v+
  • Like 1
Link to comment
Share on other sites

Guest asrequested

 

 

 

I assume by „playing“ you mean play games? In that case, no.

If you ask, whether I connect my HTPC via HDMI to my TV or so, that’s a no as well.

I store my movies on this machine, run Emby on it and from there I stream all my media using LAN to a TV, mobile devices, etc.

I got a strong CPU in order to have some headroom with what I can use it else for and especially for how many years to come. It‘s not a pure emby-server. But transcoding is certainly one of the major benefits I enjoy. A bummer I already have to switch it for something else...

 

As said in the OP, I am having issues with my 4K HDR movies, because of missing h.265 support. Apparently there is also a network-related issue involved (streaming 4K@40mbit max), but I can’t figure that one out quite as precise as I would like. So far I assume that transcoding is one (if not the) reason.

 

Ok, so not an HTPC, you're talking about server transcoding.

 

 

 

BTT

Currently I am running a Xeon E3-1240v5. No gpu or other relevant hardware. No built-in graphic Chip on the CPU, since the Motherboard has a graphical unit built in (which at time of purchase was more than enough), it runs headless.

I was considering something like the E3-1245v6, but thought I ask here first before making any decision, since it‘s not a cheap one. I was thinking about a cheap GPU, but my Motherboard has no 16x slots, since it‘s not „a gamer motherboard“. A 3.0 8x is the only slot I can offer (which should do).

 

 

That will support a GTX 1050. Plug one in, and you're done.

 

 

 

One question though, since you specifically mentioned „h.265 SDR“ at the end: Are you solely referring to the afore mentioned issues? Since my 4K movies are all HDR, I am specifically looking for a solution that will support these as well.

 

 

 

But why are you acquiring HDR media if you can't play them? If you don't have an HDR display, or a display that doesn't support 10bit, don't get anything that is 10bit. 

  • Like 1
Link to comment
Share on other sites

But why are you acquiring HDR media if you can't play them? If you don't have an HDR display, or a display that doesn't support 10bit, don't get anything that is 10bit. 

 

Doofus is absolutely right. I can't repeat often enough that it is a really really bad idea to acquire 10bit content as long as your primary displays don't support it.

 

You will always be better off with SDR content for SDR displays. I made some longer posts earlier explaining the details.

 

 

Very important: I strongly advise against converting your library content in any way using 3rd party tools! 

 

Video encoding is not a trivial task. It is nothing like extracting a zip file and then compressing it as rar for example - even when there are tools that make it look like it was as easy as that.

 

Generally, you will make things always worse, never better. 

The only valid exception IMO is to solve playback issues with certain problematic source videos.

 

Converting your library to HEVC in order to save storage space is a very stupid idea. Save the time and trouble, do something productive and buy another HD instead!

 

That's my advice at least. (It has nothing to do with Emby and its capabilities)

Link to comment
Share on other sites

Shadowdream

But why are you acquiring HDR media if you can't play them?

 

What makes you think that this is the case?

Those movies, that run around the 40mbit bitrate, play nicely as direct stream. The more recent ones though seem to exceed some limit and therefore get transcoded. I can still watch them, but they are not as good as they should be. This buggs me, so I came here to seek advice.

 

 

That will support a GTX 1050. Plug one in, and you're done.

 

 

After a quick search, I can‘t find any 8x models. They all have a 16x connector, which means I can not install any of them. Unless you know a certain model, that is built with an 8x connector, I am afraid this is not a viable solution.

Link to comment
Share on other sites

Iirc transcoding HDR to SDR is still a problem regarding tone mapping.

 

I might be wrong though and this is already fixed.

 

@@softworkz, surely knows this...

 

Watch the next few betas...

  • Like 1
Link to comment
Share on other sites

What makes you think that this is the case?

Those movies, that run around the 40mbit bitrate, play nicely as direct stream. The more recent ones though seem to exceed some limit and therefore get transcoded. I can still watch them, but they are not as good as they should be. This buggs me, so I came here to seek advice.

 

Please start a new topic for this focusing on a specific case and including log files.

 

After a quick search, I can‘t find any 8x models. They all have a 16x connector, which means I can not install any of them. Unless you know a certain model, that is built with an 8x connector, I am afraid this is not a viable solution.

 

When your CPU supports QuickSync, you won't need that.

Link to comment
Share on other sites

After a quick search, I can‘t find any 8x models. They all have a 16x connector, which means I can not install any of them. Unless you know a certain model, that is built with an 8x connector, I am afraid this is not a viable solution.

For the record, if you want to go the video card route rather than a new cpu, an 8x pcie slot and a 16x slot are usually physically the same length. A 16x graphics card will go into an 8x slot without issue. For your usage, there will be no performance impact from using a pcie 3.0 8x slot with any but perhaps the highest end of video cards. Go grab a GTX1050 or a 1660ti or one of the quadro cards (if you want to stream more than 2 transcodes at a time (p2200, p4000)).

 

Just to be sure, what motherboard are you using?

Link to comment
Share on other sites

Shadowdream

Update:

 

I did some testing the other day, so I could figure out more about my network related issue. Well, actualy it was a short test. I changed my max bitrate limit back to 4k120mbit for the heck of it. (Earlier this had my movie buffer every few seconds, only at 40mbit was smooth). And it worked.

My TV was able to grab the direct stream instead of a transcode, no stuttering, no buffering. I am positively shocked.

 

So, I don't know what the issue was, but for now it's just what I wanted. No upgrade requited! I'll take it.

 

Thank you all for trying to helping me. Funny how sometimes things just turn out to be ok, right?

Link to comment
Share on other sites

  • 9 months later...

For anyone having the same questions as topic starter. Get a CPU with Intel HD620 OR 630 at least on 7 OR 8 gen Intel. Make sure that you take into account that audio transcoding needs high passmark cpu aswell. Anything under 12k at time of writing will not work for multiple transcodes OR high channel count (5.1 channel OR higher).

 

I currently have i3 2.5ghz 7th gen laptop with hd620 and it works, but not all audio transcodes work(due to cpu limit)

Edited by adoteq
Forget(due to cpu limit)
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...