Synology DS425+ hardware transcoding issue

Server Version#: 1.41.9.9961-72009961
Player Version#: Client version 2025.20.0 (966828434)

Hello, I’ve already exchanged a little with ChuckPa (thanks to him) about my problem, but I prefer to create a new thread so as not to pollute the other thread.
I have a Synology DS425+, with the latest version of Plex Media Server and a lifetime Plex Pass. However, hardware transcoding doesn’t work at all, even though it should in the cases I’ve tested. I’ve set the transcoding options correctly, however. I’ve had my Plex Pass for almost six years now, and I’ve used it on numerous Synology NAS devices (218+, 220+, 918+, 920+, 1520+, 423+), and I’ve never encountered this hardware transcoding issue before. This afternoon, while searching and comparing PMS logs between the DS425+, DS423+ and DS1520+, I noticed something surprising that could possibly be the cause of my problem. For your information, these 3 NAS are currently using the latest version of PMS (1.41.9.9961-72009961) and are all three running DSM 7.2.2-72806 update 3. Look at what I noticed in the three “Plex Tuner Service” logs :

DS423+ :

DS1520+ :

DS425+ :

Yes, these three NASes have the same architecture (Intel Celeron J4125 processor, DDR4 RAM), the exact same version of DSM… but it’s not based on the same version of Linux! Are there any DS425+ or DS225+ users who have Plex Pass and could test to see if hardware transcoding works for them?

I’ve recently recieved my 425+ and i can’t seem to get Hardware Transcoding working either.

in the plex console i get “failed setup for format vaapi: hwaccel initialisation returned error.”

Currently running DSM 7.2.2 72806 Update 3 & Plex 1.41.9.9961 (have also tried 1.42 beta).
I’ve also tried running plex in Docker (container manager), and get the same issue.

1 Like

I need to see the PMS server DEBUG logs ZIP file, captured 3 minutes after PMS starts and your first attempt around that time. ( so I can see what it found and what happened ).

There is no logic for a known-supported / working CPU to fail unless a specific OS-level block has been introduced in the firmware.

@ChuckPa Hopefully i’ve done the log right, i shutdown the server, cleared the logs, started up then approx 3mins later tried to play the LG Colours of Journey test.

Hello, I also just redid the test on my side, with the video “LG Colors of Journey HDR 4K Demo”. Here are also the logs.
Plex Media Server Logs_2025-07-30_12-03-49.zip (4.0 MB)

When I launch a movie, I have this on the console:

Like EZTutty, I also have the message “failed setup for format vaapi: hwaccel initialisation returned error”

This is very bizarre.

You each have different error codes returned.

  1. Error -38
Jul 30, 2025 12:08:18.853 [139702873758520] DEBUG - [Req#5d/Transcode] Codecs: testing h264_vaapi (encoder)
Jul 30, 2025 12:08:18.853 [139702873758520] DEBUG - [Req#5d/Transcode] Codecs: hardware transcoding: testing API vaapi for device '/dev/dri/renderD128' (Intel GeminiLake [UHD Graphics 600])
Jul 30, 2025 12:08:18.854 [139702873758520] DEBUG - [Req#5d/Transcode] [FFMPEG] - Format 0x32315659 -> yuv420p.
Jul 30, 2025 12:08:18.854 [139702873758520] DEBUG - [Req#5d/Transcode] [FFMPEG] - Format 0x30323449 -> yuv420p.
Jul 30, 2025 12:08:18.854 [139702873758520] DEBUG - [Req#5d/Transcode] [FFMPEG] - Format 0x3231564e -> nv12.
Jul 30, 2025 12:08:18.854 [139702873758520] DEBUG - [Req#5d/Transcode] [FFMPEG] - Format 0x32595559 -> yuyv422.
Jul 30, 2025 12:08:18.854 [139702873758520] DEBUG - [Req#5d/Transcode] [FFMPEG] - Format 0x59565955 -> uyvy422.
Jul 30, 2025 12:08:18.854 [139702873758520] DEBUG - [Req#5d/Transcode] [FFMPEG] - Format 0x48323234 -> yuv422p.
Jul 30, 2025 12:08:18.854 [139702873758520] DEBUG - [Req#5d/Transcode] [FFMPEG] - Format 0x58424752 -> rgb0.
Jul 30, 2025 12:08:18.854 [139702873758520] DEBUG - [Req#5d/Transcode] [FFMPEG] - Format 0x58524742 -> bgr0.
Jul 30, 2025 12:08:18.854 [139702873758520] DEBUG - [Req#5d/Transcode] [FFMPEG] - Format 0x30313050 -> p010le.
Jul 30, 2025 12:08:18.854 [139702873758520] DEBUG - [Req#5d/Transcode] [FFMPEG] - Created surface 0x4000000.
Jul 30, 2025 12:08:18.854 [139702873758520] DEBUG - [Req#5d/Transcode] [FFMPEG] - Direct mapping possible.
Jul 30, 2025 12:08:18.854 [139702873758520] ERROR - [Req#5d/Transcode] [FFMPEG] - No usable encoding profile found.
Jul 30, 2025 12:08:18.854 [139702873758520] WARN - [Req#5d/Transcode] Codecs: avcodec_open2 returned -38 for encoder 'h264_vaapi'
Jul 30, 2025 12:08:18.854 [139702873758520] DEBUG - [Req#5d/Transcode] Codecs: testing hevc_vaapi (encoder)
Jul 30, 2025 12:08:18.859 [139702873758520] DEBUG - [Req#5d/Transcode] Codecs: hardware transcoding: testing API vaapi for device '/dev/dri/renderD128' (Intel GeminiLake [UHD Graphics 600])
Jul 30, 2025 12:08:18.860 [139702873758520] DEBUG - [Req#5d/Transcode] [FFMPEG] - Format 0x32315659 -> yuv420p.
Jul 30, 2025 12:08:18.860 [139702873758520] DEBUG - [Req#5d/Transcode] [FFMPEG] - Format 0x30323449 -> yuv420p.
Jul 30, 2025 12:08:18.860 [139702873758520] DEBUG - [Req#5d/Transcode] [FFMPEG] - Format 0x3231564e -> nv12.
Jul 30, 2025 12:08:18.860 [139702873758520] DEBUG - [Req#5d/Transcode] [FFMPEG] - Format 0x32595559 -> yuyv422.
Jul 30, 2025 12:08:18.860 [139702873758520] DEBUG - [Req#5d/Transcode] [FFMPEG] - Format 0x59565955 -> uyvy422.
Jul 30, 2025 12:08:18.860 [139702873758520] DEBUG - [Req#5d/Transcode] [FFMPEG] - Format 0x48323234 -> yuv422p.
Jul 30, 2025 12:08:18.860 [139702873758520] DEBUG - [Req#5d/Transcode] [FFMPEG] - Format 0x58424752 -> rgb0.
Jul 30, 2025 12:08:18.860 [139702873758520] DEBUG - [Req#5d/Transcode] [FFMPEG] - Format 0x58524742 -> bgr0.
Jul 30, 2025 12:08:18.860 [139702873758520] DEBUG - [Req#5d/Transcode] [FFMPEG] - Format 0x30313050 -> p010le.
Jul 30, 2025 12:08:18.860 [139702873758520] DEBUG - [Req#5d/Transcode] [FFMPEG] - Created surface 0x4000000.
Jul 30, 2025 12:08:18.860 [139702873758520] DEBUG - [Req#5d/Transcode] [FFMPEG] - Direct mapping possible.
Jul 30, 2025 12:08:18.860 [139702873758520] ERROR - [Req#5d/Transcode] [FFMPEG] - No usable encoding profile found.
Jul 30, 2025 12:08:18.861 [139702873758520] WARN - [Req#5d/Transcode] Codecs: avcodec_open2 returned -38 for encoder 'hevc_vaapi'
Jul 30, 2025 12:08:18.861 [139702873758520] INFO - [Req#5d/Transcode] CodecManager: obtaining decoder 'hevc'
  1. Error code -95
Jul 30, 2025 12:00:01.753 [139864497478456] DEBUG - [Req#85/Transcode] Codecs: Testing with profile 'Main 10'
Jul 30, 2025 12:00:01.753 [139864497478456] DEBUG - [Req#85/Transcode] [FFMPEG] - nal_unit_type: 32(VPS), nuh_layer_id: 0, temporal_id: 0
Jul 30, 2025 12:00:01.753 [139864497478456] DEBUG - [Req#85/Transcode] [FFMPEG] - nal_unit_type: 33(SPS), nuh_layer_id: 0, temporal_id: 0
Jul 30, 2025 12:00:01.753 [139864497478456] DEBUG - [Req#85/Transcode] [FFMPEG] - nal_unit_type: 34(PPS), nuh_layer_id: 0, temporal_id: 0
Jul 30, 2025 12:00:01.753 [139864497478456] DEBUG - [Req#85/Transcode] [FFMPEG] - nal_unit_type: 20(IDR_N_LP), nuh_layer_id: 0, temporal_id: 0
Jul 30, 2025 12:00:01.753 [139864497478456] DEBUG - [Req#85/Transcode] [FFMPEG] - Decoding VPS
Jul 30, 2025 12:00:01.753 [139864497478456] DEBUG - [Req#85/Transcode] [FFMPEG] - Main 10 profile bitstream
Jul 30, 2025 12:00:01.753 [139864497478456] DEBUG - [Req#85/Transcode] [FFMPEG] - Decoding SPS
Jul 30, 2025 12:00:01.753 [139864497478456] DEBUG - [Req#85/Transcode] [FFMPEG] - Main 10 profile bitstream
Jul 30, 2025 12:00:01.753 [139864497478456] DEBUG - [Req#85/Transcode] [FFMPEG] - Decoding VUI
Jul 30, 2025 12:00:01.753 [139864497478456] DEBUG - [Req#85/Transcode] [FFMPEG] - Decoding PPS
Jul 30, 2025 12:00:01.753 [139864497478456] DEBUG - [Req#85/Transcode] [FFMPEG] - Format vaapi chosen by get_format().
Jul 30, 2025 12:00:01.753 [139864497478456] DEBUG - [Req#85/Transcode] [FFMPEG] - Format vaapi requires hwaccel initialisation.
Jul 30, 2025 12:00:01.753 [139864497478456] ERROR - [Req#85/Transcode] [FFMPEG] - No support for codec hevc profile 2.
Jul 30, 2025 12:00:01.753 [139864497478456] ERROR - [Req#85/Transcode] [FFMPEG] - Failed setup for format vaapi: hwaccel initialisation returned error.
Jul 30, 2025 12:00:01.753 [139864497478456] DEBUG - [Req#85/Transcode] [FFMPEG] - Format vaapi not usable, retrying get_format() without it.
Jul 30, 2025 12:00:01.753 [139864497478456] DEBUG - [Req#85/Transcode] [FFMPEG] - Format yuv420p10le chosen by get_format().
Jul 30, 2025 12:00:01.753 [139864497478456] DEBUG - [Req#85/Transcode] [FFMPEG] - Decoded frame with POC 0.
Jul 30, 2025 12:00:01.753 [139864497478456] DEBUG - [Req#85/Transcode] Codecs: dummy-frame test returned software frame
Jul 30, 2025 12:00:01.753 [139864497478456] WARN - [Req#85/Transcode] Codecs: packet decode testing returned -95 for decoder 'hevc'
Jul 30, 2025 12:00:01.754 [139864497478456] DEBUG - [Req#85/Transcode] MDE: LG Colors of Journey HDR 4K Demo: selected media 0 / 52

Let’s do something different

  1. Stop PMS
  2. DELETE the contents of the Codecs folder
  3. Start PMS
  4. Add this file as an ‘other videos’ type library file (where the LG is)

It’s 8.1 MB (very small) and only a few seconds. I want to see what PMS and the HW do with it.

I have tried clearing the codecs folder as found on a reddit post, but it didn’t seem to help. Heres the log file as requested, the lowerdecks file didn’t HW transcode either.

edit… just noticed the same “Codecs: avcodec_open2 returned -38 for encoder ‘h264_vaapi’” in these logs too.

Hello, I just made the transition from a DS224+ to a DS425+ and I have the same problem, the hardware transcoding does not work. I took the version from the Synology store and updated it manually. If you find the solution that would be really cool. Thanks.

We need to figure out if this is a DSM firmware bug with the new DSx25+ or if Synology has deliberately changed something.

I will call and ask but since I’m not a DS415+ owner, they aren’t too receptive to make tickets.

I just deleted the contents of the codecs directory and tested the “Lowerdecks-ac3” video. Still no hardware transcoding. Here are the logs.
Plex Media Server Logs_2025-07-30_18-50-00.zip (646.3 KB)

Is it possible that the problem is due to the Linux version (5.10.55+) of the DSM of our DS425+?
Otherwise I would like to open a ticket with Synology but I am almost sure that they will tell me that Plex is a third-party application and that they cannot do anything for me.
As a last resort, I am willing to temporarily give you full access to my DS425+ to analyze the problem.

It is very likely a kernel driver problem. That makes the most sense.

If they upgraded from their ancient 4.x kernel to 5.x then there is plenty of room for omissions / misconfigurations.

Given they use a proprietary build of the kernel, they might also have forgotten to include certain physical drivers.

Do you want me to contact Synology?

I just spoke with Synology.

They (support) do not have a DS425+ unit we can test with.

After we schemed about how to get the info for development/engineering teams, the best answer we have is:

  1. Desktop share with someone who has a DS425+
  2. Run PMS and capture the errors the kernel is generating (down in the kernel logs)
  3. Write a ticket and submit it to Syno through the Help/Support app with all the info captured from the kernel.
    – Inform them the Plex Synology development engineer is assisting with creation of the ticket (provide my contact info as well with the ticket)
  4. We (Plex) assist with resolving the ticket but it’s still your ticket.

Hopefully we get prompt reply from Syno engineering team about the problem and its resolution.

1 Like

I’m currently on vacation, and the conditions for accessing my DS425+ aren’t ideal. I’ll be back home on August 18th. Would EZTutty be available before me for this procedure?

I can wait for either of you. A few things going on here IRL limiting my free time

I’m happy to help if I can.

1 Like

@EZTutty

How versed are you at the command line ?

If you are comfortable and want to do this now, I’ll give you the commands

@chuckpa Not very if I’m honest.

But willing to give it ago