LumePart / Explo

Spotify's "Discover Weekly" for self-hosted music systems
MIT License
184 stars 0 forks source link

Decoder (codec aac) not found for input stream #0:0 #4

Closed sardaukar closed 2 months ago

sardaukar commented 2 months ago

When I run explo, I see something like:

image

A lot of Decoder (codec aac) not found for input stream #0:0 here. What am I doing wrong?

LumePart commented 2 months ago

Hey! Can you give the output of these 2 commands?

ffmpeg -decoders -loglevel quiet | grep aac and ffmpeg -codecs -loglevel quiet | grep aac

Also, please provide the version of ffmpeg: ffmpeg -version and the distro you're using.

sardaukar commented 2 months ago

I'm trying to run this on a Synology NAS. It's a custom distro, I think.

ffmpeg -version

ffmpeg version 4.1.9 Copyright (c) 2000-2022 the FFmpeg developers
built with gcc 12.2.0 (GCC)
configuration: --prefix=/usr --incdir='${prefix}/include/ffmpeg' --arch=i686 --target-os=linux --cross-prefix=/usr/local/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu- --enable-cross-compile --enable-optimizations --enable-pic --enable-gpl --enable-shared --disable-static --disable-stripping --enable-version3 --enable-encoders --enable-pthreads --disable-protocols --disable-protocol=rtp --enable-protocol=file --enable-protocol=pipe --disable-muxer=image2 --disable-muxer=image2pipe --disable-swscale-alpha --disable-ffplay --disable-ffprobe --disable-doc --disable-devices --disable-bzlib --disable-altivec --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libmp3lame --disable-vaapi --disable-cuvid --disable-nvenc --disable-decoder=aac --disable-decoder=aac_fixed --disable-encoder=aac --disable-decoder=amrnb --disable-decoder=ac3 --disable-decoder=ac3_fixed --disable-encoder=zmbv --disable-encoder=dca --disable-decoder=dca --disable-encoder=ac3 --disable-encoder=ac3_fixed --disable-encoder=eac3 --disable-decoder=eac3 --disable-encoder=truehd --disable-decoder=truehd --disable-encoder=hevc_vaapi --disable-decoder=hevc --disable-muxer=hevc --disable-demuxer=hevc --disable-parser=hevc --disable-bsf=hevc_mp4toannexb --x86asmexe=yasm --cc=/usr/local/x86_64-pc-linux-gnu/bin/ccache/x86_64-pc-linux-gnu-wrap-gcc --enable-yasm --enable-libx264 --enable-encoder=libx264
libavutil      56. 22.100 / 56. 22.100
libavcodec     58. 35.100 / 58. 35.100
libavformat    58. 20.100 / 58. 20.100
libavdevice    58.  5.100 / 58.  5.100
libavfilter     7. 40.101 /  7. 40.101
libswscale      5.  3.100 /  5.  3.100
libswresample   3.  3.100 /  3.  3.100
libpostproc    55.  3.100 / 55.  3.100

ffmpeg -decoders -loglevel quiet | grep aac is empty, but ffmpeg -codecs -loglevel quiet | grep aac yields:

..A.L. aac                  AAC (Advanced Audio Coding)
..A.L. aac_latm             AAC LATM (Advanced Audio Coding LATM syntax)
LumePart commented 2 months ago

Did you install it via the synology package manager? It seems they have disabled the aac decoder (--disable-decoder=aac in the configuration line). If you can, you can try to compile ffmpeg yourself or spin up a very basic docker container (with the right folder mapping) and install explo there with ffmpeg.

sardaukar commented 2 months ago

I've found a newer version of ffmpeg that I can install on it, but there doesn't seem to be an option to override the path to ffmpeg in the env file. Can I hardcode it somehow to call /usr/local/bin/ffmpeg6 instead? I'd prefer to not mess with the "system" version of ffmpeg that comes with the NAS.

This new version has:

 A....D aac                  AAC (Advanced Audio Coding)
 A....D aac_fixed            AAC (Advanced Audio Coding) (codec aac)
 A....D libfdk_aac           Fraunhofer FDK AAC (codec aac)
 A....D aac_latm             AAC LATM (Advanced Audio Coding LATM syntax)

for ffmpeg6 -decoders -loglevel quiet | grep aac and

 DEAIL. aac                  AAC (Advanced Audio Coding) (decoders: aac aac_fixed libfdk_aac ) (encoders: aac libfdk_aac )
 D.AIL. aac_latm             AAC LATM (Advanced Audio Coding LATM syntax)

for ffmpeg6 -codecs -loglevel quiet | grep aac

LumePart commented 2 months ago

I added an option to specify the ffmpeg binary path in the latest release. Hopefully it works

sardaukar commented 2 months ago

Thanks!