]>
Commit | Line | Data |
---|---|---|
1 | % YOUTUBE-DL(1) | |
2 | ||
3 | # NAME | |
4 | youtube-dl | |
5 | ||
6 | # SYNOPSIS | |
7 | **youtube-dl** [OPTIONS] URL [URL...] | |
8 | ||
9 | # DESCRIPTION | |
10 | **youtube-dl** is a small command-line program to download videos from | |
11 | YouTube.com and a few more sites. It requires the Python interpreter, version | |
12 | 2.6, 2.7, or 3.3+, and it is not platform specific. It should work on | |
13 | your Unix box, on Windows or on Mac OS X. It is released to the public domain, | |
14 | which means you can modify it, redistribute it or use it however you like. | |
15 | ||
16 | # OPTIONS | |
17 | -h, --help print this help text and exit | |
18 | --version print program version and exit | |
19 | -U, --update update this program to latest version | |
20 | -i, --ignore-errors continue on download errors | |
21 | -r, --rate-limit LIMIT download rate limit (e.g. 50k or 44.6m) | |
22 | -R, --retries RETRIES number of retries (default is 10) | |
23 | --buffer-size SIZE size of download buffer (e.g. 1024 or 16k) (default | |
24 | is 1024) | |
25 | --no-resize-buffer do not automatically adjust the buffer size. By | |
26 | default, the buffer size is automatically resized | |
27 | from an initial value of SIZE. | |
28 | --dump-user-agent display the current browser identification | |
29 | --user-agent UA specify a custom user agent | |
30 | --list-extractors List all supported extractors and the URLs they | |
31 | would handle | |
32 | ||
33 | ## Video Selection: | |
34 | --playlist-start NUMBER playlist video to start at (default is 1) | |
35 | --playlist-end NUMBER playlist video to end at (default is last) | |
36 | --match-title REGEX download only matching titles (regex or caseless | |
37 | sub-string) | |
38 | --reject-title REGEX skip download for matching titles (regex or | |
39 | caseless sub-string) | |
40 | --max-downloads NUMBER Abort after downloading NUMBER files | |
41 | ||
42 | ## Filesystem Options: | |
43 | -t, --title use title in file name | |
44 | --id use video ID in file name | |
45 | -l, --literal [deprecated] alias of --title | |
46 | -A, --auto-number number downloaded files starting from 00000 | |
47 | -o, --output TEMPLATE output filename template. Use %(title)s to get the | |
48 | title, %(uploader)s for the uploader name, | |
49 | %(uploader_id)s for the uploader nickname if | |
50 | different, %(autonumber)s to get an automatically | |
51 | incremented number, %(ext)s for the filename | |
52 | extension, %(upload_date)s for the upload date | |
53 | (YYYYMMDD), %(extractor)s for the provider | |
54 | (youtube, metacafe, etc), %(id)s for the video id | |
55 | and %% for a literal percent. Use - to output to | |
56 | stdout. Can also be used to download to a different | |
57 | directory, for example with -o '/my/downloads/%(upl | |
58 | oader)s/%(title)s-%(id)s.%(ext)s' . | |
59 | --restrict-filenames Restrict filenames to only ASCII characters, and | |
60 | avoid "&" and spaces in filenames | |
61 | -a, --batch-file FILE file containing URLs to download ('-' for stdin) | |
62 | -w, --no-overwrites do not overwrite files | |
63 | -c, --continue resume partially downloaded files | |
64 | --no-continue do not resume partially downloaded files (restart | |
65 | from beginning) | |
66 | --cookies FILE file to read cookies from and dump cookie jar in | |
67 | --no-part do not use .part files | |
68 | --no-mtime do not use the Last-modified header to set the file | |
69 | modification time | |
70 | --write-description write video description to a .description file | |
71 | --write-info-json write video metadata to a .info.json file | |
72 | ||
73 | ## Verbosity / Simulation Options: | |
74 | -q, --quiet activates quiet mode | |
75 | -s, --simulate do not download the video and do not write anything | |
76 | to disk | |
77 | --skip-download do not download the video | |
78 | -g, --get-url simulate, quiet but print URL | |
79 | -e, --get-title simulate, quiet but print title | |
80 | --get-thumbnail simulate, quiet but print thumbnail URL | |
81 | --get-description simulate, quiet but print video description | |
82 | --get-filename simulate, quiet but print output filename | |
83 | --get-format simulate, quiet but print output format | |
84 | --no-progress do not print progress bar | |
85 | --console-title display progress in console titlebar | |
86 | -v, --verbose print various debugging information | |
87 | ||
88 | ## Video Format Options: | |
89 | -f, --format FORMAT video format code | |
90 | --all-formats download all available video formats | |
91 | --prefer-free-formats prefer free video formats unless a specific one is | |
92 | requested | |
93 | --max-quality FORMAT highest quality format to download | |
94 | -F, --list-formats list all available formats (currently youtube only) | |
95 | --write-srt write video closed captions to a .srt file | |
96 | (currently youtube only) | |
97 | --srt-lang LANG language of the closed captions to download | |
98 | (optional) use IETF language tags like 'en' | |
99 | ||
100 | ## Authentication Options: | |
101 | -u, --username USERNAME account username | |
102 | -p, --password PASSWORD account password | |
103 | -n, --netrc use .netrc authentication data | |
104 | ||
105 | ## Post-processing Options: | |
106 | -x, --extract-audio convert video files to audio-only files (requires | |
107 | ffmpeg or avconv and ffprobe or avprobe) | |
108 | --audio-format FORMAT "best", "aac", "vorbis", "mp3", "m4a", "opus", or | |
109 | "wav"; best by default | |
110 | --audio-quality QUALITY ffmpeg/avconv audio quality specification, insert a | |
111 | value between 0 (better) and 9 (worse) for VBR or a | |
112 | specific bitrate like 128K (default 5) | |
113 | --recode-video FORMAT Encode the video to another format if necessary | |
114 | (currently supported: mp4|flv|ogg|webm) | |
115 | -k, --keep-video keeps the video file on disk after the post- | |
116 | processing; the video is erased by default | |
117 | --no-post-overwrites do not overwrite post-processed files; the post- | |
118 | processed files are overwritten by default | |
119 | ||
120 | # CONFIGURATION | |
121 | ||
122 | You can configure youtube-dl by placing default arguments (such as `--extract-audio --no-mtime` to always extract the audio and not copy the mtime) into `/etc/youtube-dl.conf` and/or `~/.config/youtube-dl.conf`. | |
123 | ||
124 | # OUTPUT TEMPLATE | |
125 | ||
126 | 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 is a percent symbol followed by a name in parenthesis, followed by a lowercase S. Allowed names are: | |
127 | ||
128 | - `id`: The sequence will be replaced by the video identifier. | |
129 | - `url`: The sequence will be replaced by the video URL. | |
130 | - `uploader`: The sequence will be replaced by the nickname of the person who uploaded the video. | |
131 | - `upload_date`: The sequence will be replaced by the upload date in YYYYMMDD format. | |
132 | - `title`: The sequence will be replaced by the video title. | |
133 | - `ext`: The sequence will be replaced by the appropriate extension (like flv or mp4). | |
134 | - `epoch`: The sequence will be replaced by the Unix epoch when creating the file. | |
135 | - `autonumber`: The sequence will be replaced by a five-digit number that will be increased with each download, starting at zero. | |
136 | ||
137 | The current default template is `%(id)s.%(ext)s`, but that will be switchted to `%(title)s-%(id)s.%(ext)s` (which can be requested with `-t` at the moment). | |
138 | ||
139 | In some cases, you don't want special characters such as 中, spaces, or &, such as when transferring the downloaded filename to a Windows system or the filename through an 8bit-unsafe channel. In these cases, add the `--restrict-filenames` flag to get a shorter title: | |
140 | ||
141 | $ youtube-dl --get-filename -o "%(title)s.%(ext)s" BaW_jenozKc | |
142 | youtube-dl test video ''_ä↭𝕐.mp4 # All kinds of weird characters | |
143 | $ youtube-dl --get-filename -o "%(title)s.%(ext)s" BaW_jenozKc --restrict-filenames | |
144 | youtube-dl_test_video_.mp4 # A simple file name | |
145 | ||
146 | # FAQ | |
147 | ||
148 | ### Can you please put the -b option back? | |
149 | ||
150 | Most people asking this question are not aware that youtube-dl now defaults to downloading the highest available quality as reported by YouTube, which will be 1080p or 720p in some cases, so you no longer need the -b option. For some specific videos, maybe YouTube does not report them to be available in a specific high quality format you''re interested in. In that case, simply request it with the -f option and youtube-dl will try to download it. | |
151 | ||
152 | ### I get HTTP error 402 when trying to download a video. What's this? | |
153 | ||
154 | Apparently YouTube requires you to pass a CAPTCHA test if you download too much. We''re [considering to provide a way to let you solve the CAPTCHA](https://github.com/rg3/youtube-dl/issues/154), but at the moment, your best course of action is pointing a webbrowser to the youtube URL, solving the CAPTCHA, and restart youtube-dl. | |
155 | ||
156 | ### I have downloaded a video but how can I play it? | |
157 | ||
158 | Once the video is fully downloaded, use any video player, such as [vlc](http://www.videolan.org) or [mplayer](http://www.mplayerhq.hu/). | |
159 | ||
160 | ### The links provided by youtube-dl -g are not working anymore | |
161 | ||
162 | The URLs youtube-dl outputs require the downloader to have the correct cookies. Use the `--cookies` option to write the required cookies into a file, and advise your downloader to read cookies from that file. Some sites also require a common user agent to be used, use `--dump-user-agent` to see the one in use by youtube-dl. | |
163 | ||
164 | ### ERROR: no fmt_url_map or conn information found in video info | |
165 | ||
166 | youtube has switched to a new video info format in July 2011 which is not supported by old versions of youtube-dl. You can update youtube-dl with `sudo youtube-dl --update`. | |
167 | ||
168 | ### ERROR: unable to download video ### | |
169 | ||
170 | youtube requires an additional signature since September 2012 which is not supported by old versions of youtube-dl. You can update youtube-dl with `sudo youtube-dl --update`. | |
171 | ||
172 | ### SyntaxError: Non-ASCII character ### | |
173 | ||
174 | The error | |
175 | ||
176 | File "youtube-dl", line 2 | |
177 | SyntaxError: Non-ASCII character '\x93' ... | |
178 | ||
179 | means you're using an outdated version of Python. Please update to Python 2.6 or 2.7. | |
180 | ||
181 | ### What is this binary file? Where has the code gone? | |
182 | ||
183 | Since June 2012 (#342) youtube-dl is packed as an executable zipfile, simply unzip it (might need renaming to `youtube-dl.zip` first on some systems) or clone the git repository, as laid out above. If you modify the code, you can run it by executing the `__main__.py` file. To recompile the executable, run `make youtube-dl`. | |
184 | ||
185 | ### The exe throws a *Runtime error from Visual C++* | |
186 | ||
187 | To run the exe you need to install first the [Microsoft Visual C++ 2008 Redistributable Package](http://www.microsoft.com/en-us/download/details.aspx?id=29). | |
188 | ||
189 | # COPYRIGHT | |
190 | ||
191 | youtube-dl is released into the public domain by the copyright holders. | |
192 | ||
193 | This README file was originally written by Daniel Bolton (<https://github.com/dbbolton>) and is likewise released into the public domain. | |
194 | ||
195 | # BUGS | |
196 | ||
197 | Bugs and suggestions should be reported at: <https://github.com/rg3/youtube-dl/issues> | |
198 | ||
199 | Please include: | |
200 | ||
201 | * Your exact command line, like `youtube-dl -t "http://www.youtube.com/watch?v=uHlDtZ6Oc3s&feature=channel_video_title"`. A common mistake is not to escape the `&`. Putting URLs in quotes should solve this problem. | |
202 | * If possible re-run the command with `--verbose`, and include the full output, it is really helpful to us. | |
203 | * The output of `youtube-dl --version` | |
204 | * The output of `python --version` | |
205 | * The name and version of your Operating System ("Ubuntu 11.04 x64" or "Windows 7 x64" is usually enough). | |
206 | ||
207 | For discussions, join us in the irc channel #youtube-dl on freenode. |