Roon not playing mp3's

Core Machine (Operating system/System info/Roon build number)

snakeoil OS (Ubuntu custom)/ nuc8i7 /1.7

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 ffmpeg here and drop it into /usr/local/bin as a last resort.

Thanks but have tried that already, ffmpeg also in bin.

Have you installed ffmpeg manually? Then I would suggest to look if the file is marked as executable:

ls -la /usr/bin/ffmpeg

If you have installed with apt, then this would have been taken care for.

yes used apt

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

/usr/bin/ffmpeg

Now let’s have a look at the $PATH environment:

 echo $PATH

Again, on my standard Ubuntu system this returns

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin

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.

Thanks for your help but mine gives the same result as yours

If you run ffmpeg does it confirm that libmp3lame is enabled?

1 Like

Hi am not a knowledgeable linux user,sorry might save some time if you tell me exactly what to type. hope thats ok

Just type ffmpeg. Even better, type
ffmpeg -codecs | grep mp3.
The output should like something like this

$ ffmpeg -codecs | grep mp3
ffmpeg version 4.3.1 Copyright (c) 2000-2020 the FFmpeg developers
built with Android (6454773 based on r365631c2) clang version 9.0.8 (toolchain/llvm-project - Git at Google 98c855489587874b2a325e7a516b99d838599c6f) (based on LLVM 9.0.8svn)
configuration: --arch=armeabi-v7a --as=arm-linux-androideabi-clang --cc=arm-linux-androideabi-clang --cxx=arm-linux-androideabi-clang++ --cross-prefix=arm-linux-androideabi- --disable-indevs --disable-outdevs --enable-indev=lavfi --disable-static --disable-symver --enable-cross-compile --enable-gnutls --enable-gpl --enable-libass --enable-libdav1d --enable-libmp3lame --enable-libfreetype --enable-libvorbis --enable-libopus --enable-libx264 --enable-libx265 --enable-libxvid --enable-libvpx --enable-shared --enable-libsoxr --enable-libvidstab --enable-libwebp --prefix=/data/data/com.termux/files/usr --target-os=android --extra-libs=-landroid-glob --enable-neon
libavutil 56. 51.100 / 56. 51.100
libavcodec 58. 91.100 / 58. 91.100
libavformat 58. 45.100 / 58. 45.100
libavdevice 58. 10.100 / 58. 10.100
libavfilter 7. 85.100 / 7. 85.100
libswscale 5. 7.100 / 5. 7.100
libswresample 3. 7.100 / 3. 7.100
libpostproc 55. 7.100 / 55. 7.100
DEAIL. mp3 MP3 (MPEG audio layer 3) (decoders: mp3float mp3 ) (encoders: libmp3lame )
D.AIL. mp3adu ADU (Application Data Unit) MP3 (MPEG audio layer 3) (decoders: mp3adufloat mp3adu )
D.AIL. mp3on4 MP3onMP4 (decoders: mp3on4float mp3on4 )
$

If not then we need a different build.

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 this is what I get

:~$ sudo apt show ffmpeg
Package: ffmpeg
Version: 7:3.4.8-0ubuntu0.2
Priority: optional
Section: universe/video
Origin: Ubuntu
Maintainer: Ubuntu Developers ubuntu-devel-discuss@lists.ubuntu.com
Original-Maintainer: Debian Multimedia Maintainers debian-multimedia@lists.debian.org
Bugs: OpenID transaction in progress
Installed-Size: 2,276 kB
Depends: libavcodec57 (>= 7:3.4.8) | libavcodec-extra57 (>= 7:3.4.8), libavdevice57 (>= 7:3.4.8), libavfilter6 (>= 7:3.4.8) | libavfilter-extra6 (>= 7:3.4.8), libavformat57 (>= 7:3.4.8), libavresample3 (>= 7:3.4.8), libavutil55 (>= 7:3.4.8), libc6 (>= 2.14), libpostproc54 (>= 7:3.4.8), libsdl2-2.0-0 (>= 2.0.8), libswresample2 (>= 7:3.4.8), libswscale4 (>= 7:3.4.8)
Suggests: ffmpeg-doc
Breaks: libav-tools (<< 6:12~~), qt-faststart (<< 7:2.7.1-3~)
Replaces: libav-tools (<< 6:12~~), qt-faststart (<< 7:2.7.1-3~)
Homepage: https://ffmpeg.org/
Task: ubuntustudio-video, ubuntustudio-audio, ubuntukylin-desktop, ubuntu-budgie-desktop
Supported: 3y
Download-Size: 1,587 kB
APT-Manual-Installed: yes
APT-Sources: AARNet Mirror bionic-updates/universe amd64 Packages
Description: Tools for transcoding, streaming and playing of multimedia files
FFmpeg is the leading multimedia framework, able to decode, encode,
transcode, mux, demux, stream, filter and play pretty much anything that
humans and machines have created. It supports the most obscure ancient
formats up to the cutting edge.
.
This package contains:

  • ffmpeg: a command line tool to convert multimedia files between formats
  • ffserver: a multimedia streaming server for live broadcasts
  • ffplay: a simple media player based on SDL and the FFmpeg libraries
  • ffprobe: a simple multimedia stream analyzer
  • qt-faststart: a utility to rearrange Quicktime files

N: There is 1 additional record. Please use the ‘-a’ switch to see it

sudo apt show ffmpeg -a
Package: ffmpeg
Version: 7:3.4.8-0ubuntu0.2
Priority: optional
Section: universe/video
Origin: Ubuntu
Maintainer: Ubuntu Developers ubuntu-devel-discuss@lists.ubuntu.com
Original-Maintainer: Debian Multimedia Maintainers debian-multimedia@lists.debian.org
Bugs: OpenID transaction in progress
Installed-Size: 2,276 kB
Depends: libavcodec57 (>= 7:3.4.8) | libavcodec-extra57 (>= 7:3.4.8), libavdevice57 (>= 7:3.4.8), libavfilter6 (>= 7:3.4.8) | libavfilter-extra6 (>= 7:3.4.8), libavformat57 (>= 7:3.4.8), libavresample3 (>= 7:3.4.8), libavutil55 (>= 7:3.4.8), libc6 (>= 2.14), libpostproc54 (>= 7:3.4.8), libsdl2-2.0-0 (>= 2.0.8), libswresample2 (>= 7:3.4.8), libswscale4 (>= 7:3.4.8)
Suggests: ffmpeg-doc
Breaks: libav-tools (<< 6:12~~), qt-faststart (<< 7:2.7.1-3~)
Replaces: libav-tools (<< 6:12~~), qt-faststart (<< 7:2.7.1-3~)
Homepage: https://ffmpeg.org/
Task: ubuntustudio-video, ubuntustudio-audio, ubuntukylin-desktop, ubuntu-budgie-desktop
Supported: 3y
Download-Size: 1,587 kB
APT-Manual-Installed: yes
APT-Sources: AARNet Mirror bionic-updates/universe amd64 Packages
Description: Tools for transcoding, streaming and playing of multimedia files
FFmpeg is the leading multimedia framework, able to decode, encode,
transcode, mux, demux, stream, filter and play pretty much anything that
humans and machines have created. It supports the most obscure ancient
formats up to the cutting edge.
.
This package contains:

  • ffmpeg: a command line tool to convert multimedia files between formats
  • ffserver: a multimedia streaming server for live broadcasts
  • ffplay: a simple media player based on SDL and the FFmpeg libraries
  • ffprobe: a simple multimedia stream analyzer
  • qt-faststart: a utility to rearrange Quicktime files

Package: ffmpeg
Version: 7:3.4.2-2
Priority: optional
Section: universe/video
Origin: Ubuntu
Maintainer: Ubuntu Developers ubuntu-devel-discuss@lists.ubuntu.com
Original-Maintainer: Debian Multimedia Maintainers debian-multimedia@lists.debian.org
Bugs: OpenID transaction in progress
Installed-Size: 2,276 kB
Depends: libavcodec57 (>= 7:3.4.2) | libavcodec-extra57 (>= 7:3.4.2), libavdevice57 (>= 7:3.4.2), libavfilter6 (>= 7:3.4.2) | libavfilter-extra6 (>= 7:3.4.2), libavformat57 (>= 7:3.4.2), libavresample3 (>= 7:3.4.2), libavutil55 (>= 7:3.4.2), libc6 (>= 2.14), libpostproc54 (>= 7:3.4.2), libsdl2-2.0-0 (>= 2.0.8), libswresample2 (>= 7:3.4.2), libswscale4 (>= 7:3.4.2)
Suggests: ffmpeg-doc
Breaks: libav-tools (<< 6:12~~), qt-faststart (<< 7:2.7.1-3~)
Replaces: libav-tools (<< 6:12~~), qt-faststart (<< 7:2.7.1-3~)
Homepage: https://ffmpeg.org/
Task: ubuntustudio-video, ubuntustudio-audio, ubuntukylin-desktop, ubuntu-budgie-desktop
Supported: 3y
Download-Size: 1,587 kB
APT-Sources: AARNet Mirror bionic/universe amd64 Packages
Description: Tools for transcoding, streaming and playing of multimedia files
FFmpeg is the leading multimedia framework, able to decode, encode,
transcode, mux, demux, stream, filter and play pretty much anything that
humans and machines have created. It supports the most obscure ancient
formats up to the cutting edge.
.
This package contains:

  • ffmpeg: a command line tool to convert multimedia files between formats
  • ffserver: a multimedia streaming server for live broadcasts
  • ffplay: a simple media player based on SDL and the FFmpeg libraries
  • ffprobe: a simple multimedia stream analyzer
  • qt-faststart: a utility to rearrange Quicktime files

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:

  1. Try and install a ffmpeg binary with all the dependent libraries included in the binary. For this you can look here.

  2. 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.

2 Likes

Or just use a standard distro without the snake oil.

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