Diagnosing Transcoding Issues

Server Version#: 1.25.2.5319
Player Version#: 8.27.1.29871

I’m having an issue with transcoding using hardware, software works, but is definitely slower.
Synology 920+ with an Intel Gemini Lake Refresh

The source file is as follows

  • Codec HEVC

  • Bitrate 2198 kbps

  • Bit Depth 10

  • Chroma Location left

  • Chroma Subsampling 4:2:0

  • Coded Height 1080

  • Coded Width 1920

  • Color Range tv

  • Frame Rate 23.976 fps

  • Height 1080

  • Level 6.2

  • Profile main 10

  • Ref Frames 1

  • Width 1920

  • Display Title 1080p (HEVC Main 10)

  • Extended Display Title 1080p (HEVC Main 10)

  • Codec AAC

  • Channels 6

  • Bitrate 296 kbps

  • Language English

  • Language Tag en

  • Audio Channel Layout 5.1

  • Profile lc

  • Sampling Rate 48000 Hz

  • Display Title English (AAC 5.1)

  • Extended Display Title English (AAC 5.1)

  • Codec AAC

  • Channels 2

  • Bitrate 136 kbps

  • Language Japanese

  • Language Tag ja

  • Audio Channel Layout stereo

  • Profile lc

  • Sampling Rate 48000 Hz

  • Display Title Japanese (AAC Stereo)

  • Extended Display Title Japanese (AAC Stereo)

  • Forced true

  • Codec ASS

  • Bitrate 4 kbps

  • Language English

  • Language Tag en

  • Display Title English Forced (ASS)

  • Extended Display Title English Forced (ASS)

  • Codec ASS

  • Bitrate 4 kbps

  • Language English

  • Language Tag en

  • Display Title English (ASS)

  • Extended Display Title English (ASS)

Any thoughts on diagnosing? Using the lasted version of DSM 7, and it’s a brand new install.

I need the DEBUG (not VERBOSE) logs ZIP file please which captures the failure.

Media tells us nothing.

Sorry

What is the issue?

You’ve provided no details. Playback fails? Plex server reboots?

What make/model client are you using? Looks like Android or Android TV, but there are many such devices on the market.

Log files always help.

Report Issues with Plex Media Server

You’ve got a really bad source file. Either re-acquire it or re-encode it using Handbrake, FFMPEG, etc.

It should be Level 4.0 max. Level 6.2 is meant for 8K@120fps. 4K HDR rips are Level 5.1.

Level 6.2 probably exceeds the max level for your client. Encode it to a more reasonable level and it might direct play.

Enabling subtitles can cause a video transcode. This cause problems on low power CPUs such as the Celeron in the DS920+. On Linux systems, burning subtitles into the video stream is handled by the CPU, even when using hardware accelerated transcoding. The process is also single threaded and unable to take advantage of multiple cores. The Celeron will struggle to perform this task.

Monitor playback via Plex Dashboard. If enabling subtitles results in a video transcode, then the server will struggle to keep up.


Ahh sorry, attached!
Plex Media Server.zip (320.2 KB)

Note timestamp 12:40 is when I did the most recent test.

Sorry I should have clarified,

It takes about 20-30 seconds to start playback when attempting HW transcoding. It will then play for about 3 seconds, then wait another 20-30 seconds.

Software transcoding works without issue. I was under the impression that HW transcoding should have a seamless failover to SW transcoding.

The client is an Android TV device running android TV version 9. The same issue happens on other clients as well (Web, etc)

Also RE source file level, understandable, hence why it’s transcoding. If I had to reencode every file with handbrake, I would not need to transcode and it defeats the purpose of transcoding, so I’d rather not use handbrake on all my files.

Wikipedia claims that Quick Sync only supports up to L5.1. That could explain hardware transcoding failures. I’m interested in what @ChuckPa says about the debug logs.

Share a sample file? I’m curious if it’s just badly labeled. Sometimes people set the Level MUCH higher than actually required. It’s also weird that it’s encoded with just 1 ref frame at that resolution/bitrate/framerate/Level.

Please turn off verbose logging (Settings → Server_Name → General). It is not needed and can cause the log files to wrap too quickly.

At least part of the problem is subtitle burning:
Dec 19, 2021 10:25:47.548 [0x7f03c1b1cb38] DEBUG - [Transcode] MDE: E1 - Assassination Time: selected subtitle cannot be converted to a compatible format, burning into video stream

Edit: Matching 12:40 playback.
Dec 19, 2021 12:40:10.376 [0x7f03c0998b38] DEBUG - [Transcode] MDE: E1 - Assassination Time: avoiding video remux due to burned subtitle stream

This post provides details on the process. Ignore the part about the video driver. It is not relevant here.

Unfortunately, ASS subtitles are a problem for many Plex clients, including Android/Android TV. Enabling them results in a video transcode. You can try changing Burn Subtitles from Automatic to Image Formats Only in the Plex client app, but you will probably lose formatting information in the process (positioning, colors, etc).

1 Like

J4125 will do L5.1 HW transcode down to H.264

Input bitrate of 2 Mbps @ L6.2 (I REALLY want to see the mediainfo for this file)
does not make the slightest bit of sense.

I don’t know who encoded that file – but they don’t know “Jack” about what they’re doing. It’s not worth the disk space it takes up

1 Like

Anime? I’m betting anime. I swear the thought process when encoding anime is “make it harder to play”.

1 Like

If you look at the standards:

You will see that Level 6.2 is telling the hardware to prepare for a maximum rate of 800 Mbps.

The hardware WILL REFUSE because it’s not capable.

Level 5.2 is more than enough for H.264 or HEVC.
Intel QSV will accept these bit rates.

Whether there is really that much data and enough CPU data bus bandwidth is another matter on these smaller processors.

Do you know of official documentation for what Levels the different Intel CPU generations can support?

… other than the Wikipedia table on Quick Sync,

I assume Wikipedia is correct, I’d just like the Intel docs if they exist.

Intel

Please consider the UHD 630 (common to many users)

Max Resolution (HDMI)‡
4096 x 2160@30Hz

Max Resolution (DP)‡
4096 x 2304@60Hz

Max Resolution (eDP - Integrated Flat Panel)‡
4096 x 2304@60Hz

It’s not possible to run 800 Mbps in that resolution :smiley:

4096 x 2304 x 60 = 566 Mbps

I don’t think Quick Sync is limited to the display resolution or HDMI/DP capabilities. Or at least I don’t think it tells us what Levels the chip can decode/encode of various codecs. Hrm. I assume H.264 is 4.x and H.265 is 5.x. Maybe the thing to do is to probe some hardware. :slight_smile:

HDMI is uncompressed and insanely fast - each pixel needs many bits to represent color.

4096 x 2160 x 24 Hz x 24 bits = lots of Gb/s.

@volts

  1. We’re not talking about SERIAL HDMI yet.

  2. This is all about HW codec DECODE & ENCODE image processing.

  3. After the final-encoded image departs the QSV ASIC, the GPU itself does the serialization to generate the HDMI signalling to put the pixels on the glass and YES, that’s insanely fast due to how the signalling works.

  4. What I’m referring to is analogous to when someone has 4x 1 GbE ethernet cables and think they have 4GbE ethernet – but wonder why they are only getting 1 GbE speeds.

This is a “width of the pipe & speed of the pipe” problem

Specifying L6.2 for the pipe input requirements … the “pipe” says “Go away”

It’s probably all irrelevant while there are ASS subs involved.

I agree that file doesn’t make sense. L6.2! I’m hoping we get to see a sample. It’s like a speedometer that goes to 120 on an old car that can only do 70. :slight_smile:

You can also dig into the CPU datasheets: Intel Core processor datasheets

The web page can be a bit difficult to navigate. You want the CPU datasheet, Volume 1, Processor Graphics section. It shows which codecs are supported for decoding & encoding and any limits.

Below is a sample from the 10 Gen CPU document: PDF. The full document lists additional information such as API versions, block diagrams, etc.

Screenshot (1006)

Screenshot (1007)

1 Like

Hello Everyone!

Plex Media Server (1).zip (384.3 KB)
Updated debug only log.

So let’s say it’s over a level that QSV can take, is there a way to fail back to SW, since that does work without issue?

Is there a recommended way to share this file, or should I share a media info output?
And, correct it’s an anime.

Thanks - I pride myself on being good at search, and I failed to find that. :slight_smile:

@astroroxy

I’m looking at your log,.

DEBUG - [Now] Device is Android (Projector).

Does this projector support ASS subtitles natively ?

If you want to force Software –

Settings - Server - Transcoder

  • Turn off all the HW acceleration

I think you’re far better served, for this 5 Mbps video input, to properly re-encode it so it runs within accepted standards for its class (H264/H265 - Level 4.0 which supports up to 20 Mbps)

Sharing the file would be as simple as posting a link for Direct Download. (http)

Worried about not posting full videos so I guess I’ll only make it valid for 24hr.