ffprobe or avprobe not found. Please install one - youtube

I want to add tags to mp3 converted by youtube-dl & ffmpeg:
youtube-dl -o
'/Output/qpgTC9MDx1o.mp3' qpgTC9MDx1o -f bestaudio --extract-audio --metadata-from-title "%(artist)s -
%(title)s" 2>&1
I have this error in the output result:
[youtube] qpgTC9MDx1o: Downloading webpage [youtube] qpgTC9MDx1o:
Extracting video information [youtube] qpgTC9MDx1o: Downloading js
player en_US-vfluGO3jj [youtube] qpgTC9MDx1o: Downloading DASH
manifest [download]
/var/www/vhosts/mp3-y.com/httpdocs/Mp3_Output/quick-mp3.com-JALAL-EL-HAMDAOUI-2007-ARRASSIATES-VOL2-F1P-9CDoxlQ.mp3
has already been downloaded [download] 100% of 13.43MiB WARNING:
qpgTC9MDx1o: writing DASH m4a. Only some players support this
container. Install ffmpeg or avconv to fix this automatically.
[fromtitle] parsed artist: Maroon 5 [fromtitle] parsed title: Animals
ERROR: ffprobe or avprobe not found. Please install one.

Make sure you have the latest version for youtube-dl:
sudo youtube-dl -U
After that you can solve this problem by installing the missing ffmpeg.
Ubuntu and debian:
sudo apt-get install ffmpeg
macOS:
brew install ffmpeg
Windows:
choco install ffmpeg

brew install ffmpeg will install what you need and all the dependencies if you are on a Mac.

I know the user asked this for Linux, but I had this issue in Windows (10 64bits) and found little information, so this is how I solved it:
Download LIBAV, I used libav-11.3-win64.7z. Just copy "avprobe.exe" and all DLLs from "/win64/usr/bin" to where "youtube-dl.exe" is.
In case LIBAV does not help, try with FFMPEG, copying the contents of the "bin" folder to where "youtube-dl.exe" is. That did not help me, but others said it did, so it may worth a try.
Hope this helps someone having the issue in Windows.

On Windows, you can easily install ffmpeg via chocolatey
choco install ffmpeg

There is some confusion when using pip install in Windows. The instructions talk about a specific folder which has youtube-dl.exe. There is no such folder if you use pip install.
The solution is to:
Download one of the builds from https://ffmpeg.zeranoe.com/
Extract the zip contents
Place the contents of the bin folder (there are three exe files) in any folder which is a path in Windows. I personally use Ananconda, so I placed them in /Anaconda/Scripts, but you could place it in any folder and add that folder to the path.

Compiling the last answers into one:
If you're on Windows, use chocolatey:
choco install ffmpeg
If you are on Mac, use Brew:
brew install ffmpeg
If you are on a Debian Linux distribution, use apt:
sudo apt-get install ffmpeg
And make sure Youtube-dl is updated:
youtube-dl -U

What worked for me (youtube-dl version 2018.03.03, ffprobe 0.5, no avprobe, 3.4.1-tessus, in Hi-Sierra/iMac) was:
brew install libav
(thanks to marciovsena's post on GitHub).
I saw elsewhere that libav might be deprecated in the future, but I'll worry about it when we get there.

You can install them by
sudo apt-get install -y libav-tools

Update your version of youtube-dl to the lastest as older version might not support.
pip install --upgrade youtube_dl
Install 'ffmpeg' and 'ffprobe' module
pip install ffmpeg
pip install ffprobe
If you face the same issue, then download ffmpeg builds and put all the .exe files to Script folder($path: "Python\Python38-32\Scripts") (Windows OS only)

This is so simple if on windows...
In the folder where you have youtube-dl.exe
goto https://www.gyan.dev/ffmpeg/builds/
download the ffmpeg-git-full.7z file
the download link is https://www.gyan.dev/ffmpeg/builds/ffmpeg-git-full.7z
Open that zip file and move the ffmpeg.exe file to the same folder where youtube-dl.exe is
Example "blahblah.7z / whatevertherootfolderis / bin / ffmpeg.exe"
youtube-dl.exe -x --audio-format mp3 -o %(title)s.%(ext)s https://www.youtube.com/watch?v=wyPKRcBTsFQ

On a Mac, install ffmpeg by downloading it from:
https://ffmpeg.org/download.html
Under "Get packages & executable files/Static Builds for macOS 64-bit".
I downloaded ffmpeg and ffprobe.
After download, I extracted the binaries ffmpeg and ffprobe, copied them to my path and set permissions:
cp ffmpeg /usr/local/bin/
cp ffprobe /usr/local/bin/
chmod 755 /usr/local/bin/ff*
With brew install ffmpeg on macOS 10.13 I got the following Error: ffmpeg: no bottle available! and I was also not able to build ffmpeg on my machine.

on MAC i tried to run brew install ffmpeg but it didn't work and got many errors, so i did this and it worked:
1- make sure you have the latest version of youtube-dl
pip install --upgrade youtube_dl
2- go to https://evermeet.cx/ffmpeg/ and download ffmpeg and ffprobe
3- run which youtube-dl on Terminal to get the path, where youtube-dl is installed.
you should get something like this : /Library/Frameworks/Python.framework/Versions/3.9/bin/
4- copy the 2 file you downloaded ffmpeg and ffprobe to the bin folder of your path from step 3.
that's it. you shouldn't get this error again.

On WINDOWS
You can just install it by using winget. If you have Windows 11 or modern versions of Windows 10 winget comes preinstalled. so just use the below command.
winget install ffmpeg

Posting what i found recently, just so that it might be of help.
Once you have installed ffmpeg as stated by various answers here , use the below option to point to the location of ffmpeg .
in my case i've installed ffmpg in (on Windows PC) E:\ffmpeg\bin
Use underscore rather than hyphen, while invoking youtube-dl from Python, and use --ffmpeg-location if calling from command line
eg
ydl_opts = {
'ffmpeg_location' : 'E:\\ffmpeg\\bin\\ffmpeg.exe',
}

update your version of youtube-dl to the lastest as older version might not support palylists.
sudo youtube-dl -U if u installed via .deb
sudo pip install --upgrade youtube_dl via pip
use this to download the playlist as an MP3 file
youtube-dl --extract-audio --audio-format mp3 #url_to_playlist

This is an old question. But if you're using a virtualenv with python, place the contents of the downloaded libav bin folder in the Scriptsfolder of your virtualenv.

Related

What is the difference between a homebrew and wget install of youtube-dl?

When youtube-dl is installed through homebrew on an M1 Macbook Air with these commands, the resulting instance doesn't support reddit video downloads and requires some URLs to be in quotation marks:
brew install youtube-dl
Instead, if youtube-dl is installed via these commands, the resulting instance doesn't have the same issues:
sudo wget https://yt-dl.org/downloads/latest/youtube-dl -O /usr/local/bin/youtube-dl
sudo chmod a+rx /usr/local/bin/youtube-dl
I'm curious to know what the difference is between these installs but haven't been able to figure it out on my own.
doesn't support reddit video downloads(...)doesn't have the same issue
Reason which comes first to mind is that you installed different versions, this
sudo wget https://yt-dl.org/downloads/latest/youtube-dl -O /usr/local/bin/youtube-dl
sudo chmod a+rx /usr/local/bin/youtube-dl
does grab latest version from youtube-dl webpage, which is most probably where new version will appear first, whilst
brew install youtube-dl
does grab version which is present in brew repository, it depend on maintainer of youtube-dl for brew, which might update it less often.
Note that in case of youtube-dl it is possible to have version which once did worked correctly with certain content provider e.g. reddit video but it is not longer due to changes in that, say reddit video change way you have to access their material.

Error: yq#3 has been disabled because it is not maintained upstream! How to install a disabled brew Formulae?

I'm trying to install yq#3 on my Mac running brew install yq#3 and I get the error:
Error: yq#3 has been disabled because it is not maintained upstream!
I see that it's there on their website at https://formulae.brew.sh/formula/yq#3#default but it doesn't seem to be supported anymore.
I still need to install it since our projects at work are using this specific version.
The only way that I'm thinking about is downloading the source code, building it myself, and adding it to the path but I'm thinking that there might be a simpler solution.
Any suggestion?
Thanks!
From yq github, you can install a binary by running:
wget https://github.com/mikefarah/yq/releases/download/3.4.1/yq_darwin_amd64 -O /usr/local/bin/yq &&\
chmod +x /usr/local/bin/yq
3.4.1 is the latest 3 version, darwin_amd64 is the Mac package (don't worry about having an Intel machine and installing the package that says AMD, the name comes from something about AMD invented the 64-bit instruction set).

Where to get liber.h file/package for Lua?

I'm trying to install the lualdap via luarocks with sudo luarocks install lualdap, but I am greeted with
Installing https://luarocks.org/lualdap-1.2.4.rc1-0.src.rock
Error: Could not find header file for LBER
No file lber.h in /usr/local/include
You may have to install LBER in your system and/or pass LBER_DIR or LBER_INCDIR to the luarocks command.
Example: luarocks install lualdap LBER_DIR=/usr/local
Notes:
I am on Lua 5.3.
I've installed OpenSSL and HTTP.
I've tried the LBER_DIR=/usr/local parameter.
I've looked around for what rock file I need to download to get this lber.h file, but am not having any luck with it. How can I get this lber.h file?
lber.h is not a file specific to Lua, but part of a library that needs to be installed on your system in order for the lualdap rock to be compiled.
On Ubuntu-like systems, you can install it with:
sudo apt-get install libldap2-dev

No rule to make target libopencv_calib3d.so.3.2.0 but opencv 3.4.1 installed, when making ROS workspace

I have opencv 3.4.1 installed from source on my ubuntu. But when running command catkin_make -DCMAKE_BUILD_TYPE=Release I get error:
No rule to make target '/usr/lib/x86_64-linux-gnu/libopencv_calib3d.so.3.2.0', needed by '~/ros_ws/devel/lib/stereo_slam/image_handle_node'. Stop.
No rule to make target '/usr/lib/x86_64-linux-gnu/libopencv_calib3d.so.3.2.0', needed by '~/ros_ws/devel/lib/libmetrics_lib.so'. Stop.
I've already tried following this: openCV program compile error "libopencv_core.so.2.4: cannot open shared object file: No such file or directory" in ubuntu 12.04
[EDIT] I get the same error compiling using clion or catkin_make directly from terminal, but clion creates special packages for release and debug versions. I don't quite understand these packages but in files CMakeCache.txt i found folowing lines:
//Dependencies for the target
metrics_lib_LIB_DEPENDS:STATIC=general;/opt/ros/melodic/lib/libtf.so;general;/opt/ros/melodic/lib/libtf2_ros.so;general;/opt/ros/melodic/lib/libactionlib.so;general;/opt/ros/melodic/lib/libmessage_filters.so;general;/opt/ros/melodic/lib/libtf2.so;general;/opt/ros/melodic/lib/libcv_bridge.so;general;/opt/ros/melodic/lib/libimage_geometry.so;general;/usr/lib/x86_64-linux-gnu/libopencv_calib3d.so.3.2.0;general;/usr/lib/x86_64-linux-gnu/libopencv_core.so.3.2.0;general;/usr/lib/x86_64-linux-gnu/libopencv_features2d.so.3.2.0;general;/usr/lib/x86_64-linux-gnu/libopencv_flann.so.3.2.0;general;/usr/lib/x86_64-linux-gnu/libopencv_highgui.so.3.2.0;general;/usr/lib/x86_64-linux-gnu/libopencv_imgcodecs.so.3.2.0;general;/usr/lib/x86_64-linux-gnu/libopencv_imgproc.so.3.2.0;general;/usr/lib/x86_64-linux-gnu/libopencv_ml.so.3.2.0;general;/usr/lib/x86_64-linux-gnu/libopencv_objdetect.so.3.2.0;general;/usr/lib/x86_64-linux-gnu/libopencv_photo.so.3.2.0;general;/usr/lib/x86_64-linux-gnu/libopencv_shape.so.3.2.0;general;/usr/lib/x86_64-linux-gnu/libopencv_stitching.so.3.2.0;general;/usr/lib/x86_64-linux-gnu/libopencv_superres.so.3.2.0;general;/usr/lib/x86_64-linux-gnu/libopencv_video.so.3.2.0;general;/usr/lib/x86_64-linux-gnu/libopencv_videoio.so.3.2.0;general;/usr/lib/x86_64-linux-gnu/libopencv_videostab.so.3.2.0;general;/usr/lib/x86_64-linux-gnu/libopencv_viz.so.3.2.0;general;/usr/lib/x86_64-linux-gnu/libopencv_aruco.so.3.2.0;general;/usr/lib/x86_64-linux-gnu/libopencv_bgsegm.so.3.2.0;general;/usr/lib/x86_64-linux-gnu/libopencv_bioinspired.so.3.2.0;general;/usr/lib/x86_64-linux-gnu/libopencv_ccalib.so.3.2.0;general;/usr/lib/x86_64-linux-gnu/libopencv_datasets.so.3.2.0;general;/usr/lib/x86_64-linux-gnu/libopencv_dpm.so.3.2.0;general;/usr/lib/x86_64-linux-gnu/libopencv_face.so.3.2.0;general;/usr/lib/x86_64-linux-gnu/libopencv_freetype.so.3.2.0;general;/usr/lib/x86_64-linux-gnu/libopencv_fuzzy.so.3.2.0;general;/usr/lib/x86_64-linux-gnu/libopencv_hdf.so.3.2.0;general;/usr/lib/x86_64-linux-gnu/libopencv_line_descriptor.so.3.2.0;general;/usr/lib/x86_64-linux-gnu/libopencv_optflow.so.3.2.0;general;/usr/lib/x86_64-linux-gnu/libopencv_phase_unwrapping.so.3.2.0;general;/usr/lib/x86_64-linux-gnu/libopencv_plot.so.3.2.0;general;/usr/lib/x86_64-linux-gnu/libopencv_reg.so.3.2.0;general;/usr/lib/x86_64-linux-gnu/libopencv_rgbd.so.3.2.0;general;/usr/lib/x86_64-linux-gnu/libopencv_saliency.so.3.2.0;general;/usr/lib/x86_64-linux-gnu/libopencv_stereo.so.3.2.0;general;/usr/lib/x86_64-linux-gnu/libopencv_structured_light.so.3.2.0;general;/usr/lib/x86_64-linux-gnu/libopencv_surface_matching.so.3.2.0;general;/usr/lib/x86_64-linux-gnu/libopencv_text.so.3.2.0;general;/usr/lib/x86_64-linux-gnu/libopencv_ximgproc.so.3.2.0;general;/usr/lib/x86_64-linux-gnu/libopencv_xobjdetect.so.3.2.0;general;/usr/lib/x86_64-linux-gnu/libopencv_xphoto.so.3.2.0;general;/opt/ros/melodic/lib/libroscpp.so;general;/usr/lib/x86_64-linux-gnu/libboost_filesystem.so;general;/usr/lib/x86_64-linux-gnu/libboost_signals.so;general;/opt/ros/melodic/lib/librosconsole.so;general;/opt/ros/melodic/lib/librosconsole_log4cxx.so;general;/opt/ros/melodic/lib/librosconsole_backend_interface.so;general;/usr/lib/x86_64-linux-gnu/liblog4cxx.so;general;/usr/lib/x86_64-linux-gnu/libboost_regex.so;general;/opt/ros/melodic/lib/libxmlrpcpp.so;general;/opt/ros/melodic/lib/libroscpp_serialization.so;general;/opt/ros/melodic/lib/librostime.so;general;/opt/ros/melodic/lib/libcpp_common.so;general;/usr/lib/x86_64-linux-gnu/libboost_system.so;general;/usr/lib/x86_64-linux-gnu/libboost_thread.so;general;/usr/lib/x86_64-linux-gnu/libboost_chrono.so;general;/usr/lib/x86_64-linux-gnu/libboost_date_time.so;general;/usr/lib/x86_64-linux-gnu/libboost_atomic.so;general;/usr/lib/x86_64-linux-gnu/libpthread.so;general;/usr/lib/x86_64-linux-gnu/libconsole_bridge.so.0.4;general;prometheus-cpp::core;general;prometheus-cpp::pull;general;ceres;general;proto;
I don't understand what these metrics_lib_LIB_DEPENDS are, and from where do they come from.
I also used erroneously sudo find / -name "opencv" -exec rm -i {} \; to remove opencv and I had the same problem.
I solved with :
sudo apt remove libopencv-dev
sudo apt remove libopencv-core3.2
However not all the opencv lib will be unistalled with this, so you need to remove all the opencv lib installed with ros (in my case I needed to remove also opencv-data). You can find them with:
sudo apt list --installed | grep opencv
after that you can install again ros melodic (or whatever you are using) :
sudo apt install ros-melodic-desktop-full
Problem was that I uninstalled previous version of opencv via next command:
sudo find / -name "*opencv*" -exec rm -i {} \;
By doing this I also erased the contents of the ROS OpenCV library. Later even after reinstalling ROS, these libraries did not reinstall because the system thinks they are installed but nothing was in them. I had to apt-get each library individually.
Don't purge OpenCV...

ImageMagick - PECL issue - Cannot locate header file MagickWand.h

We are getting this error while installing ImageMagick PECL:
checking ImageMagick MagickWand API configuration program... found in
/usr/local/bin/MagickWand-config checking if ImageMagick version is at
least 6.2.4... found version 6.8.6 Q16 checking for MagickWand.h
header file... configure: error: Cannot locate header file
MagickWand.h ERROR: `/root/tmp/pear/imagick/configure --with-imagick'
failed extension imagick.so installed in /usr/local/lib/php.ini
/usr/local/bin/php does not have a php.ini Tidying
/usr/local/cpanel/3rdparty/php/53/etc/php.ini... No changes
Any idea how to fix this ?
This thread is old, but I solved this issue today on a Centos 7 by installing ImageMagick-devel package:
yum install ImageMagick-devel
Hope this helps.
Steps:
apt-get install libmagickwand-dev
/opt/lampp/bin/pecl install imagick
gedit /opt/lampp/etc/php.ini
add "extension=imagick.so" to php.ini
Probably its looking for the file MagickWand.h and unable to see that file in the defined location. Try these steps
wget http://pecl.php.net/get/imagick-3.1.0RC2.tgz
tar zxf imagick-3.1.0RC2.tgz
Edit the file imagick-3.1.0RC2/config.m4 line number 55.
Make changes like this, from
if test -r $WAND_DIR/include/ImageMagick/wand/MagickWand.h;
to
if test -r $WAND_DIR/include/ImageMagick-6/wand/MagickWand.h;
Note this difference made in the imagick version number. After that try the conventional installation procedures
cd imagick-3.1.0RC2
phpize
./configure
make
make install
Perhaps this http://thomas.bindzus.me/2013/08/11/building-pecl-imagick-for-php-5-5-1-on-centos-6-4/ can be of some help to others.
The solution described by Leo Prince almost worked for me, just had to set PKG_CONFIG_PATH, and perhaps that's just my server setup which isn't as perfect as it should be.
Here is what I did step-by-step (I'm running CentOS 6.4, Apache 2.4.6, and PHP 5.5.1):
wget http://pecl.php.net/get/imagick-3.1.0RC2.tgz
tar zxf imagick-3.1.0RC2.tgz
cd imagick-3.1.0RC
phpize
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
./configure –with-imagick
make
make install
echo extension=imagick.so > /etc/php.d/imagick.ini
service httpd restart
php -m | grep imagick
First run following commands
1. "WHM Home » Software » Rebuild RPM Database"
2. yum install ImageMagick ImageMagick-devel
3. yum install pcre-devel
Then go to
Go to WHM -> Software -> Module Installers -> PHP Pecl (manage). On the
box below “Install a PHP Pecl” enter “imagick” and click “Install Now”
button – that’s all. Restart Apache.
Above steps worked for me.

Resources