|
|
@ -1,229 +0,0 @@ |
|
|
|
<!DOCTYPE html |
|
|
|
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" |
|
|
|
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> |
|
|
|
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> |
|
|
|
<head> |
|
|
|
<meta http-equiv="Content-type" content="text/html; charset=UTF-8" /> |
|
|
|
<title>youtube-dl: Download videos from YouTube.com</title> |
|
|
|
<style type="text/css"><!-- |
|
|
|
body { |
|
|
|
font-family: sans-serif; |
|
|
|
font-size: small; |
|
|
|
} |
|
|
|
h1 { |
|
|
|
text-align: center; |
|
|
|
text-decoration: underline; |
|
|
|
color: #006699; |
|
|
|
} |
|
|
|
h2 { |
|
|
|
color: #006699; |
|
|
|
} |
|
|
|
p { |
|
|
|
text-align: justify; |
|
|
|
margin-left: 5%; |
|
|
|
margin-right: 5%; |
|
|
|
} |
|
|
|
ul { |
|
|
|
margin-left: 5%; |
|
|
|
margin-right: 5%; |
|
|
|
list-style-type: square; |
|
|
|
} |
|
|
|
li { |
|
|
|
margin-bottom: 0.5ex; |
|
|
|
} |
|
|
|
.smallnote { |
|
|
|
font-size: x-small; |
|
|
|
text-align: center; |
|
|
|
} |
|
|
|
--></style> |
|
|
|
</head> |
|
|
|
<body> |
|
|
|
<h1>youtube-dl: Download videos from YouTube.com</h1> |
|
|
|
|
|
|
|
<p class="smallnote">(and more...)</p> |
|
|
|
|
|
|
|
<h2>What is it?</h2> |
|
|
|
|
|
|
|
<p><em>youtube-dl</em> is a small command-line program to download videos |
|
|
|
from YouTube.com. It requires the <a href="http://www.python.org/">Python |
|
|
|
interpreter</a>, 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 <strong>@PROGRAM_VERSION@</strong>. It's released to the public domain, |
|
|
|
which means you can modify it, redistribute it or use it however you like.</p> |
|
|
|
|
|
|
|
<p>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 <a href="http://freshmeat.net/~rg3/">freshmeat.net</a>.</p> |
|
|
|
|
|
|
|
<p>Thanks for all the feedback received so far. I'm glad people find my |
|
|
|
program useful.</p> |
|
|
|
|
|
|
|
<h2>Usage instructions</h2> |
|
|
|
|
|
|
|
<p>In Windows, once you have installed the Python interpreter, save the |
|
|
|
program with the <em>.py</em> extension and put it somewhere in the PATH. |
|
|
|
Try to follow the |
|
|
|
<a href="http://rg03.wordpress.com/youtube-dl-under-windows-xp/">guide to |
|
|
|
install youtube-dl under Windows XP</a>.</p> |
|
|
|
|
|
|
|
<p>In Unix, download it, give it execution permission and copy it to one |
|
|
|
of the PATH directories (typically, <em>/usr/local/bin</em>).</p> |
|
|
|
|
|
|
|
<p>After that, you should be able to call it from the command line as |
|
|
|
<em>youtube-dl</em> or <em>youtube-dl.py</em>. I will use <em>youtube-dl</em> |
|
|
|
in the following examples. Usage instructions are easy. Use <em>youtube-dl</em> |
|
|
|
followed by a video URL or identifier. Example: <em>youtube-dl |
|
|
|
"http://www.youtube.com/watch?v=foobar"</em>. The video will be saved |
|
|
|
to the file <em>foobar.flv</em> in that example. As YouTube.com |
|
|
|
videos are in Flash Video format, their extension should be <em>flv</em>. |
|
|
|
In Linux and other unices, video players using a recent version of |
|
|
|
<em>ffmpeg</em> 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.</p> |
|
|
|
|
|
|
|
<p>If you try to run the program and you receive an error message containing the |
|
|
|
keyword <em>SyntaxError</em> near the end, it means your Python interpreter |
|
|
|
is too old.</p> |
|
|
|
|
|
|
|
<h2>More usage tips</h2> |
|
|
|
|
|
|
|
<ul> |
|
|
|
|
|
|
|
<li>You can change the file name of the video using the -o option, like in |
|
|
|
<em>youtube-dl -o vid.flv "http://www.youtube.com/watch?v=foobar"</em>. |
|
|
|
Read the <a href="#otpl">Output template</a> section for more details on |
|
|
|
this.</li> |
|
|
|
|
|
|
|
<li>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 <em>youtube-dl |
|
|
|
-u myusername -p mypassword "http://www.youtube.com/watch?v=foobar"</em>.</li> |
|
|
|
|
|
|
|
<li>The account data can also be read from the user .netrc file by indicating |
|
|
|
the -n or --netrc option. The machine name is <em>youtube</em> in that |
|
|
|
case.</li> |
|
|
|
|
|
|
|
<li>The <em>simulate mode</em> (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.</li> |
|
|
|
|
|
|
|
<li>The <em>quiet mode</em> (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.</li> |
|
|
|
|
|
|
|
<li>The program can be told to simply print the final video URL to standard |
|
|
|
output using the -g or --get-url option.</li> |
|
|
|
|
|
|
|
<li>In a similar line, the -e or --get-title option tells the program to print |
|
|
|
the video title.</li> |
|
|
|
|
|
|
|
<li>The default filename is <em>video_id.flv</em>. 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.</li> |
|
|
|
|
|
|
|
<li>You can make the program append <em>&fmt=something</em> to the URL |
|
|
|
by using the -f or --format option. This makes it possible to download high |
|
|
|
quality versions of the videos when available.</li> |
|
|
|
|
|
|
|
<li>The -b or --best-quality option is an alias for -f 18.</li> |
|
|
|
|
|
|
|
<li>The -m or --mobile-version option is an alias for -f 17.</li> |
|
|
|
|
|
|
|
<li>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.</li> |
|
|
|
|
|
|
|
<li>The -a or --batch-file option lets you specify a file to read URLs from. |
|
|
|
The file must contain one URL per line.</li> |
|
|
|
|
|
|
|
<li>The program can be told not to overwrite existing files using the -w or |
|
|
|
--no-overwrites option.</li> |
|
|
|
|
|
|
|
<li>For YouTube, you can also use the URL of a playlist, and it will download |
|
|
|
all the videos in that playlist.</li> |
|
|
|
|
|
|
|
<li>For YouTube, you can also use the special word <em>ytsearch</em> to |
|
|
|
download search results. With <em>ytsearch</em> it will download the |
|
|
|
first search result. With <em>ytsearchN</em>, where N is a number, it |
|
|
|
will download the first N results. With <em>ytsearchall</em> it will |
|
|
|
download every result for that search. In most systems you'll need to |
|
|
|
use quotes for multiple words. Example: <em>youtube-dl "ytsearch3:cute |
|
|
|
kittens"</em>. |
|
|
|
|
|
|
|
<li><em>youtube-dl</em> honors the <em>http_proxy</em> environment variable |
|
|
|
if you want to use a proxy. Set it to something like |
|
|
|
<em>http://proxy.example.com:8080</em>, and do not leave the <em>http://</em> |
|
|
|
prefix out.</li> |
|
|
|
|
|
|
|
<li>You can get the program version by calling it as <em>youtube-dl |
|
|
|
-v</em> or <em>youtube-dl --version</em>.</li> |
|
|
|
|
|
|
|
<li>For usage instructions, use <em>youtube-dl -h</em> or <em>youtube-dl |
|
|
|
--help.</em></li> |
|
|
|
|
|
|
|
<li>You can cancel the program at any time pressing Ctrl+C. It may print |
|
|
|
some error lines saying something about <em>KeyboardInterrupt</em>. |
|
|
|
That's ok.</li> |
|
|
|
|
|
|
|
</ul> |
|
|
|
|
|
|
|
<h2>Download it</h2> |
|
|
|
|
|
|
|
<p>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 <em>Save |
|
|
|
Target As</em> or <em>Save Link As</em>, depending on the web browser you |
|
|
|
are using.</p> |
|
|
|
|
|
|
|
<p><a href="youtube-dl">@PROGRAM_VERSION@</a></p> |
|
|
|
<ul> |
|
|
|
<li><strong>MD5</strong>: @PROGRAM_MD5SUM@</li> |
|
|
|
<li><strong>SHA1</strong>: @PROGRAM_SHA1SUM@</li> |
|
|
|
<li><strong>SHA256</strong>: @PROGRAM_SHA256SUM@</li> |
|
|
|
</ul> |
|
|
|
|
|
|
|
<h2 id="otpl">Output template</h2> |
|
|
|
|
|
|
|
<p>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 <em>youtube-dl -o funny_video.flv 'http://some/video'</em>. |
|
|
|
However, it may contain special sequences that will be replaced when |
|
|
|
downloading each video. The special sequences have the format |
|
|
|
<strong>%(NAME)s</strong>. To clarify, that's a percent symbol followed by a |
|
|
|
name in parenthesis, followed by a lowercase S. Allowed names are:</p> |
|
|
|
|
|
|
|
<ul> |
|
|
|
<li><em>id</em>: The sequence will be replaced by the video identifier.</li> |
|
|
|
<li><em>url</em>: The sequence will be replaced by the video URL.</li> |
|
|
|
<li><em>uploader</em>: The sequence will be replaced by the nickname of the |
|
|
|
person who uploaded the video.</li> |
|
|
|
<li><em>title</em>: The sequence will be replaced by the literal video |
|
|
|
title.</li> |
|
|
|
<li><em>stitle</em>: The sequence will be replaced by a simplified video |
|
|
|
title, restricted to alphanumeric characters and dashes.</li> |
|
|
|
<li><em>ext</em>: The sequence will be replaced by the appropriate |
|
|
|
extension (like <em>flv</em> or <em>mp4</em>).</li> |
|
|
|
</ul> |
|
|
|
|
|
|
|
<p>As you may have guessed, the default template is <em>%(id)s.%(ext)s</em>. |
|
|
|
When some command line options are used, it's replaced by other templates like |
|
|
|
<em>%(title)s-%(id)s.%(ext)s</em>. You can specify your own.</p> |
|
|
|
|
|
|
|
<h2>Authors</h2> |
|
|
|
|
|
|
|
<ul> |
|
|
|
<li>Ricardo Garcia Gonzalez: program core, YouTube.com InfoExtractor, |
|
|
|
metacafe.com InfoExtractor and YouTube playlist InfoExtractor.</li> |
|
|
|
<li>Danny Colligan: YouTube search InfoExtractor, ideas and patches.</li> |
|
|
|
<li>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.</li> |
|
|
|
</ul> |
|
|
|
|
|
|
|
<p class="smallnote">Copyright © 2006-2007 Ricardo Garcia Gonzalez</p> |
|
|
|
</body> |
|
|
|
</html> |