youtube-dl missing ffprobe and/or avprobe
auntieNeo opened this issue Β· 27 comments
When trying to download youtube videos with the --extract-audio option of youtube-dl, it gives the following error apparently while trying to encode the audio:
ERROR: ffprobe or avprobe not found. Please install one.
It is still able to extract the m4a audio with the -i "ignore errors" option. I'll look into fixing this once my final exams are over.
Run nix-env -i ffmpeg
to install ffprobe
into $PATH
, then the error will be gone.
Yes, here I think that making youtube-dl depend on ffmpeg (or libav) would be an overkill.
What's the point of packaging something only half? Either do the work completely, or don't do it at all (or keep it in some developer branch and don't let it loose in a stable release).
If it is desired to have optional dependencies, then that should be implemented. It's up to the user to decide whether or not he/she wants to make certain optimizations. If you start doing the configuration management already for the user (i.e., not giving any option for configuration management to the user), then the raison d'Γͺtre of NixOS is null.
Make it correct first, optimize later. What you are doing is the opposite.
Yes, we're doing what most distros do in this case: do not depend on that loosely coupled tool. IMHO most users will never need extract option. By "overkill" I meant that it can be done, but IMO there are much pressing problems. Feel free to implement is as an option if you feel this is important for you.
@aragnon: again, be less aggressive and more constructive, please.
@aragnon feel free to implement as configuration option for package
On Dec 6, 2014 11:17 PM, "VladimΓr ΔunΓ‘t" notifications@github.com wrote:
Yes, we're doing what most distros do in this case: do not depend on that
loosely coupled tool. IMHO most users will never need extract option. By
"overkill" I meant that it can be done, but IMO there are much pressing
problems. Feel free to implement is as an option if you feel this is
important for you.@aragnon https://github.com/aragnon: again, be less aggressive and more
constructive, please.β
Reply to this email directly or view it on GitHub
#5236 (comment).
Same issue here... Apart from
Run nix-env -i ffmpeg to install ffprobe into $PATH, then the error will be gone.
is there another possible solution for ?
@vcunat , BTW... i use youtube-dl because of the --extract-audio option
@JordiLA my solution:
environment.systemPackages = with pkgs; [
(youtubeDL.override { ffmpeg = ffmpeg-full; })
];
Please make ffmpeg
available at run-time either by installing it into your profile or by modifying the youtube-dl
expression to refer to it by a full path. Pull requests that improve upon the current solution are very welcome!
Quick Fix for all windows users:
- Download the ffmpeg package from http://ffmpeg.zeranoe.com/builds/, unzip it, copy ALL the contents of the Bin directory to the directory where youtube-dl.exe is located.
- Using DOS navigate to the directory where youtube-dl is located and run using the command:
youtube-dl --extract-audio --audio-format mp3
And voila.... works like a charm.
Overwriting nix store paths is a rather hacky thing to do. Does windows/cygwin have no notion of $PATH
?
I guess windows doesn't have that notion...
Regardless of how "hacky" the method is, its simple and straight forward and most importantly it WORKS.
Hope this helps someone who is facing the same issues with "FFprobe" as me.
Only when you have a disk corruption in the youtube-dl package, it won't be recognizable, and maybe some other consequences, as the nix store is designed not to be modified, but whatever... use at your own risk. EDIT: I meant this method, but it might hold for Windows as well ;-)
If you have any disk corruption in the youtube-dl package then your anyway off to a bad start, regardless of what method you use to get it to work...
It seems like you are looking for a debate where none is required. There is absolutely no risk to system integrity. Seeing as on WINDOWS both FFmpeg and Youtube-dl are stand-alone applications. They may depend on one another but thats about it, using this method will no way shape or form compromise your system or put any other part of it at risk.
It seems like you are looking for a debate where none is required.
You get me wrong. I do not want to argue. I just wanted to state why I don't like that workaround (and foreshadow some possible unforseen consequences), and I had finished that. BTW, if there's nothing as $PATH
, I don't get what nix-env
is good for, except perhaps to prevent GC of things you want to keep... (EDIT: I'm sorry, I'm really emotionally exhausted today. I shan't waste any more energy with this. I'm unsubscribing from the issue.)
Great, get your emotions straight i think that's the priority here...
We are here to share constructive tips to solve problems that users are facing.
I for my part am offering a solution. Now regardless of how primitive the method may seem it still gets the job done. In this case "nix-env" is useless and should not even be considered a source of debate.
As i said (@vcunat please note that "nix-env" is not ever mentioned):
Quick Fix for all windows users:
1.Download the ffmpeg package from http://ffmpeg.zeranoe.com/builds/, unzip it, copy ALL the contents of the Bin directory to the directory where youtube-dl.exe is located.
2.Using DOS navigate to the directory where youtube-dl is located and run using the command:
youtube-dl --extract-audio --audio-format mp3
And voila.... works like a charm.
apt-get install ffmpeg
solved this problem
for OS X
brew install ffmpeg
Hi, I've
E: Package 'ffmpeg' has no installation candidate
on Ubuntu 14.04 64bits.
It's strange I have youtube-dl installed, but youtube-dl --extract-audio --audio-format mp3
with youtube create me a big mp3 file which contains also video data.
sudo apt-get install -y libav-tools
worked but still same problem.
Thanks
Solution for Windows? I've added ffmpeg's bin directory to my path, doesn't appear to work on many videos. here is a sample non working video: https://www.youtube.com/watch?v=YYEQqnvFwqQ
Here is some code:
options = {
'format': 'bestaudio/best', # choice of quality
'extractaudio' : True, # only keep the audio
'audioformat' : "mp3", # convert to mp3
'outtmpl': 'C:\projects\LanguagePredictor\data\audio\english%(id)s.mp3', #name
'noplaylist' : True, # download single, not playlist
}
with youtube_dl.YoutubeDL(options) as ydl:
ydl.download(['https://www.youtube.com/watch?v=b-quxIvj87k'])
this was solved on fedora
using
sudo dnf -y install ffmpeg
This worked on Raspbian on Raspberry Pi:
sudo apt-get install -y libav-tools
should also work on Ubuntu
Consider adding this to the docs.
The fix of moving FFProbe in the same directory next to YoutubeDL.exe doesn't seem to work anymore with the new release of YoutubeDl.exe. Is there a new approach the user should follow to allow for download and extraction to MP3?
How about a prompt when the user selects --Extract-Audio
to allow the user to download a FFMpeg at that time?
@1RedOne did you also move FFmpeg and FFplay in the same directory?
You need to have all three files (FFProbe, FFMPEG, and FFPLAY) in the same directory as YoutubeDl.exe
http://www.hotstar.com/tv/koi-laut-ke-aaya-hai/13273
single file can be downloaded unable to download the full season with one script
how to download the full season with one script
Locking this, as most of the thread are random users coming here, having nothing to do with Nix/NixOS.