This discussion was created from comments split from: New Synology Compatibility: DS418, DS418play, DS918+.
I have recently purchased a Synology DS418Play, with the main intention of migrating my Plex and iTunes-databases. I’ll have to it admit that I thought there’d be a lot less effort involved, but I’ve succeeded nonetheless.
Anyway, I have some serious playback issues with Plex running on the NAS. Everything was working absolutely fine on my previous setup (MacPro 2010, Quadcore running Plex Server with Playstation 4 as client). However, streaming from the NAS to the Playstation 4 Plex client is awful. Lag, major buffer issues etc.
After some investigation I noticed that it’s transcoding the stream to the Playstation 4, which apparently requires 99% CPU of the NAS. I’m talking about a 1080p mkv-file here. (I’ve got to admit, this really bums me out as it’s advertised as running 4k streams without issues.)
What’s odd (for me at least) though: playback is super smooth watching the file in the browser, streaming from the NAS. Even weirder: it’s super smooth when using the build-in Playstation video client. It apparently doesn’t need transcoding that way. Even with subtitles it’s just fine (I’ve read several times that subtitles require transcoding, but this doesn’t seem to be the case with the build-in client)
Sooo… I started googling and I stumbled upon this thread: https://forums.plex.tv/discussion/200637/why-does-the-ps4-native-media-player-direct-stream-mkv-files-but-the-ps4-plex-app-transcode-them The topic starter has the same problems as I’m experiencing. His solution doesn’t work for me unfortunately.
I’ve checked all my settings, on both client and server, more than once. Everything is setup properly.
Does anyone have any idea how to fix this?
I’ve broken you out of the other thread. It’s getting long and it’s best to not lump an issue on a running dialog
Can you please do the following:
- Settings - Server - General - Make sure only “DEBUG” logging is enabled. “Verbose” == not checked.
- Recreate the problem.
- As soon as it happens, let it play for 10 seconds more
- Stop Playback
- Go to Settings - Server - Help - Download Logs
- Attach the ZIP file it gives you here with your next post. I will find out what it’s complaining at.
For handling transcoding on this NAS, you pretty much need hardware acceleration. However, this feature is accessible only to plex pass user. Depending what video codec, I think the celeron processor will have difficulties handling most of the video transcoding in software.
Hi Cuck. Apologies for posting my question in the other topic and thanks for creating this one. Although my issues are with a Playstation 4 client, not an XBox. Could you edit that?
I noticed I had a 32-bit version installed, after reading this topic: https://forums.plex.tv/discussion/300865/ds418play-and-hardware-decoding-support#latest So I’ve downloaded the latest (public) 64-bit, non-plex pass version. It’s (very) slightly better, but like @rouq says it doesn’t support hardware acceleration. Do you think the 1.11 64 bit build would solve my problems? When do you think this will be released to public?
I’ve attached the log files. Apparently, I’ve been running the log for a couple of days so it might be a bit cluttered. Let me know if I should clean this up!
Looking at your logs indicates what’s happening.
Without knowing the specifics of the media itself, I can see:
- Whatever is being played back is burning in subtitles.
- When burning in subtitles, the CPU is unable to keep up with realtime playback speed resulting in short delays (stutter) while it catches up
Here you will see speed=0.9
. This means the server is burning subtitles somewhere between 90% and 100% of realtime need. A value of 1.0 means realtime. If you have a speed value of 1.3, you’re usually fine.
progress?progress=19.1&size=-22&remaining=2&vdec_packets=38&vdec_sw_ok=35&speed=1018.6&vdec_hw_status=0 (13 live) 1ms 326 bytes
Dec 25, 2017 09:37:58.884 [0x7f70e7741700] DEBUG - Request: [127.0.0.1:52026 (Loopback)] PUT /video/:/transcode/session/2w37olq8smnsxaaejk7eko39/018ba170-5f6d-4ea7-9afa-a5ddf386dfb4/progress?progress=19.2&size=-22&remaining=1260&vdec_packets=53&vdec_sw_ok=50&speed=0.9&vdec_hw_status=0 (13 live) Signed-in Token (Grolnn)
Dec 25, 2017 09:37:58.885 [0x7f70e9911700] DEBUG - Completed: [127.0.0.1:52026] 206 PUT /video/:/transcode/session/2w37olq8smnsxaaejk7eko39/018ba170-5f6d-4ea7-9afa-a5ddf386dfb4/progress?progress=19.2&size=-22&remaining=1260&vdec_packets=53&vdec_sw_ok=50&speed=0.9&vdec_hw_status=0 (13 live) 0ms 326 bytes
Dec 25, 2017 09:37:59.439 [0x7f70e800b700] DEBUG - Request: [127.0.0.1:52028 (Loopback)] POST /video/:/transcode/session/2w37olq8smnsxaaejk7eko39/018ba170-5f6d-4ea7-9afa-a5ddf386dfb4/seglist (13 live) Signed-in
Looking a little further down, we see exactly that. 1.0 and 1.3. Those moments of 0.9
are the cause of the stutter.
Dec 25, 2017 09:37:59.468 [0x7f70e3f7d700] DEBUG - Request: [127.0.0.1:52030 (Loopback)] PUT /video/:/transcode/session/2w37olq8smnsxaaejk7eko39/018ba170-5f6d-4ea7-9afa-a5ddf386dfb4/progress?progress=19.2&size=-22&remaining=2063&vdec_packets=70&vdec_sw_ok=67&speed=1.3&vdec_hw_status=0 (13 live) Signed-in Token (Grolnn)
Dec 25, 2017 09:37:59.469 [0x7f70e9623700] DEBUG - Completed: [127.0.0.1:52030] 206 PUT /video/:/transcode/session/2w37olq8smnsxaaejk7eko39/018ba170-5f6d-4ea7-9afa-a5ddf386dfb4/progress?progress=19.2&size=-22&remaining=2063&vdec_packets=70&vdec_sw_ok=67&speed=1.3&vdec_hw_status=0 (13 live) 3ms 326 bytes
Dec 25, 2017 09:37:59.477 [0x7f70e9623700] DEBUG - Completed: [192.168.178.36:56240] 200 GET /video/:/transcode/universal/session/2w37olq8smnsxaaejk7eko39/base/00513.ts (13 live) TLS 1836ms 789600 bytes (pipelined: 1)
Dec 25, 2017 09:37:59.528 [0x7f70e36b3700] DEBUG - Request: [192.168.178.36:55824 (Subnet)] GET /video/:/transcode/universal/session/2w37olq8smnsxaaejk7eko39/base/00514.ts (13 live) TLS Signed-in
Dec 25, 2017 09:37:59.528 [0x7f70e36b3700] DEBUG - Asked for segment 514 from session.
Dec 25, 2017 09:37:59.673 [0x7f70e9623700] DEBUG - Auth: authenticated user 1 as Grolnn
Dec 25, 2017 09:37:59.674 [0x7f70e82f9700] DEBUG - Request: [192.168.178.36:49731 (Subnet)] GET /:/timeline?hasMDE=1&ratingKey=6018&key=%2Flibrary%2Fmetadata%2F6018&state=playing&playQueueItemID=755&time=512625&duration=2684576 (12 live) TLS GZIP Signed-in Token (Grolnn)
Dec 25, 2017 09:37:59.675 [0x7f70e82f9700] DEBUG - Client [12l3g623m04fvswajg3sribl] reporting timeline state playing, progress of 512625/2684576ms for guid=, ratingKey=6018 url=, key=/library/metadata/6018, containerKey=, metadataId=6018
Dec 25, 2017 09:37:59.782 [0x7f70e82f9700] DEBUG - Play progress on 6018 'Lies' - got played 512625 ms by account 1!
Dec 25, 2017 09:37:59.920 [0x7f70e82f9700] DEBUG - [Now] User is Grolnn (ID: 1)
Dec 25, 2017 09:37:59.921 [0x7f70e82f9700] DEBUG - [Now] Device is WebMAF ().
Dec 25, 2017 09:37:59.921 [0x7f70e82f9700] DEBUG - [Now] Profile is PlayStation 4 App
Dec 25, 2017 09:37:59.921 [0x7f70e82f9700] DEBUG - [Now] Updated play state for /library/metadata/6018.
Dec 25, 2017 09:37:59.923 [0x7f70e82f9700] DEBUG - Statistics: (x120hrqg7voma5a6b9clbpua) Reporting active playback in state 0 of type 4 (scrobble: 0) for account 1
Dec 25, 2017 09:37:59.931 [0x7f70e9911700] DEBUG - Completed: [192.168.178.36:49731] 200 GET /:/timeline?hasMDE=1&ratingKey=6018&key=%2Flibrary%2Fmetadata%2F6018&state=playing&playQueueItemID=755&time=512625&duration=2684576 (12 live) TLS GZIP 257ms 817 bytes (pipelined: 4)
Dec 25, 2017 09:37:59.991 [0x7f70e7741700] DEBUG - Request: [127.0.0.1:52032 (Loopback)] PUT /video/:/transcode/session/2w37olq8smnsxaaejk7eko39/018ba170-5f6d-4ea7-9afa-a5ddf386dfb4/progress?progress=19.2&size=-22&remaining=1907&vdec_packets=86&vdec_sw_ok=83&speed=1.0&vdec_hw_status=0 (12 live) Signed-in Token (Grolnn)
Dec 25, 2017 09:37:59.992 [0x7f70e9623700] DEBUG - Completed: [127.0.0.1:52032] 206 PUT /video/:/transcode/session/2w37olq8smnsxaaejk7eko39/018ba170-5f6d-4ea7-9afa-a5ddf386dfb4/progress?progress=19.2&size=-22&remaining=1907&vdec_packets=86&vdec_sw_ok=83&speed=1.0&vdec_hw_status=0 (12 live) 1ms 326 bytes
Dec 25, 2017 09:38:00.240 [0x7f70e800b700] DEBUG - Request: [127.0.0.1:52034 (Loopback)] POST /video/:/transcode/session/2w37olq8smnsxaaejk7eko39/018ba170-5f6d-4ea7-9afa-a5ddf386dfb4/seglist (12 live) Signed-in
Dec 25, 2017 09:38:00.240 [0x7f70e800b700] DEBUG - DASH segment range: 513 - 514
Dec 25, 2017 09:38:00.240 [0x7f70e9623700] DEBUG - Completed: [127.0.0.1:52034] 200 POST /video/:/transcode/session/2w37olq8smnsxaaejk7eko39/018ba170-5f6d-4ea7-9afa-a5ddf386dfb4/seglist (12 live) 1ms 166 bytes
What you need help with is Hardware Transcoding. The J3355 is a little Celeron CPU . When you enable HW transcoding it becomes a powerhouse "ApolloLake" machine capable of HEVC.
This is all that’s holding you back.
There is nothing to be gained by the upcoming versions of PMS. The step to 64 bit was your biggest gain until you enable hw transcoding.
Hi Chuck. Thanks again. The odd thing is: I watch most of the files without subtitles, and it’s still stuttering. Or could the subtitles be running in the background, without displaying them?
Regarding the hardware transcoding, do you think it’d be solved if I would purchase a Plex Pass and download the 1.11 build like in this thread? https://forums.plex.tv/discussion/300865/ds418play-and-hardware-decoding-support#latest
if you purchase a Plex Pass for 1 month (minimum interval), you can test with what you have. You don’t need to download anything new.
To activate it:
- After the confirmation email
- Sign your server out (settings - server - general)
- Sign the server back in
- The obvious immediate changes are a) LiveTV and DVR and b) “enable hardware transcoding’” in Settings - Server - Transcoder.
- Enable hardware transcoding and start using it. (It’s that easy)
Oh wow. Hardware transcoding really makes a difference. CPU is now at 50ish% and playback of most files seems to be good.
My test episode of this German series I’m watching (with subtitles) does still stutter though, while the CPU remains at 50% or lower. This is the exact same file I watched yesterday with Direct Stream without any issues.
I’ll test it for a couple of days and then report back.
Happy holidays!
That’s new information: “Watched with Direct Stream without any issues”.
The question there is: What player setting changed?
Hi Chuck I cant seem to get enable hardware transcoding to pop up in the transcoder options. I got a subscription signed out of the server and signed back in but the option still isnt there. I have a DS418 play as well like Grolnn
I have version 1.10.1.4602 not sure if its 64 or 32 bit
im guessing thats the 32 bit version and I think I see the 64 bit now
I got the 64 bit version installed and now it has the transcoding option. It now plays on the PS4 with no issues. Thanks.
@chckpa I appear to be having the same issue… I’m getting so much lag on play back. if i get rid up captions and only leave forced caption will this make a difference?
@Gcooper said:
@chckpa I appear to be having the same issue… I’m getting so much lag on play back. if i get rid up captions and only leave forced caption will this make a difference?
Subtitles themselves are not the root problem. The type of subtitles and the player are the issue.
PGS & VOBSUB (Image-based subtitles) require hardware transcoding to merge the two images into one. That takes a lot of CPU to do.
Text -based (SRT, ASS, or SSA) can be played by almost all the players natively.
You need to examine you files, see what’s inside them, removing what you don’t want (e.g Keep the SRT and remove VOBSUB/PGS)
@chuckpa so for example if I were to use makemkv I would want to unselect all subtitles? Do the forced subtitles also create an issue?