FFMPEG installed but not found
pHash looks like a dead project and has not been updated since 2013.
It references avcodec_alloc_frame
which for years has been deprecated for av_frame_alloc
, so it is likely incompatible with the current FFmpeg API.
You'll either have to use an ancient FFmpeg version (not recommended), or update the pHash source to use the current FFmpeg libraries properly.
If you do not need support for perceptual video hashes, then configure pHash with --enable-video-hash=no
and it will omit the FFmpeg dependency.
If you're looking for audio fingerprint functionality, I recommend Chromaprint instead since FFmpeg supports it.
Related videos on Youtube
user6321
Updated on September 18, 2022Comments
-
user6321 over 1 year
I'm trying to install pHash , but when I execute ./configure this message is returned:
... *** Configuring video Hash *** checking whether FFmpeg is present... checking for avcodec_alloc_frame in -lavcodec... no configure: error: *** libavcodec not found. You need FFmpeg. Get it at <http://ffmpeg.org/>
But FFMPEG is correctly installed, in fact executing
ffmpeg
it returns:ffmpeg version 3.0.2 Copyright (c) 2000-2016 the FFmpeg developers built with gcc 4.8 (Ubuntu 4.8.4-2ubuntu1~14.04.1) configuration: libavutil 55. 17.103 / 55. 17.103 libavcodec 57. 24.102 / 57. 24.102 libavformat 57. 25.100 / 57. 25.100 libavdevice 57. 0.101 / 57. 0.101 libavfilter 6. 31.100 / 6. 31.100 libswscale 4. 0.100 / 4. 0.100 libswresample 2. 0.101 / 2. 0.101 Hyper fast Audio and Video encoder usage: ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}... Use -h to get full help or, even better, run 'man ffmpeg'
Why this happens?
UPDATE:
libavcodec-dev
is already installed:luca@luca-OptiPlex-7040:~/Downloads/pHash-0.9.6$ sudo apt-get install libavcodec-dev Reading package lists... Done Building dependency tree Reading state information... Done libavcodec-dev is already the newest version. 0 upgraded, 0 newly installed, 0 to remove and 74 not upgraded.
and:
luca@luca-OptiPlex-7040:~/Downloads/pHash-0.9.6$ whereis libavcodec libavcodec: /usr/local/lib/libavcodec.a /usr/include/libavcodec /usr/share/man/man3/libavcodec.3.gz
-
llogan about 8 yearsWhich Ubuntu version?
-
user6321 about 8 years14.IDon'tRemember (I'm not from that machine now)
-
-
Anthony Wong about 8 yearsassuming you are using 64-bit, what do you get from
objdump -T /usr/lib/x86_64-linux-gnu/libavcodec.so | grep avcodec_alloc_frame
? -
user6321 about 8 years
000000000035e880 g DF .text 0000000000000020 LIBAVCODEC_54 avcodec_alloc_frame
-
Anthony Wong about 8 yearsI have run out of ideas, it's definitely working fine here.
-
Michael over 2 yearsdoes this bump the version past 0.9.7?
-
Michael over 2 yearslooks like this version isn't backwards compatible