176

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.

Sajad Torkamani
  • 544
  • 1
  • 7
  • 18
Anass
  • 2,101
  • 2
  • 15
  • 20
  • how i verify if ffprobe installed in centos ? and if not how i can make install ? – Anass Jun 11 '15 at 02:33
  • 1
    That's a rather different question, and one that is probably better asked on either [Unix.SE] or [SU], since I'm pretty sure ffprobe is not a programmer-exclusive tool. – Nathan Tuggy Jun 11 '15 at 02:35
  • 1
    Maybe ask the authors of youtube-dl or post on their GitHub project page? – JAL Jun 11 '15 at 13:14

15 Answers15

222

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

BullyWiiPlaza
  • 17,329
  • 10
  • 113
  • 185
eGhoul
  • 2,490
  • 1
  • 13
  • 17
  • 5
    On MacOS you should use ```brew upgrade youtube-dl``` to make sure you have latest version of youtube-dl – Hylle Apr 01 '21 at 02:58
  • 7
    On windows its choco install ffmpeg – Enrico Apr 29 '21 at 21:42
  • 1
    I thought brew take care of dependencies itself. So why is ffmpeg not installed in the first place? – jxhyc Jul 30 '22 at 11:29
  • @jxhyc probably because ffmpeg isn't needed for youtube-dl basic use cases. For example, only if you use the -x option to convert the video to audio, but not just to download the video with no -x flag. – dev4life Apr 21 '23 at 11:20
  • `brew reinstall ffmpeg` works for me – mefengl Aug 16 '23 at 15:26
100

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

applecrusher
  • 5,508
  • 5
  • 39
  • 89
85

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.

Kurtoid
  • 217
  • 5
  • 15
Federico Alvarez
  • 1,459
  • 1
  • 19
  • 30
  • 6
    Thanks. This helped me. A small correction to this. You should copy the contents of the bin folder to where youtube-dl.exe is. – Pubudu Oct 08 '16 at 23:41
  • 6
    I had success by just copying the extracted contents of LIBAV to the Program Files folder and added the path to "C:\Program Files\libav-11.3-win64\win64\usr\bin" as an environment variable to the System Path group. – Sn3akyP3t3 Sep 01 '18 at 22:41
  • 1
    This is what Windows users need to do. I went for the FFMPEG instructions, but the link is no longer working, so I [used this](https://www.gyan.dev/ffmpeg/builds/) instead. – wafflecat May 12 '21 at 04:10
  • 1
    both URLs are dead – Felix Jassler Jan 22 '23 at 22:08
  • @FelixJassler did you try Google for new links??? The answer is 7 years old... – Federico Alvarez Jan 23 '23 at 13:43
  • 1
    @FedericoAlvarez I wanted to edit your answer with updated links, but SO doesn't let me :/ – Felix Jassler Jan 27 '23 at 11:33
  • 3
    Googling as @FelixJassler suggested yields https://ffmpeg.org/download.html . For windows https://www.gyan.dev/ffmpeg/builds/ffmpeg-release-essentials.zip worked for me. Just moved files under `bin` directory --namely `ffmpeg.exe`, `ffplay.exe`, `ffprobe.exe`-- into `~/.bin` after creating the directory and adding to PATH of course. – cbugk Feb 06 '23 at 17:48
  • 1
    I had the files of ffmpeg in a subfolder of the the one containing the youtube-dl.exe in windows. Moving the files from ffmpeg folder directly into the folder where youtube-dl.exe is, solved the problem for me (since there is no config, that would tell the .exe where to find the path to ffmpeg) – somedotnetguy Jun 27 '23 at 20:08
64

On Windows, you can easily install ffmpeg via chocolatey

choco install ffmpeg

Alamakanambra
  • 5,845
  • 3
  • 36
  • 43
36

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.
dot.Py
  • 5,007
  • 5
  • 31
  • 52
Yesh
  • 976
  • 12
  • 15
33

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
Xorifelse
  • 7,878
  • 1
  • 27
  • 38
Antonio
  • 2,848
  • 2
  • 15
  • 15
23

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.

Stephen Kennedy
  • 20,585
  • 22
  • 95
  • 108
tngn
  • 361
  • 2
  • 5
  • 7
    That will install `avprobe` from the Libav fork. `brew install ffmpeg` should install `ffprobe` from FFmpeg. I guess either will work with `youtube-dl`, but FFmpeg is much more active organization than Libav. – llogan Mar 05 '18 at 21:37
6

You can install them by

sudo apt-get install -y libav-tools
Ganesh Krishnan
  • 7,155
  • 2
  • 44
  • 52
  • 1
    If you're referring to Ubuntu, then as of 15.10 libav-tools is a virtual/transitional package and points to ffmpeg package, so there is no need to use it instead of ffmpeg. – llogan Jun 21 '16 at 00:34
6
  • 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)

Surya Raj
  • 61
  • 1
  • 4
2

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

  • I downloaded 64 bit version and my dinosaur PC couldn't handle it, hence after downloading 32 bit version, worked as a charm. – hipokito Jan 16 '21 at 17:09
  • Well if you have a 32-bit (or x86) operating system, then it naturally it can't handle 64 bit software. It has nothing to do with it being a dinosaur, it's a compatibility issue. – Szesan May 02 '21 at 00:50
0

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.

user2314737
  • 27,088
  • 20
  • 102
  • 114
0

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.

korchix
  • 1,445
  • 1
  • 19
  • 22
0

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',
            } 
codevalid
  • 191
  • 1
  • 3
  • 8
-1
  1. 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

  2. use this to download the playlist as an MP3 file

    youtube-dl --extract-audio --audio-format mp3 #url_to_playlist

Jogendra Kumar
  • 894
  • 11
  • 16
Mbugua
  • 17
  • 2
-1

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.

Reez0
  • 2,512
  • 2
  • 17
  • 39