Problem with new Qnap / Synology NAS?

I’m wondering if I’m experiencing a different problem, but might be related.

I have a ts-453D using the J4125 CPU. Running most recent PMS. Testing a 4k h.265 hdr file.
Enabled the hw transcoding and encoding options. Until I added the i965 driver change into the preferences, I had major artifacts and a barely moving frame rate, but audio fine. After switching to the i965 driver, it helped, but still not really working. Using hw transcoding, and encoding, I get improvements, you can actually see video playing but major artifacts still present. If I turn off hw encoding, I get much cleaner video, but constant buffering, so I think the cpu just can’t handle it in sw. I am transcoding to 720p on the client. Is this the sub-optimal i965 drivers that we are expecting the ihd update to eventually fix?

@mpkrcl

are you using subtitles? Subtitles (PGS, VOBSUB, and DVDRIP – image based) must always be done by the CPU . The CPU will never have enough power to handle them regardless of video resolution or hardware transcoding (of the video) assist.

Subtitles must be burned in by the CPU because Intel never gave us a way to use the chip that way.

Subtitles are in the file, but not being used for playback

May I see the DEBUG logs, captured in the following sequence?

  1. Start Playback
  2. Let Play for 20-30 seconds
  3. Stop playback
  4. Wait 20-30 seconds for buffers to flush to disk
  5. Download Server logs ZIP file
  6. Attach the ZIP file here.

Your logs show

  1. hardware Decoding to the player to play but higher bandwidth than allowed by the player’s settings , No hardware encode (do you have the VaapiDriver option set?)
Oct 04, 2020 23:07:58.078 [0x7fd2b3735700] DEBUG - Selecting best audio stream for part ID 1 (autoselect: 0 language: en)
Oct 04, 2020 23:07:58.078 [0x7fd2b3735700] DEBUG - Audio Stream: 2, Subtitle Stream: -1
Oct 04, 2020 23:07:58.147 [0x7fd2b3735700] DEBUG - MDE: Selected protocol hls; container: mpegts
Oct 04, 2020 23:07:58.147 [0x7fd2b3735700] DEBUG - MDE: analyzing media item 1
Oct 04, 2020 23:07:58.147 [0x7fd2b3735700] DEBUG - MDE: Star Wars: The Rise of Skywalker (2019): Direct Play is disabled
Oct 04, 2020 23:07:58.147 [0x7fd2b3735700] DEBUG - MDE: Star Wars: The Rise of Skywalker (2019): media must be transcoded in order to use the hls protocol
Oct 04, 2020 23:07:58.147 [0x7fd2b3735700] DEBUG - MDE: Star Wars: The Rise of Skywalker (2019): no direct play video profile exists for http/mkv/hevc
Oct 04, 2020 23:07:58.147 [0x7fd2b3735700] DEBUG - MDE: Star Wars: The Rise of Skywalker (2019): no direct play video profile exists for http/mkv/hevc/truehd
Oct 04, 2020 23:07:58.147 [0x7fd2b3735700] DEBUG - MDE: Cannot direct stream audio stream due to codec truehd when profile only allows aac
Oct 04, 2020 23:07:58.147 [0x7fd2b3735700] DEBUG - MDE: Star Wars: The Rise of Skywalker (2019): selected media 0 / 1
Oct 04, 2020 23:07:58.147 [0x7fd2b3735700] DEBUG - Streaming Resource: Calculated bandwidth of 75924kbps exceeds bandwidth limit. Changing decision parameters provided by client to fit bandwidth limit of 2000kbps
Oct 04, 2020 23:07:58.147 [0x7fd2b3735700] DEBUG - Streaming Resource: Determining preferred transcode encoders through transcode only decision.
Oct 04, 2020 23:07:58.147 [0x7fd2b3735700] DEBUG - Codecs: testing h264_vaapi (encoder)
  1. Audio conversion to AAC

  2. Player terminated the stream

Oct 04, 2020 23:10:40.748 [0x7fd2b140d700] DEBUG - Client [0737f301e797f930-com-plexapp-android] reporting timeline state stopped, progress of 20226/8514000ms for guid=com.plexapp.agents.imdb://tt2527338?lang=en, playbackTime=31315ms ratingKey=1 url=, key=/library/metadata/1, containerKey=/playQueues/18, metadataId=1, source=
Oct 04, 2020 23:10:40.756 [0x7fd2b140d700] DEBUG - It took 0.000000 ms to retrieve 207 items.
Oct 04, 2020 23:10:40.757 [0x7fd2b140d700] DEBUG - [Now] User is mpkrcl (ID: 1)
Oct 04, 2020 23:10:40.758 [0x7fd2b140d700] DEBUG - [Now] Device is Android (Pixel 3).
Oct 04, 2020 23:10:40.758 [0x7fd2b140d700] DEBUG - [Now] Profile is Android
Oct 04, 2020 23:10:40.758 [0x7fd2b140d700] DEBUG - [Now] Updated play state for /library/metadata/1.
Oct 04, 2020 23:10:40.758 [0x7fd2b140d700] DEBUG - Statistics: (0737f301e797f930-com-plexapp-android) Reporting active playback in state 3 of type 1 (scrobble: 0) for account 1
Oct 04, 2020 23:10:40.762 [0x7fd2b140d700] DEBUG - Streaming Resource: Terminating session 0x7fd2b811c850:0737f301e797f930-com-plexapp-android which is using 1981kbps of WAN bandwidth.  Used is now 0kbps
Oct 04, 2020 23:10:40.762 [0x7fd2b140d700] DEBUG - Streaming Resource: Terminating session 0x7fd2b811c850:0737f301e797f930-com-plexapp-android which is using transcoder slot.  Used slots is now 0
Oct 04, 2020 23:10:40.762 [0x7fd2b140d700] DEBUG - Streaming Resource: Terminated session 0x7fd2b811c850:0737f301e797f930-com-plexapp-android with reason Client stopped playback.
Oct 04, 2020 23:10:40.762 [0x7fd2b140d700] DEBUG - Streaming Resource: Removing session 0x7fd2b811c850:0737f301e797f930-com-plexapp-android
Oct 04, 2020 23:10:40.762 [0x7fd2b1fc5700] DEBUG - Killing job.
Oct 04, 2020 23:10:40.762 [0x7fd2b1fc5700] DEBUG - Signalling job ID 9678 with 9
Oct 04, 2020 23:10:40.762 [0x7fd2b1fc5700] DEBUG - Job was already killed, not killing again.
Oct 04, 2020 23:10:40.762 [0x7fd2b1fc5700] DEBUG - Stopping transcode session 0737f301e797f930-com-plexapp-android
Oct 04, 2020 23:10:40.763 [0x7fd2b1fc5700] DEBUG - Transcoder: Cleaning old transcode directories.
Oct 04, 2020 23:10:40.763 [0x7fd2b1fc5700] DEBUG - Transcoder: Cleaning old transcode directory: "/share/CACHEDEV1_DATA/.qpkg/PlexMediaServer/Library/Plex Media Server/Cache/Transcode/Sessions/plex-transcode-0737f301e797f930-com-plexapp-android-9a9d2387-7c89-4199-8b01-a6f1409b9de6"
Oct 04, 2020 23:10:40.764 [0x7fd2b1fc5700] DEBUG - Whacked session 0737f301e797f930-com-plexapp-android, 0 remaining.```

I do have the VaapiDriver=“i965” in the preferences file. I have toggled the hw encoding on and off with results as explained above. The HW transcoding option is checked.

Look at your playback settings:

provided by client to fit bandwidth limit of 2000kbps

If this is a quality issue – you are chopping a 75 Mbps video to 2 Mbps of bandwidth usage.
Is this intended ?

My upload bandwidth is pretty limited. This is not my primary use case, but trying to see if I can make it work remotely or not. I primarily use it inside my home network direct playing. I obviously cannot stream 4k to remote clients without transcoding.

Inside my network I have tried various quality settings and get very similar results. I tried lower quality in a theory that it might have been too much to handle encoding-wise?

What is the exact make and model of the player?
What do you have it set for?
In Settings - Server - Network - Show advanced, do you have any limits set?
I am wondering if you’ve accidentally imposed WAN limits on your LAN.

Lastly, Is the network wired or wifi ?

The NAS is wired directly to my router. The client I was using for that test was my android phone (pixel3) connected via cellular. (Testing from outside network). Inside my network, even on wifi, it will just direct play without any transcoding.

No limits in the settings that I can tell

Quoting your statement of the problem for clarity.

The i965 and its supporting driver are long standing stable video capability for up to 100 Mbps for the UHD 600 ASIC

The 630 introduced the Intel Media Driver (iHD) requirement where Intel broke away from tradition due to limitations in the i965 interface circuitry.

All J4xxx CPUs are provisionally supported up to limits of what the i965 can do in this new configuration with the existing i965 driver. Intel won’t be updating it any further. Their efforts now have moved on to the iHD.

I can tell you that Engineering is working on more updates to the iHD driver. I don’t know when we’ll see them but do hope soon.

I would like you to conduct a test on your LAN.

You said everything will direct play.

I’d like you to artificially start impositing limits on your video playback bitrate and see what happens to quality.

From my personal experience, there are some videos which will always look like crap at 2 Mbps (I have the same upload limit as you do so I know all too well the pain).

What I’d like you to do is see where this specific video starts developing the artifacts you speak of.

Then, if possible, screenshot that or take a pic so I may see it.

One person’s “artifacts” is another person’s “macroblocking” (which is what happens when bitrates are too low to convey the needed video info.

I will do some experiments. I did google macro blocking and I do think that describes what I am seeing, but I’ll play with it and see what happens.

I ran a few tests. You were right. At 8Mbps and below, I get pretty severe issues (macro blocking, frames getting skipped, etc). At 10 Mbps and above, everything seems to play smoothly, all using hw encoding. For sw encoding, the quality issues go away, but then more buffering. I think the J4125 is just not fast enough to do it in sw.

You are absolutely correct that the J4125 (a NAS CPU) isn’t fast enough to do it in software. That’s why they gave it the Gemini Lake QSV ASIC.

Software transcoding does a better job because it has a smoothing pass.
Hardware is dedicated circuits to do basic transforms. Software can interpret the intent better and hence that better quality – at a cost.

Any news? I’ve been keeping track but haven’t seen the update. Or did I miss it?

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.