mirror of
https://github.com/l1ving/youtube-dl
synced 2024-12-31 01:02:53 +08:00
307 lines
14 KiB
Groff
307 lines
14 KiB
Groff
.TH YOUTUBE-DL 1 ""
|
||
.SH NAME
|
||
.PP
|
||
youtube-dl
|
||
.SH SYNOPSIS
|
||
.PP
|
||
\f[B]youtube-dl\f[] [OPTIONS] URL [URL...]
|
||
.SH DESCRIPTION
|
||
.PP
|
||
\f[B]youtube-dl\f[] is a small command-line program to download videos
|
||
from YouTube.com and a few more sites.
|
||
It requires the Python interpreter, version 2.x (x being at least 6),
|
||
and it is not platform specific.
|
||
It should work in your Unix box, in Windows or in Mac OS X.
|
||
It is released to the public domain, which means you can modify it,
|
||
redistribute it or use it however you like.
|
||
.SH OPTIONS
|
||
.IP
|
||
.nf
|
||
\f[C]
|
||
-h,\ --help\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ print\ this\ help\ text\ and\ exit
|
||
--version\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ print\ program\ version\ and\ exit
|
||
-U,\ --update\ \ \ \ \ \ \ \ \ \ \ \ \ update\ this\ program\ to\ latest\ version
|
||
-i,\ --ignore-errors\ \ \ \ \ \ continue\ on\ download\ errors
|
||
-r,\ --rate-limit\ LIMIT\ \ \ download\ rate\ limit\ (e.g.\ 50k\ or\ 44.6m)
|
||
-R,\ --retries\ RETRIES\ \ \ \ number\ of\ retries\ (default\ is\ 10)
|
||
--buffer-size\ SIZE\ \ \ \ \ \ \ size\ of\ download\ buffer\ (e.g.\ 1024\ or\ 16k)\ (default
|
||
\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ is\ 1024)
|
||
--no-resize-buffer\ \ \ \ \ \ \ do\ not\ automatically\ adjust\ the\ buffer\ size.\ By
|
||
\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ default,\ the\ buffer\ size\ is\ automatically\ resized
|
||
\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ from\ an\ initial\ value\ of\ SIZE.
|
||
--dump-user-agent\ \ \ \ \ \ \ \ display\ the\ current\ browser\ identification
|
||
--user-agent\ UA\ \ \ \ \ \ \ \ \ \ specify\ a\ custom\ user\ agent
|
||
--list-extractors\ \ \ \ \ \ \ \ List\ all\ supported\ extractors\ and\ the\ URLs\ they
|
||
\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ would\ handle
|
||
\f[]
|
||
.fi
|
||
.SS Video Selection:
|
||
.IP
|
||
.nf
|
||
\f[C]
|
||
--playlist-start\ NUMBER\ \ playlist\ video\ to\ start\ at\ (default\ is\ 1)
|
||
--playlist-end\ NUMBER\ \ \ \ playlist\ video\ to\ end\ at\ (default\ is\ last)
|
||
--match-title\ REGEX\ \ \ \ \ \ download\ only\ matching\ titles\ (regex\ or\ caseless
|
||
\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ sub-string)
|
||
--reject-title\ REGEX\ \ \ \ \ skip\ download\ for\ matching\ titles\ (regex\ or
|
||
\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ caseless\ sub-string)
|
||
--max-downloads\ NUMBER\ \ \ Abort\ after\ downloading\ NUMBER\ files
|
||
\f[]
|
||
.fi
|
||
.SS Filesystem Options:
|
||
.IP
|
||
.nf
|
||
\f[C]
|
||
-t,\ --title\ \ \ \ \ \ \ \ \ \ \ \ \ \ use\ title\ in\ file\ name
|
||
--id\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ use\ video\ ID\ in\ file\ name
|
||
-l,\ --literal\ \ \ \ \ \ \ \ \ \ \ \ [deprecated]\ alias\ of\ --title
|
||
-A,\ --auto-number\ \ \ \ \ \ \ \ number\ downloaded\ files\ starting\ from\ 00000
|
||
-o,\ --output\ TEMPLATE\ \ \ \ output\ filename\ template.\ Use\ %(title)s\ to\ get\ the
|
||
\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ title,\ %(uploader)s\ for\ the\ uploader\ name,
|
||
\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ %(autonumber)s\ to\ get\ an\ automatically\ incremented
|
||
\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ number,\ %(ext)s\ for\ the\ filename\ extension,
|
||
\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ %(upload_date)s\ for\ the\ upload\ date\ (YYYYMMDD),
|
||
\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ %(extractor)s\ for\ the\ provider\ (youtube,\ metacafe,
|
||
\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ etc),\ %(id)s\ for\ the\ video\ id\ and\ %%\ for\ a\ literal
|
||
\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ percent.\ Use\ -\ to\ output\ to\ stdout.
|
||
--restrict-filenames\ \ \ \ \ Restrict\ filenames\ to\ only\ ASCII\ characters,\ and
|
||
\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ avoid\ "&"\ and\ spaces\ in\ filenames
|
||
-a,\ --batch-file\ FILE\ \ \ \ file\ containing\ URLs\ to\ download\ (\[aq]-\[aq]\ for\ stdin)
|
||
-w,\ --no-overwrites\ \ \ \ \ \ do\ not\ overwrite\ files
|
||
-c,\ --continue\ \ \ \ \ \ \ \ \ \ \ resume\ partially\ downloaded\ files
|
||
--no-continue\ \ \ \ \ \ \ \ \ \ \ \ do\ not\ resume\ partially\ downloaded\ files\ (restart
|
||
\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ from\ beginning)
|
||
--cookies\ FILE\ \ \ \ \ \ \ \ \ \ \ file\ to\ read\ cookies\ from\ and\ dump\ cookie\ jar\ in
|
||
--no-part\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ do\ not\ use\ .part\ files
|
||
--no-mtime\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ do\ not\ use\ the\ Last-modified\ header\ to\ set\ the\ file
|
||
\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ modification\ time
|
||
--write-description\ \ \ \ \ \ write\ video\ description\ to\ a\ .description\ file
|
||
--write-info-json\ \ \ \ \ \ \ \ write\ video\ metadata\ to\ a\ .info.json\ file
|
||
\f[]
|
||
.fi
|
||
.SS Verbosity / Simulation Options:
|
||
.IP
|
||
.nf
|
||
\f[C]
|
||
-q,\ --quiet\ \ \ \ \ \ \ \ \ \ \ \ \ \ activates\ quiet\ mode
|
||
-s,\ --simulate\ \ \ \ \ \ \ \ \ \ \ do\ not\ download\ the\ video\ and\ do\ not\ write\ anything
|
||
\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ to\ disk
|
||
--skip-download\ \ \ \ \ \ \ \ \ \ do\ not\ download\ the\ video
|
||
-g,\ --get-url\ \ \ \ \ \ \ \ \ \ \ \ simulate,\ quiet\ but\ print\ URL
|
||
-e,\ --get-title\ \ \ \ \ \ \ \ \ \ simulate,\ quiet\ but\ print\ title
|
||
--get-thumbnail\ \ \ \ \ \ \ \ \ \ simulate,\ quiet\ but\ print\ thumbnail\ URL
|
||
--get-description\ \ \ \ \ \ \ \ simulate,\ quiet\ but\ print\ video\ description
|
||
--get-filename\ \ \ \ \ \ \ \ \ \ \ simulate,\ quiet\ but\ print\ output\ filename
|
||
--get-format\ \ \ \ \ \ \ \ \ \ \ \ \ simulate,\ quiet\ but\ print\ output\ format
|
||
--no-progress\ \ \ \ \ \ \ \ \ \ \ \ do\ not\ print\ progress\ bar
|
||
--console-title\ \ \ \ \ \ \ \ \ \ display\ progress\ in\ console\ titlebar
|
||
-v,\ --verbose\ \ \ \ \ \ \ \ \ \ \ \ print\ various\ debugging\ information
|
||
\f[]
|
||
.fi
|
||
.SS Video Format Options:
|
||
.IP
|
||
.nf
|
||
\f[C]
|
||
-f,\ --format\ FORMAT\ \ \ \ \ \ video\ format\ code
|
||
--all-formats\ \ \ \ \ \ \ \ \ \ \ \ download\ all\ available\ video\ formats
|
||
--prefer-free-formats\ \ \ \ prefer\ free\ video\ formats\ unless\ a\ specific\ one\ is
|
||
\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ requested
|
||
--max-quality\ FORMAT\ \ \ \ \ highest\ quality\ format\ to\ download
|
||
-F,\ --list-formats\ \ \ \ \ \ \ list\ all\ available\ formats\ (currently\ youtube\ only)
|
||
--write-srt\ \ \ \ \ \ \ \ \ \ \ \ \ \ write\ video\ closed\ captions\ to\ a\ .srt\ file
|
||
\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ (currently\ youtube\ only)
|
||
--srt-lang\ LANG\ \ \ \ \ \ \ \ \ \ language\ of\ the\ closed\ captions\ to\ download
|
||
\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ (optional)\ use\ IETF\ language\ tags\ like\ \[aq]en\[aq]
|
||
\f[]
|
||
.fi
|
||
.SS Authentication Options:
|
||
.IP
|
||
.nf
|
||
\f[C]
|
||
-u,\ --username\ USERNAME\ \ account\ username
|
||
-p,\ --password\ PASSWORD\ \ account\ password
|
||
-n,\ --netrc\ \ \ \ \ \ \ \ \ \ \ \ \ \ use\ .netrc\ authentication\ data
|
||
\f[]
|
||
.fi
|
||
.SS Post-processing Options:
|
||
.IP
|
||
.nf
|
||
\f[C]
|
||
-x,\ --extract-audio\ \ \ \ \ \ convert\ video\ files\ to\ audio-only\ files\ (requires
|
||
\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ffmpeg\ or\ avconv\ and\ ffprobe\ or\ avprobe)
|
||
--audio-format\ FORMAT\ \ \ \ "best",\ "aac",\ "vorbis",\ "mp3",\ "m4a",\ or\ "wav";
|
||
\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ best\ by\ default
|
||
--audio-quality\ QUALITY\ \ ffmpeg/avconv\ audio\ quality\ specification,\ insert\ a
|
||
\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ value\ between\ 0\ (better)\ and\ 9\ (worse)\ for\ VBR\ or\ a
|
||
\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ specific\ bitrate\ like\ 128K\ (default\ 5)
|
||
-k,\ --keep-video\ \ \ \ \ \ \ \ \ keeps\ the\ video\ file\ on\ disk\ after\ the\ post-
|
||
\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ processing;\ the\ video\ is\ erased\ by\ default
|
||
\f[]
|
||
.fi
|
||
.SH CONFIGURATION
|
||
.PP
|
||
You can configure youtube-dl by placing default arguments (such as
|
||
\f[C]--extract-audio\ --no-mtime\f[] to always extract the audio and not
|
||
copy the mtime) into \f[C]/etc/youtube-dl.conf\f[] and/or
|
||
\f[C]~/.local/config/youtube-dl.conf\f[].
|
||
.SH OUTPUT TEMPLATE
|
||
.PP
|
||
The \f[C]-o\f[] 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
|
||
\f[C]youtube-dl\ -o\ funny_video.flv\ "http://some/video"\f[].
|
||
However, it may contain special sequences that will be replaced when
|
||
downloading each video.
|
||
The special sequences have the format \f[C]%(NAME)s\f[].
|
||
To clarify, that is a percent symbol followed by a name in parenthesis,
|
||
followed by a lowercase S.
|
||
Allowed names are:
|
||
.IP \[bu] 2
|
||
\f[C]id\f[]: The sequence will be replaced by the video identifier.
|
||
.IP \[bu] 2
|
||
\f[C]url\f[]: The sequence will be replaced by the video URL.
|
||
.IP \[bu] 2
|
||
\f[C]uploader\f[]: The sequence will be replaced by the nickname of the
|
||
person who uploaded the video.
|
||
.IP \[bu] 2
|
||
\f[C]upload_date\f[]: The sequence will be replaced by the upload date
|
||
in YYYYMMDD format.
|
||
.IP \[bu] 2
|
||
\f[C]title\f[]: The sequence will be replaced by the video title.
|
||
.IP \[bu] 2
|
||
\f[C]ext\f[]: The sequence will be replaced by the appropriate extension
|
||
(like flv or mp4).
|
||
.IP \[bu] 2
|
||
\f[C]epoch\f[]: The sequence will be replaced by the Unix epoch when
|
||
creating the file.
|
||
.IP \[bu] 2
|
||
\f[C]autonumber\f[]: The sequence will be replaced by a five-digit
|
||
number that will be increased with each download, starting at zero.
|
||
.PP
|
||
The current default template is \f[C]%(id)s.%(ext)s\f[], but that will
|
||
be switchted to \f[C]%(title)s-%(id)s.%(ext)s\f[] (which can be
|
||
requested with \f[C]-t\f[] at the moment).
|
||
.PP
|
||
In some cases, you don\[aq]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 \f[C]--restrict-filenames\f[] flag to get a
|
||
shorter title:
|
||
.IP
|
||
.nf
|
||
\f[C]
|
||
$\ youtube-dl\ --get-filename\ -o\ "%(title)s.%(ext)s"\ BaW_jenozKc
|
||
youtube-dl\ test\ video\ \[aq]\[aq]_ä↭𝕐.mp4\ \ \ \ #\ All\ kinds\ of\ weird\ characters
|
||
$\ youtube-dl\ --get-filename\ -o\ "%(title)s.%(ext)s"\ BaW_jenozKc\ --restrict-filenames
|
||
youtube-dl_test_video_.mp4\ \ \ \ \ \ \ \ \ \ #\ A\ simple\ file\ name
|
||
\f[]
|
||
.fi
|
||
.SH FAQ
|
||
.SS Can you please put the -b option back?
|
||
.PP
|
||
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\[aq]\[aq]re interested
|
||
in.
|
||
In that case, simply request it with the -f option and youtube-dl will
|
||
try to download it.
|
||
.SS I get HTTP error 402 when trying to download a video. What\[aq]s
|
||
this?
|
||
.PP
|
||
Apparently YouTube requires you to pass a CAPTCHA test if you download
|
||
too much.
|
||
We\[aq]\[aq]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.
|
||
.SS I have downloaded a video but how can I play it?
|
||
.PP
|
||
Once the video is fully downloaded, use any video player, such as
|
||
vlc (http://www.videolan.org) or mplayer (http://www.mplayerhq.hu/).
|
||
.SS The links provided by youtube-dl -g are not working anymore
|
||
.PP
|
||
The URLs youtube-dl outputs require the downloader to have the correct
|
||
cookies.
|
||
Use the \f[C]--cookies\f[] 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
|
||
\f[C]--dump-user-agent\f[] to see the one in use by youtube-dl.
|
||
.SS ERROR: no fmt_url_map or conn information found in video info
|
||
.PP
|
||
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 \f[C]sudo\ youtube-dl\ --update\f[].
|
||
.SS ERROR: unable to download video
|
||
.PP
|
||
youtube requires an additional signature since September 2012 which is
|
||
not supported by old versions of youtube-dl.
|
||
You can update youtube-dl with \f[C]sudo\ youtube-dl\ --update\f[].
|
||
.SS SyntaxError: Non-ASCII character
|
||
.PP
|
||
The error
|
||
.IP
|
||
.nf
|
||
\f[C]
|
||
File\ "youtube-dl",\ line\ 2
|
||
SyntaxError:\ Non-ASCII\ character\ \[aq]\\x93\[aq]\ ...
|
||
\f[]
|
||
.fi
|
||
.PP
|
||
means you\[aq]re using an outdated version of Python.
|
||
Please update to Python 2.6 or 2.7.
|
||
.PP
|
||
To run youtube-dl under Python 2.5, you\[aq]ll have to manually check it
|
||
out like this:
|
||
.IP
|
||
.nf
|
||
\f[C]
|
||
git\ clone\ git://github.com/rg3/youtube-dl.git
|
||
cd\ youtube-dl
|
||
python\ -m\ youtube_dl\ --help
|
||
\f[]
|
||
.fi
|
||
.PP
|
||
Please note that Python 2.5 is not supported anymore.
|
||
.SS What is this binary file? Where has the code gone?
|
||
.PP
|
||
Since June 2012 (#342) youtube-dl is packed as an executable zipfile,
|
||
simply unzip it (might need renaming to \f[C]youtube-dl.zip\f[] 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
|
||
\f[C]__main__.py\f[] file.
|
||
To recompile the executable, run \f[C]make\ youtube-dl\f[].
|
||
.SS The exe throws a \f[I]Runtime error from Visual C++\f[]
|
||
.PP
|
||
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).
|
||
.SH COPYRIGHT
|
||
.PP
|
||
youtube-dl is released into the public domain by the copyright holders.
|
||
.PP
|
||
This README file was originally written by Daniel Bolton
|
||
(<https://github.com/dbbolton>) and is likewise released into the public
|
||
domain.
|
||
.SH BUGS
|
||
.PP
|
||
Bugs and suggestions should be reported at:
|
||
<https://github.com/rg3/youtube-dl/issues>
|
||
.PP
|
||
Please include:
|
||
.IP \[bu] 2
|
||
Your exact command line, like
|
||
\f[C]youtube-dl\ -t\ "http://www.youtube.com/watch?v=uHlDtZ6Oc3s&feature=channel_video_title"\f[].
|
||
A common mistake is not to escape the \f[C]&\f[].
|
||
Putting URLs in quotes should solve this problem.
|
||
.IP \[bu] 2
|
||
The output of \f[C]youtube-dl\ --version\f[]
|
||
.IP \[bu] 2
|
||
The output of \f[C]python\ --version\f[]
|
||
.IP \[bu] 2
|
||
The name and version of your Operating System ("Ubuntu 11.04 x64" or
|
||
"Windows 7 x64" is usually enough).
|