youtube-dl is a small command-line program to download videos
-from YouTube.com. It requires the Python
-interpreter, version 2.4 or later, and it's not platform specific.
-It should work in your Unix box, in Windows or in Mac OS X. The latest version
-is @PROGRAM_VERSION@. It's released to the public domain,
-which means you can modify it, redistribute it or use it however you like.
-
-
I'll try to keep it updated if YouTube.com changes the way you access
-their videos. After all, it's a simple and short program. However, I can't
-guarantee anything. If you detect it stops working, check for new versions
-and/or inform me about the problem, indicating the program version you
-are using. If the program stops working and I can't solve the problem but
-you have a solution, I'd like to know it. If that happens and you feel you
-can maintain the program yourself, tell me. My contact information is
-at freshmeat.net.
-
-
Thanks for all the feedback received so far. I'm glad people find my
-program useful.
-
-
Usage instructions
-
-
In Windows, once you have installed the Python interpreter, save the
-program with the .py extension and put it somewhere in the PATH.
-Try to follow the
-guide to
-install youtube-dl under Windows XP.
-
-
In Unix, download it, give it execution permission and copy it to one
-of the PATH directories (typically, /usr/local/bin).
-
-
After that, you should be able to call it from the command line as
-youtube-dl or youtube-dl.py. I will use youtube-dl
-in the following examples. Usage instructions are easy. Use youtube-dl
-followed by a video URL or identifier. Example: youtube-dl
-"http://www.youtube.com/watch?v=foobar". The video will be saved
-to the file foobar.flv in that example. As YouTube.com
-videos are in Flash Video format, their extension should be flv.
-In Linux and other unices, video players using a recent version of
-ffmpeg can play them. That includes MPlayer, VLC, etc. Those two
-work under Windows and other platforms, but you could also get a
-specific FLV player of your taste.
-
-
If you try to run the program and you receive an error message containing the
-keyword SyntaxError near the end, it means your Python interpreter
-is too old.
-
-
More usage tips
-
-
-
-
You can change the file name of the video using the -o option, like in
-youtube-dl -o vid.flv "http://www.youtube.com/watch?v=foobar".
-Read the Output template section for more details on
-this.
-
-
Some videos require an account to be downloaded, mostly because they're
-flagged as mature content. You can pass the program a username and password
-for a YouTube.com account with the -u and -p options, like youtube-dl
--u myusername -p mypassword "http://www.youtube.com/watch?v=foobar".
-
-
The account data can also be read from the user .netrc file by indicating
-the -n or --netrc option. The machine name is youtube in that
-case.
-
-
The simulate mode (activated with -s or --simulate) can be used
-to just get the real video URL and use it with a download manager if you
-prefer that option.
-
-
The quiet mode (activated with -q or --quiet) can be used to
-supress all output messages. This allows, in systems featuring /dev/stdout
-and other similar special files, outputting the video data to standard output
-in order to pipe it to another program without interferences.
-
-
The program can be told to simply print the final video URL to standard
-output using the -g or --get-url option.
-
-
In a similar line, the -e or --get-title option tells the program to print
-the video title.
-
-
The default filename is video_id.flv. But you can also use the
-video title in the filename with the -t or --title option, or preserve the
-literal title in the filename with the -l or --literal option.
-
-
You can make the program append &fmt=something to the URL
-by using the -f or --format option. This makes it possible to download high
-quality versions of the videos when available.
-
-
The -b or --best-quality option is an alias for -f 18.
-
-
The -m or --mobile-version option is an alias for -f 17.
-
-
Normally, the program will stop on the first error, but you can tell it
-to attempt to download every video with the -i or --ignore-errors option.
-
-
The -a or --batch-file option lets you specify a file to read URLs from.
-The file must contain one URL per line.
-
-
The program can be told not to overwrite existing files using the -w or
---no-overwrites option.
-
-
For YouTube, you can also use the URL of a playlist, and it will download
-all the videos in that playlist.
-
-
For YouTube, you can also use the special word ytsearch to
-download search results. With ytsearch it will download the
-first search result. With ytsearchN, where N is a number, it
-will download the first N results. With ytsearchall it will
-download every result for that search. In most systems you'll need to
-use quotes for multiple words. Example: youtube-dl "ytsearch3:cute
-kittens".
-
-
youtube-dl honors the http_proxy environment variable
-if you want to use a proxy. Set it to something like
-http://proxy.example.com:8080, and do not leave the http://
-prefix out.
-
-
You can get the program version by calling it as youtube-dl
--v or youtube-dl --version.
-
-
For usage instructions, use youtube-dl -h or youtube-dl
---help.
-
-
You can cancel the program at any time pressing Ctrl+C. It may print
-some error lines saying something about KeyboardInterrupt.
-That's ok.
-
-
-
-
Download it
-
-
Note that if you directly click on these hyperlinks, your web browser will
-most likely display the program contents. It's usually better to
-right-click on it and choose the appropriate option, normally called Save
-Target As or Save Link As, depending on the web browser you
-are using.
The -o option allows users to indicate a template for the output file names.
-The basic usage is not to set any template arguments when downloading a single
-file, like in youtube-dl -o funny_video.flv 'http://some/video'.
-However, it may contain special sequences that will be replaced when
-downloading each video. The special sequences have the format
-%(NAME)s. To clarify, that's a percent symbol followed by a
-name in parenthesis, followed by a lowercase S. Allowed names are:
-
-
-
id: The sequence will be replaced by the video identifier.
-
url: The sequence will be replaced by the video URL.
-
uploader: The sequence will be replaced by the nickname of the
-person who uploaded the video.
-
title: The sequence will be replaced by the literal video
-title.
-
stitle: The sequence will be replaced by a simplified video
-title, restricted to alphanumeric characters and dashes.
-
ext: The sequence will be replaced by the appropriate
-extension (like flv or mp4).
-
-
-
As you may have guessed, the default template is %(id)s.%(ext)s.
-When some command line options are used, it's replaced by other templates like
-%(title)s-%(id)s.%(ext)s. You can specify your own.
-
-
Authors
-
-
-
Ricardo Garcia Gonzalez: program core, YouTube.com InfoExtractor,
-metacafe.com InfoExtractor and YouTube playlist InfoExtractor.
-
Danny Colligan: YouTube search InfoExtractor, ideas and patches.
-
Many other people contributing patches, code, ideas and kind messages. Too
-many to be listed here. You know who you are. Thank you very much.