Roon on Synology NAS will no longer play AAC files

Roon Core Machine
Synology DS218+
CPU INTEL Celeron J3355
RAM 10 GB
DSM 7.0.1-42218 Update 2
Roon Core version 2.0 Build 1442
Roon Client running on Surface Laptop 3, Windows 11 23H2, Roon version 2.0 Build 1442

Networking Gear & Setup Details
Wifi (Orbi meshwifi + Sonos Boost connected via Ethernet)

Connected Audio Devices
Sonos Amp
Sonos Arc + Sub + Play 1 x2
WiiM Pro

Number of Tracks in Library
52,000 tracks

Description of Issue
All tracks play except AAC files, which are just skipped (Some ripped AAC files and some bought on iTunes) when the core is running on NAS. ROON was able to play these files in the past; not sure when they stopped working as most of my library is lossless. The same AAC files play fine when streamed via the Sonos app or the WiiM app. I have installed FFMPEG in RoonServer/RoonOnNAS/bin, but this has not solved the problem. (I used the latest AMD64 build as instructed.)

IIRC, Synology removed built-in AAC support in DSM 7 for licensing reasons. You need to add the required codec:

2 Likes

Yep, did that and it didn’t resolve the problem.

Are you sure you did it right? This question came up about a hundred times and AFAIK eventually the above always fixed it (though occasionally there were some hurdles to clear along the way).

Paging our resident Synology guru @DDPS

1 Like

Thanks.

I’m not sure on the version of FFMPEG. The instructions say to use the AMD64 build, but the thread you linked to mentions an “Intel” version. I’m not sure what build of FFMPEG I should be installing.

Appreciate the help.

The Intel Celeron J3355 is a 64-bit CPU, so I think the amd64 ffmpeg should be the right one.

The amd64 build is the correct build for 64bit intel architecture machines. It comes about because, when Intel first tried to go 64bit, they went with a new itanium architecture which was not a success, at least not in consumer markets, because of it’s lack of compatibility with 32 bit x86. By contrast, AMD introduced 64 bit extensions to the intel instruction set which were compatible.

If I remember correctly, there was then a cross licensing agreement between Intel and AMD whereby AMD got access to the Intel SSE technology and Intel got access to to the AMD64 technology.

2 Likes

This is indeed strange because the CPU platform in this thread mentioned x86_64 which would mean amd64. (The Intel version of the ffmpeg would be the “i686” version, which is a common name for Intel’s old 32-bit architecture). I have no idea what that user did there or whether the Intel version was actually what made the difference.

1 Like

Yes the AMD64 version is the correct one to use.

Beyond that, there is a log file in your Roon server log file directory that I can’t recall the precise name of (I’m on the road at present) but it’s a short log file, and populates at the Roon server boot time, and it should indicate that it has found the path to the FFMPEG library that you have installed

1 Like

Here is the RoonOnNAS.log
Looks like it is at least trying to use it, but still not working.

03.08.24-13:14:26 --- ROON_DATABASE_DIR: /var/packages/RoonServer/shares/RoonServer/RoonOnNAS
03.08.24-13:14:26 --- ROON_DIR: /var/packages/RoonServer
03.08.24-13:14:26 --- Model: DS218+
03.08.24-13:14:26 --- Architecture: x86_64
03.08.24-13:14:26 --- DSM Version: 7.0.1 (Update 6)
03.08.24-13:14:26 --- PKG Version: 20220216
03.08.24-13:14:26 --- Hostname: RoonCore
03.08.24-13:14:26 --- MTU: 
03.08.24-13:14:26 --- ROON_DEBUG_ARGS: -noraatserver
03.08.24-13:14:26 --- ffmpeg: /bin/ffmpeg
03.08.24-13:14:26 --- RoonServer PID: 18834


########## Installed RoonServer Version ##########
200001442
2.0 (build 1442) production
production
##################################################

That’s the file. It’s indicating that it is using the FFMPEG file in /bin (off of your root directory). You really want it to use the one you downloaded and installed off of a bin directory that is a subdirectory of your Roon server directory.

I guess it falls back to /bin/ffmpeg if RoonServer/RoonOnNAS/bin/ffmpeg does not work?

Is it necessary to make the ffmpeg file executable?

1 Like

Correct… And yes, I usually make it executable. chmod 755

2 Likes

Thanks for your help. Do I need to do something to point it to the one I installed, or does that just mean the one I installed is failing for some reason?

Did you do this?

1 Like

YES!!!

That did the trick! Thank you both so much.

It was just a matter of going into permissions and ticking the “Execute” dialog boxes. They were all unchecked initially.

2 Likes
03.08.24-15:48:59 --- ROON_DATABASE_DIR: /var/packages/RoonServer/shares/RoonServer/RoonOnNAS
03.08.24-15:48:59 --- ROON_DIR: /var/packages/RoonServer
03.08.24-15:48:59 --- Model: DS218+
03.08.24-15:48:59 --- Architecture: x86_64
03.08.24-15:48:59 --- DSM Version: 7.0.1 (Update 6)
03.08.24-15:48:59 --- PKG Version: 20220216
03.08.24-15:48:59 --- Hostname: RoonCore
03.08.24-15:48:59 --- MTU: 
03.08.24-15:48:59 --- ROON_DEBUG_ARGS: -noraatserver
03.08.24-15:48:59 --- ffmpeg: /var/packages/RoonServer/shares/RoonServer/RoonOnNAS/bin/ffmpeg
03.08.24-15:48:59 --- RoonServer PID: 16159


########## Installed RoonServer Version ##########
200001442
2.0 (build 1442) production
production
##################################################


1 Like

Excellent. But group and others should not have write permissions.

2 Likes

For posterity, I have elaborated on all of this in my original post in A Roon on (Synology) NAS Primer.

1 Like

Nice! I hope that my experience can help someone else.

Very nice tutorial there.

1 Like