youtube-dl /

Full commit
<!DOCTYPE html 
     PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
<html xmlns="" xml:lang="en" lang="en">
	<meta http-equiv="Content-type" content="text/html; charset=UTF-8" />
	<title>youtube-dl: Download videos from</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;
<h1>youtube-dl: Download videos from</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 It requires the <a href="">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 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=""></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="">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></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
""</em>. The video will be saved
to the file <em>foobar.flv</em> in that example. As
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>


<li>You can change the file name of the video using the -o option, like in
<em>youtube-dl -o vid.flv ""</em>.
Read the <em>Output template</em> 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 account with the -u and -p options, like <em>youtube-dl
-u myusername -p mypassword ""</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

<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>&amp;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><em>youtube-dl</em> can attempt to download the best quality version of
a video by using the -b or --best-quality option.</li>

<li><em>youtube-dl</em> can attempt to download the mobile quality version of
a video by using the -m or --mobile-version option.</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><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></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

<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>


<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>
        <li><strong>MD5</strong>: @PROGRAM_MD5SUM@</li>
        <li><strong>SHA1</strong>: @PROGRAM_SHA1SUM@</li>
        <li><strong>SHA256</strong>: @PROGRAM_SHA256SUM@</li>

<h2>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>

<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
<li><em>stitle</em>: The sequence will be replaced by a simplified video
<li><em>ext</em>: The sequence will be replaced by the appropriate

<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>


<li>Ricardo Garcia Gonzalez: program core, InfoExtractor, InfoExtractor and YouTube playlist InfoExtractor.</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>

<p class="smallnote">Copyright &copy; 2006-2007 Ricardo Garcia Gonzalez</p>