Closed cellulosa closed 1 year ago
Following up on this, I installed ffmpeg with chromaprint using the following:
brew uninstall --force --ignore-dependencies ffmpeg
brew install chromaprint amiaopensource/amiaos/decklinksdk
brew tap homebrew-ffmpeg/ffmpeg
brew install homebrew-ffmpeg/ffmpeg/ffmpeg --with-chromaprint
I then identified where this brew built version was placed
whereis ffmpeg
ffmpeg: /usr/local/bin/ffmpeg
And pasted that full path under encoding settings and restarted Jellyfin.
I can see the new version was loaded (the version under support bundle changed to 6.0
, whereas before was ffmpeg version 5.1.2-tessus
).
However, I still get chromaprint_not_supported
. Any ideas on why?
* Jellyfin version: 10.8.10
* Plugin version: 0.1.7
* Queue contents: 0 episodes, 0 seasons
* FFmpeg: `chromaprint_not_supported`
FFmpeg version:
ffmpeg version 6.0 Copyright (c) 2000-2023 the FFmpeg developers
built with Apple clang version 14.0.3 (clang-1403.0.22.14.1)
configuration:
libavutil 58. 2.100 / 58. 2.100
libavcodec 60. 3.100 / 60. 3.100
libavformat 60. 3.100 / 60. 3.100
libavdevice 60. 1.100 / 60. 1.100
libavfilter 9. 3.100 / 9. 3.100
libswscale 7. 1.100 / 7. 1.100
libswresample 4. 10.100 / 4. 10.100
FFmpeg muxer list:
File formats:
D. = Demuxing supported
.E = Muxing supported
--
E 3g2 3GP2 (3GPP2 file format)
E 3gp 3GP (3GPP file format)
E a64 a64 - video for Commodore 64
E ac3 raw AC-3
E adts ADTS AAC (Advanced Audio Coding)
E adx CRI ADX
E aiff Audio IFF
E alaw PCM A-law
E alp LEGO Racers ALP
E amr 3GPP AMR
E amv AMV
E apm Ubisoft Rayman 2 APM
E apng Animated Portable Network Graphics
E aptx raw aptX (Audio Processing Technology for Bluetooth)
E aptx_hd raw aptX HD (Audio Processing Technology for Bluetooth)
E argo_asf Argonaut Games ASF
E argo_cvg Argonaut Games CVG
E asf ASF (Advanced / Active Streaming Format)
E asf_stream ASF (Advanced / Active Streaming Format)
E ass SSA (SubStation Alpha) subtitle
E ast AST (Audio Stream)
E au Sun AU
E audiotoolbox AudioToolbox output device
E avi AVI (Audio Video Interleaved)
E avif AVIF
E avm2 SWF (ShockWave Flash) (AVM2)
E avs2 raw AVS2-P2/IEEE1857.4 video
E avs3 AVS3-P2/IEEE1857.10
E bit G.729 BIT file format
E caf Apple CAF (Core Audio Format)
E cavsvideo raw Chinese AVS (Audio Video Standard) video
E codec2 codec2 .c2 muxer
E codec2raw raw codec2 muxer
E crc CRC testing
E dash DASH Muxer
E data raw data
E daud D-Cinema audio
E dfpwm raw DFPWM1a
E dirac raw Dirac
E dnxhd raw DNxHD (SMPTE VC-3)
E dts raw DTS
E dv DV (Digital Video)
E dvd MPEG-2 PS (DVD VOB)
E eac3 raw E-AC-3
E f32be PCM 32-bit floating-point big-endian
E f32le PCM 32-bit floating-point little-endian
E f4v F4V Adobe Flash Video
E f64be PCM 64-bit floating-point big-endian
E f64le PCM 64-bit floating-point little-endian
E ffmetadata FFmpeg metadata in text
E fifo FIFO queue pseudo-muxer
E fifo_test Fifo test muxer
E film_cpk Sega FILM / CPK
E filmstrip Adobe Filmstrip
E fits Flexible Image Transport System
E flac raw FLAC
E flv FLV (Flash Video)
E framecrc framecrc testing
E framehash Per-frame hash testing
E framemd5 Per-frame MD5 testing
E g722 raw G.722
E g723_1 raw G.723.1
E g726 raw big-endian G.726 ("left-justified")
E g726le raw little-endian G.726 ("right-justified")
E gif CompuServe Graphics Interchange Format (GIF)
E gsm raw GSM
E gxf GXF (General eXchange Format)
E h261 raw H.261
E h263 raw H.263
E h264 raw H.264 video
E hash Hash testing
E hds HDS Muxer
E hevc raw HEVC video
E hls Apple HTTP Live Streaming
E ico Microsoft Windows ICO
E ilbc iLBC storage
E image2 image2 sequence
E image2pipe piped image2 sequence
E ipod iPod H.264 MP4 (MPEG-4 Part 14)
E ircam Berkeley/IRCAM/CARL Sound Format
E ismv ISMV/ISMA (Smooth Streaming)
E ivf On2 IVF
E jacosub JACOsub subtitle format
E kvag Simon & Schuster Interactive VAG
E latm LOAS/LATM
E lrc LRC lyrics
E m4v raw MPEG-4 video
E matroska Matroska
E md5 MD5 testing
E microdvd MicroDVD subtitle format
E mjpeg raw MJPEG video
E mkvtimestamp_v2 extract pts as timecode v2 format, as defined by mkvtoolnix
E mlp raw MLP
E mmf Yamaha SMAF
E mov QuickTime / MOV
E mp2 MP2 (MPEG audio layer 2)
E mp3 MP3 (MPEG audio layer 3)
E mp4 MP4 (MPEG-4 Part 14)
E mpeg MPEG-1 Systems / MPEG program stream
E mpeg1video raw MPEG-1 video
E mpeg2video raw MPEG-2 video
E mpegts MPEG-TS (MPEG-2 Transport Stream)
E mpjpeg MIME multipart JPEG
E mulaw PCM mu-law
E mxf MXF (Material eXchange Format)
E mxf_d10 MXF (Material eXchange Format) D-10 Mapping
E mxf_opatom MXF (Material eXchange Format) Operational Pattern Atom
E null raw null video
E nut NUT
E obu AV1 low overhead OBU
E oga Ogg Audio
E ogg Ogg
E ogv Ogg Video
E oma Sony OpenMG audio
E opus Ogg Opus
E psp PSP MP4 (MPEG-4 Part 14)
E rawvideo raw video
E rm RealMedia
E roq raw id RoQ
E rso Lego Mindstorms RSO
E rtp RTP output
E rtp_mpegts RTP/mpegts output format
E rtsp RTSP output
E s16be PCM signed 16-bit big-endian
E s16le PCM signed 16-bit little-endian
E s24be PCM signed 24-bit big-endian
E s24le PCM signed 24-bit little-endian
E s32be PCM signed 32-bit big-endian
E s32le PCM signed 32-bit little-endian
E s8 PCM signed 8-bit
E sap SAP output
E sbc raw SBC
E scc Scenarist Closed Captions
E sdl,sdl2 SDL2 output device
E segment segment
E smjpeg Loki SDL MJPEG
E smoothstreaming Smooth Streaming Muxer
E sox SoX native
E spdif IEC 61937 (used on S/PDIF - IEC958)
E spx Ogg Speex
E srt SubRip subtitle
E stream_segment,ssegment streaming segment muxer
E streamhash Per-stream hash testing
E sup raw HDMV Presentation Graphic Stream subtitles
E svcd MPEG-2 PS (SVCD)
E swf SWF (ShockWave Flash)
E tee Multiple muxer tee
E truehd raw TrueHD
E tta TTA (True Audio)
E ttml TTML subtitle
E u16be PCM unsigned 16-bit big-endian
E u16le PCM unsigned 16-bit little-endian
E u24be PCM unsigned 24-bit big-endian
E u24le PCM unsigned 24-bit little-endian
E u32be PCM unsigned 32-bit big-endian
E u32le PCM unsigned 32-bit little-endian
E u8 PCM unsigned 8-bit
E uncodedframecrc uncoded framecrc testing
E vc1 raw VC-1 video
E vc1test VC-1 test bitstream
E vcd MPEG-1 Systems / MPEG program stream (VCD)
E vidc PCM Archimedes VIDC
E vob MPEG-2 PS (VOB)
E voc Creative Voice
E w64 Sony Wave64
E wav WAV / WAVE (Waveform Audio)
E webm WebM
E webm_chunk WebM Chunk Muxer
E webm_dash_manifest WebM DASH Manifest
E webp WebP
E webvtt WebVTT subtitle
E wsaud Westwood Studios audio
E wtv Windows Television (WTV)
E wv raw WavPack
E yuv4mpegpipe YUV4MPEG pipe
Interesting. During startup, the plugin runs several compatibility checks to ensure that ffmpeg has support for all required muxers & filters. The chromaprint check happens here when the plugin searches the output of ffmpeg -muxers
for the chromaprint
muxer. The logs in the bundle you posted don't contain that muxer, which is why the chromaprint_not_supported
error is being thrown.
Unfortunately, I'm unfamiliar with brew
, so I'm not sure what you would have to do to enable chromaprint support beyond passing --with-chromaprint
to brew install
.
Alright, I found a (temporary?) solution.
It seems that the --with-chromaprint
brewed version is not linked to the main ffmpeg lib (despite brew claiming it is - I also reported it here).
I found the full path of the compiled version, which was: /usr/local/Cellar/ffmpeg/6.0-with-options_1/bin/ffmpeg
and I could that that running /usr/local/Cellar/ffmpeg/6.0-with-options_1/bin/ffmpeg -muxers
would list chromaprint as an option; so I added that full path under encoding settings, restarted Jellyfin and et voilà!
* Jellyfin version: 10.8.10
* Plugin version: 0.1.7
* Queue contents: 95 episodes, 9 seasons
* FFmpeg: `okay`
FFmpeg version:
ffmpeg version 6.0 Copyright (c) 2000-2023 the FFmpeg developers
built with Apple clang version 14.0.3 (clang-1403.0.22.14.1)
configuration: --prefix=/usr/local/Cellar/ffmpeg/6.0-with-options_1 --enable-shared --cc=clang --host-cflags= --host-ldflags= --enable-gpl --enable-libaom --enable-libdav1d --enable-libmp3lame --enable-libopus --enable-libsnappy --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libfontconfig --enable-libfreetype --enable-frei0r --enable-libass --enable-demuxer=dash --enable-opencl --enable-audiotoolbox --enable-videotoolbox --disable-htmlpages --enable-chromaprint
libavutil 58. 2.100 / 58. 2.100
libavcodec 60. 3.100 / 60. 3.100
libavformat 60. 3.100 / 60. 3.100
libavdevice 60. 1.100 / 60. 1.100
libavfilter 9. 3.100 / 9. 3.100
libswscale 7. 1.100 / 7. 1.100
libswresample 4. 10.100 / 4. 10.100
libpostproc 57. 1.100 / 57. 1.100
The intro skip task is now working!
Update on the above, forcing brew to re-link ffmpeg fixed the issue:
brew link --overwrite ffmpeg
Now when I run ffmpeg -muxers | grep chromaprint
I can see chromaprint, and can use the main library /usr/local/bin/ffmpeg
on Jellyfin too.
Fixed by #169
Hi there and thanks for the great plugin.
I'm running Jellyfin
10.8.10
natively on MacOS(Ventura 13.3.1, Jellyfin build Darwin X64)
and nativeffmpeg 6.0
.The plugin fails to run:
I tried also to compile jellyfin-ffmpeg 5.1.3-1 and linking that to the jellyfin ffmpeg settings, but keeps throwing the same error.
Any idea on how to run this natively on MacOS?