<li><a href="/plans/"><b>Plans & Signup</b></a></li>
<li><a href="/plans"><b>Plans & Signup</b></a></li>
<li><a href="/repo/all/">Repositories</a></li>
<li><a href="/repo/all">Repositories</a></li>
<li><a href="/news/">News</a></li>
<li><a href="/news">News</a></li>
<li><a href="/help/">Help</a></li>
<li><a href="/help">Help</a></li>
<li><a href="/account/signin/">Login</a></li>
<li><a href="/account/signin/">Login</a></li>
</ul>
</ul>
</div>
</div>
@ -112,12 +129,14 @@
<script type="text/javascript" src="http://bitbucket.org/m/js/lib/jquery.cookie.js"></script> <!--REMOVE WHEN NEWER BUNDLE THAN 030309Mar -->
<script type="text/javascript" src="http://bitbucket-assets.s3.amazonaws.com/js/lib/jquery.cookie.js"></script> <!--REMOVE WHEN NEWER BUNDLE THAN 030309Mar -->
<p class="repo-desc-description">youtube-dl is a small command-line program for downloading videos from <a href="http://YouTube.com" rel="nofollow">YouTube.com</a>.</p>
<p class="repo-desc-description">youtube-dl is a small command-line program for downloading videos from <a href="http://YouTube.com" rel="nofollow">YouTube.com</a>.</p>
<h1 id="youtube-dl-download-videos-from-youtubecom">youtube-dl: Download videos from YouTube.com</h1>
<h1 id="youtube-dl-download-videos-from-youtubecom">youtube-dl: Download videos from YouTube.com</h1>
<p>(and more...)</p>
<p>(and more...)</p>
<h2 id="what-is-it">What is it?</h2>
<h2 id="what-is-it">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.x (x being at least 4), 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>2009.09.13</strong>. It's released to the public domain, which means you can modify it, redistribute it or use it however you like.</p>
<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.x (x being at least 4), 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>2010.04.04</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://rg03.wordpress.com/contact-me/">rg03.wordpress.com</a>.</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://rg03.wordpress.com/contact-me/">rg03.wordpress.com</a>.</p>
<p>Thanks for all the feedback received so far. I'm glad people find my program useful.</p>
<p>Thanks for all the feedback received so far. I'm glad people find my program useful.</p>
<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>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>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 "<code>http://some/video</code>"</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>
<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 "<code>http://some/video</code>"</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>
@ -459,14 +491,16 @@
</li><li><em>stitle</em>: The sequence will be replaced by a simplified video title, restricted to alphanumeric characters and dashes.
</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><li><em>ext</em>: The sequence will be replaced by the appropriate extension (like <em>flv</em> or <em>mp4</em>).
</li><li><em>epoch</em>: The sequence will be replaced by the Unix epoch when creating the file.
</li><li><em>epoch</em>: The sequence will be replaced by the Unix epoch when creating the file.
</li><li><em>ord</em>: The sequence will be replaced by a five-digit number that will be increased with each download, starting at zero.
</li></ul>
</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>
<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 id="authors">Authors</h2>
<h2 id="authors">Authors</h2>
<ul><li>Ricardo Garcia Gonzalez: program core, YouTube.com InfoExtractor, metacafe.com InfoExtractor and YouTube playlist InfoExtractor.
<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>Danny Colligan: YouTube search InfoExtractor, ideas and patches.
</li><li>Benjamin Johnson: Google Video InfoExtractor, Photobucket InfoExtractor, Yahoo! Video InfoExtractor, generic InfoExtractor, ideas, patches, etc.
</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><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.
<pclass="repo-desc-description">youtube-dl is a small command-line program for downloading videos from <ahref="http://YouTube.com"rel="nofollow">YouTube.com</a>.</p>
<divid="repo-desc-cloneinfo">Clone this repository (size: 199.5 KB): <ahref="http://bitbucket.org/rg3/youtube-dl/"onclick="$('#clone-url-ssh').hide();$('#clone-url-https').toggle();return(false);"><small>HTTPS</small></a> / <ahref="ssh://hg@bitbucket.org/rg3/youtube-dl/"onclick="$('#clone-url-https').hide();$('#clone-url-ssh').toggle();return(false);"><small>SSH</small></a><br/>
<h1id="youtube-dl-download-videos-from-youtubecom">youtube-dl: Download videos from YouTube.com</h1>
<p>(and more...)</p>
<h2id="what-is-it">What is it?</h2>
<p><em>youtube-dl</em> is a small command-line program to download videos from YouTube.com. It requires the <ahref="http://www.python.org/">Python interpreter</a>, version 2.x (x being at least 4), 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>2009.09.13</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 <ahref="http://rg03.wordpress.com/contact-me/">rg03.wordpress.com</a>.</p>
<p>Thanks for all the feedback received so far. I'm glad people find my program useful.</p>
<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 <ahref="/rg3/youtube-dl/wiki/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 "<code>http://www.youtube.com/watch?v=foobar</code>"</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>
<h2id="more-usage-tips">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 "<code>http://www.youtube.com/watch?v=foobar</code>"</em>. Read the Output template 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 "<code>http://www.youtube.com/watch?v=foobar</code>"</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 youtube in that case.
</li><li>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.
</li><li>The quiet mode (activated with -q or --quiet) can be used to supress all output messages. This allows, in systems featuring <em>/dev/stdout</em> 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 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.
</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 can be used to download the highest available quality version of any given video.
</li><li>The -m or --mobile-version option is an alias for -f 17.
</li><li>The -d or --high-def option is an alias for -f 22.
</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>It can be told to attempt to continue interrupted downloads with the -c or --continue 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 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: <em>youtube-dl "ytsearch3:cute kittens"</em>.
</li><li><em>youtube-dl</em> honors the http_proxy environment variable if you want to use a proxy. Set it to something like <em><code>http://proxy.example.com:8080</code></em>, and do not leave the <em><code>http://</code></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>
<h2id="download-it">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>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 "<code>http://some/video</code>"</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><li><em>epoch</em>: The sequence will be replaced by the Unix epoch when creating the file.
</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>
<h2id="authors">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.