Server Version#: 1.15.1.710
Player Version#: 3.89.2
I’m trying to understand why some of my HEVC seems to be able to transcode with hw, and some isn’t. Particularly odd, the one that I would think would be less likely (10-bit) is the one that works. Subtitles are present in both videos, but different types, but they are disabled in both cases during playback. The only guess I have now, though it seems odd, is perhaps the AAC audio track in the one, but I can’t think of a reason why that should affect the video stream transcode. I also can’t seem to find the correct log that has the streaming brain decisions, though, maybe I don’t have the log level turned up enough?
info for software transcoding file:
Codec HEVC
Bitrate 2662 kbps
Bit Depth 8
Chroma Subsampling 4:2:0
Color Range tv
Frame Rate 23.976 fps
Height 800
Level 4.0
Profile main
Ref Frames 1
Width 1920
Display Title 1080p (HEVC Main)
Codec AAC
Channels 6
Bitrate 445 kbps
Language English
Audio Channel Layout 5.1
Profile lc
Sampling Rate 48000 Hz
Display Title English (AAC 5.1)
Codec VOBSUB
Bitrate 6 kbps
Language English
Display Title English (VOBSUB)
info for the hardware transcoding file
Codec HEVC
Bitrate 1231 kbps
Bit Depth 10
Chroma Subsampling 4:2:0
Color Primaries bt709
Color Range tv
Color Space bt709
Color Trc bt709
Frame Rate 23.976 fps
Height 1080
Level 4.0
Profile main 10
Ref Frames 1
Width 1920
Display Title 1080p (HEVC Main 10)
Codec AC3
Channels 6
Bitrate 640 kbps
Language English
Audio Channel Layout 5.1(side)
Sampling Rate 48000 Hz
Title Surround
Display Title English (AC3 5.1)
Codec PGS
Language English
Display Title English (PGS)
Have you tried multiple times? with 707 I found with HD HEVC file and with HD HEVC 10 bit, I would get HW assist about 40-60% of the time.
I have not retested with 710 yet.
Tried multiple times with the same file, looking for a different outcome? I haven’t, it wouldn’t have occurred to me that the outcome should ever be different. It would be super odd if hw use is non-deterministic for a given file. I’d be very interested to know what the factors are which influence it, that happens.
I’ve written a few previous posts here. With Intel graphics on Windows, PMS is inconsistent for when it “kicks in” for an AVC or HEVC file. It is never enabled for an MPEG2 720p60 file, and will sometimes work on MPEG2 1080i and 480i.
Worth noting that with an nvidia card, it’s extremely consistent on Windows for me. I don’t know if the problem is Plex, Windows, or Intel’s drivers.
I did groups of 10 test, usually a couple at the same time, all the jellyfish test files
3 mbps HD HEVC 8 HW , 2 SW
3 mbps HD HEVC 10 bit 6 HW , 4 SW
10 mbps HD HEVC 6 HW , 4 SW
10 mbps HD HEVC 10 bit 6 HW , 4 SW
60 mbps HD HEVC 7 HW , 3 SW
60 mbps HD HEVC 10 bit 8 HW , 2 SW
If you’re desperate for hardware encoding, you can consider running Linux. Intel acceleration on Ubuntu was 100% consistent in my testing. However, when I last tested, hardware deinterlacing on Linux was not functional, so all transcodes were interlaced. Not sure if that status has changed. Also, honestly I’d rather run Windows because I can troubleshoot it much faster.
I’m going to ping @elan on this thread, purely because I previously mentioned this problem/bug/etc to him while everyone was doing Roku venting, and it may have gotten lost in the complaint pile.
That’s interesting, about the inconsistency. It must be something in the detection routine, I don’t think ffmpeg is able to auto-detect on its own if a stream’s properties will cause a hw encode to fail. If it does, I should like to know, I have my own custom processing scripts I have sitting on top off ffmpeg that fail with streams of certain properties. I don’t know if I can detect said properties without trying the encode though…although, typing that, there must be a way. I’ll have to look into that as an improvement for my stuff.
Anyway, nvidia, I’d rather not do, I bought my current host specifically to do QS transcodes, and I think it’d be costly to add a decent nvidia card for this, and I gathered there’s a limit of 2 streams at a time with nvidia hardware?
I’ve actually been kicking around switching to Linux anyway, as Win10 has been irking me a lot lately anyway, so if it is more consistent there, that’s just one more reason for me to do it.
There is now a third-party-patched nvidia driver that allows you to do more than 2 simultaneous encodes, but I haven’t tested it yet. Just in case that’s a consideration for you.
PMS for Linux runs just fine in my testing, as long as you’re aware of the deinterlacing limitation I noted above. It was pretty rock-solid and the quality (with a recent-gen Intel CPU) was basically the same as Windows. I did run into a problem with PMS not starting, and it was a struggle to dig through all the possible reasons and troubleshooting to resolve it. I’m just far more experienced with Windows. Which is why it’s so frustrating that Quick Sync is so unreliable on Win10.
HW Transcoding is sort of fraught with peril (thanks, CPU/GPU companies!) and there are even instances where it fails for no good reason and we have to drop back to s/w.
That all being said, best bet is to look in the server logs and that might tell you more details about why a particular piece of media is failing to HW transcode.
I’m not using Linux PMS with hardware acceleration at the moment, so I can’t give a quick answer, sorry. I stopped using the server when deinterlacing was broken while using QSV. I don’t know if it’s still happening, or has been fixed. Chuck confirmed the problem at the time:
I find that interesting because I am not able to reproduce your issue. I have never not had PMS on Linux deinterlace interlaced content for a transcoded stream. I confirmed this last night after reading your post.
That would be wonderful if so. I still have my Ubuntu PMS machine available, it’s a Gemini Lake J4005 NUC so graphics acceleration should work just fine. I’ll try to bring it online today. Perhaps I missed a release note on a PMS update?
Thanks for verifying my assumptions! Any idea what kind of deinterlacing seems to be used? 30 or 60 fps?
In the middle of last year I could definitely confirm that deinterlacing was failing on both 1080i and 480i channels on a Roku, which could not yet direct-play MPEG2.
There is now a third-party-patched nvidia driver that allows you to do more than 2 simultaneous encodes, but I haven’t tested it yet. Just in case that’s a consideration for you.
I had heard that, I partly am not super keen on using a hacked driver, and partly I’d rather not buy a video card for my plex server just yet. Also, the super low profile machine I run it on, I’m not sure what I can get away with putting in it, so that’s kinda of a back pocket solution if I get really desperate to make things work well.
PMS for Linux runs just fine in my testing, as long as you’re aware of the deinterlacing limitation
I don’t think that should be an issue, I don’t think I have any interlaced content, or if I do, it’s a very small amount and I’m not worried about it.