Network Details (Including networking gear model/manufacturer and if on WiFi/Ethernet)
Ethernet
Audio Devices (Specify what device you’re using and its connection type - USB/HDMI/etc.)
core on nuc, dac connected to nuc, other devices on network
Description Of Issue
All devices dont play mp3 files. Assume it is a codec issue. Not sure what codec needed and where codec required. OS developer is available and responsive if required. flac and wav fine
Here’s the Roon Server installation instructions from the Roon Knowledge Base:
And this is the relevant section:
ffmpeg or avconv must be installed and available in your PATH. Roon Server will fail to start if it can’t find one or the other. You only need one or the other, not both. If both are present, Roon Server uses ffmpeg. On Debian, Ubuntu, and other distributions that use apt-get for package management, generally one of the following commands will meet this dependency: For ffmpeg:
$ sudo apt-get install ffmpeg
For avconv:
$ sudo apt-get install libav-tools
If your distribution supports neither option, and you’re staring down the barrel of building one of these things from source code, you can always grab statically linked copy of ffmpeghere and drop it into /usr/local/bin as a last resort.
As you say that yours is not a standard Ubuntu installation, one more thing to make sure is that the path to the ffmpeg executable file is included in the $PATH environment variable.
To see the path to ffmpeg, you can try
which ffmpeg
This on my standard Ubuntu with ffmpeg installed using the apt utility returns with
So we can make sure that the path to ffmpeg (/usr/bin/ in my case) is included in this colon-separated list of known paths to executable files.
Can’t think at the moment of any other thing to check. With ffmpeg present and the path to its executable file known to the OS environment, Roon should be able to decode mp3 files.
OK this is not as expected
~$ ffmpeg -codecs | grep mp3
ffmpeg: relocation error: ffmpeg: symbol av_buffersink_get_sample_aspect_ratio version LIBAVFILTER_6 not defined in file libavfilter.so.6 with link time reference
This seems to indicate a version conflict between ffmpeg and libraries on your system it depends on.
The Ubuntu package manager apt maintains a database of installed packages. If you type
sudo apt show ffmpeg
it should show us the version installed. If ffmpeg wasn’t installed as an official Ubuntu package, then of course apt show won’t give us a result.
If it was installed by apt, you can then try
sudo apt purge ffmpeg
to try and eliminate the faulty binary. Once purged, try
sudo apt update
sudo apt install ffmpeg
to try and install the offical ffmpeg as distributed by Ubuntu.
It is always recommended to use the Ubuntu package manager to install software on an Ubuntu system, as it takes into account the dependencies and will install all necessary libraries on which ffmpeg depends.
Ok, the ffmpeg binary is an official Ubuntu one. So you can try to purge and then try and install it again, as indicated in my previous post.
But I suspect that on your custom Ubuntu system there must be custom-compiled libraries which conflict with the ‘official’ ffmpeg by Ubuntu. If this is so, then even after a reinstall it is likely that it won’t work.
In this case you have two options:
Try and install a ffmpeg binary with all the dependent libraries included in the binary. For this you can look here.
Ask the developer of your custom build to resolve this version conflict for you and give you a working system without version conflict between the ffmpeg binary and the libraries it depends on. He will know what to do.