Compare commits
396 Commits
2010.04.02
...
2012.02.26
Author | SHA1 | Date | |
---|---|---|---|
|
c4105fa035 | ||
|
871dbd3c92 | ||
|
c9ed14e6d6 | ||
|
1ad85e5061 | ||
|
09fbc6c952 | ||
|
895ec266bb | ||
|
d85448f3bb | ||
|
99d46e8c27 | ||
|
4afdff39d7 | ||
|
661a807c65 | ||
|
6d58c4546e | ||
|
38ffbc0222 | ||
|
fefb166c52 | ||
|
dcb3c22e0b | ||
|
47a53c9e46 | ||
|
1413cd87eb | ||
|
c92e184f75 | ||
|
3906e6ce60 | ||
|
c7d3c3db0d | ||
|
d6639d05c2 | ||
|
633cf7cbad | ||
|
a5647b79ce | ||
|
ba5059dd66 | ||
|
bb8abbbbae | ||
|
561504fffa | ||
|
23e6b8adc8 | ||
|
3e0ea7d07a | ||
|
94fd3201b2 | ||
|
0b3f3e1ad9 | ||
|
a05d2a0c05 | ||
|
0b14e0b367 | ||
|
66e8777769 | ||
|
348486ced4 | ||
|
f1f300e629 | ||
|
dd17922afc | ||
|
40fd4cb86a | ||
|
9e9b75ae4d | ||
|
8abf76ddb9 | ||
|
c95da745bc | ||
|
0cd235eef6 | ||
|
77315556f1 | ||
|
c379c181e0 | ||
|
31a2ec2d88 | ||
|
b88a52504e | ||
|
a95567af99 | ||
|
849edab8ec | ||
|
b158a1d946 | ||
|
fa2672f9fc | ||
|
28e3614bc0 | ||
|
208e095f72 | ||
|
0ae7abe57c | ||
|
dc0a294a73 | ||
|
468c99257c | ||
|
af8e8d63f9 | ||
|
e092418d8b | ||
|
e33e3045c6 | ||
|
cb6568bf21 | ||
|
235b3ba479 | ||
|
5b3330e0cf | ||
|
aab771fbdf | ||
|
00f95a93f5 | ||
|
1724e7c461 | ||
|
3b98a5ddac | ||
|
8b59cc93d5 | ||
|
c3e4e7c182 | ||
|
38348005b3 | ||
|
208c4b9128 | ||
|
ec574c2c41 | ||
|
871be928a8 | ||
|
b20d4f8626 | ||
|
073d7a5985 | ||
|
40306424b1 | ||
|
ecb3bfe543 | ||
|
abeac45abe | ||
|
0fca93ac60 | ||
|
857e5f329a | ||
|
053419cd24 | ||
|
99e207bab0 | ||
|
0067bbe7a7 | ||
|
45aa690868 | ||
|
beb245e92f | ||
|
c424df0d2f | ||
|
87929e4b35 | ||
|
d76736fc5e | ||
|
0f9b77223e | ||
|
9f47175a40 | ||
|
a1a8713aad | ||
|
6501a06d46 | ||
|
8d89fbae5a | ||
|
7a2cf5455c | ||
|
7125a7ca8b | ||
|
54d47874f7 | ||
|
2761012f69 | ||
|
3de2a1e635 | ||
|
1eff9ac0c5 | ||
|
54f329fe93 | ||
|
9baa2ef53b | ||
|
6bde5972c3 | ||
|
36f6cb369b | ||
|
b845d58b04 | ||
|
efb113c736 | ||
|
3ce59dae88 | ||
|
f0b0caa3fa | ||
|
58384838c3 | ||
|
abb870d1ad | ||
|
daa982bc01 | ||
|
767414a292 | ||
|
7b417b388a | ||
|
44424ceee9 | ||
|
08a5b7f800 | ||
|
1cde6f1d52 | ||
|
2d8acd8039 | ||
|
67035ede49 | ||
|
eb6c37da43 | ||
|
2736595628 | ||
|
7b1a2bbe17 | ||
|
c25303c3d5 | ||
|
cc025e1226 | ||
|
eca1b76f01 | ||
|
366cbfb04a | ||
|
18bb3d1e35 | ||
|
10e7194db1 | ||
|
ef357c4bf2 | ||
|
5260e68f64 | ||
|
6a1ca41e17 | ||
|
c99dcbd2d6 | ||
|
da0db53a75 | ||
|
c52b01f326 | ||
|
36597dc40f | ||
|
9b4556c469 | ||
|
f3098c4d8a | ||
|
bdb3f7a769 | ||
|
afb5b55de6 | ||
|
c23cec29a3 | ||
|
e5b9fac281 | ||
|
08c1d0d3bc | ||
|
20e91e8375 | ||
|
f9c6878714 | ||
|
8c5dc3ad40 | ||
|
1d2e86aed9 | ||
|
a2f7e3a5bb | ||
|
f2a3a3522c | ||
|
b487ef0833 | ||
|
d0922f29a3 | ||
|
b90bcbe79e | ||
|
8236e85178 | ||
|
803abae206 | ||
|
50bdd8a9e7 | ||
|
34554a7ad4 | ||
|
93e1659586 | ||
|
b576abb457 | ||
|
f166bccc8f | ||
|
5a2ba45e09 | ||
|
e133e1213f | ||
|
454d6691d8 | ||
|
d793aebaed | ||
|
5991ddfd7a | ||
|
a88bc6bbd3 | ||
|
46c8c43266 | ||
|
fedf9f3902 | ||
|
0f862ea18c | ||
|
c8e30044b8 | ||
|
cec3a53cbd | ||
|
6fc5b0bb17 | ||
|
9b0a8bc198 | ||
|
e5e74ffb97 | ||
|
eb99a7ee5f | ||
|
50891fece7 | ||
|
ef53099e35 | ||
|
c0a10ca8dc | ||
|
8f88eb1fa7 | ||
|
447b1d7170 | ||
|
dbddab2799 | ||
|
802622ac1c | ||
|
e0e56865a0 | ||
|
eb11aaccbb | ||
|
d207e7cf88 | ||
|
36cf7bccde | ||
|
5fd5ce0838 | ||
|
6ae796b1ee | ||
|
9c3e23fb64 | ||
|
5f9f2b7396 | ||
|
4618f3da74 | ||
|
eb0387a848 | ||
|
fe6dc08b79 | ||
|
4f2a5e06da | ||
|
2c8d32de33 | ||
|
2b70537d7b | ||
|
6a4f0a114d | ||
|
5adcaa4385 | ||
|
51c8e53ffe | ||
|
4f9f96f646 | ||
|
5fb3df4aff | ||
|
7a9054ec79 | ||
|
2770590d5a | ||
|
e9cb9c2811 | ||
|
1cab2c6dcf | ||
|
86e709d3de | ||
|
8519c32d25 | ||
|
f3dc18d874 | ||
|
1293ce58ac | ||
|
0a3c8b6291 | ||
|
134cff47ab | ||
|
f137bef973 | ||
|
2bf94b3116 | ||
|
6bcd846b52 | ||
|
2fb47e073a | ||
|
05b4029662 | ||
|
33d507f1fe | ||
|
c44b9ee95e | ||
|
8126094cf1 | ||
|
0ac22e4f5a | ||
|
c31b124d7a | ||
|
47b8dab29e | ||
|
91e6a3855b | ||
|
5623100e43 | ||
|
6eb08fbf8b | ||
|
437d76c19a | ||
|
2152ee8601 | ||
|
a1cab7cead | ||
|
8b95c38707 | ||
|
c6b55a8d48 | ||
|
aded78d9e2 | ||
|
7745f5d881 | ||
|
18b7f87409 | ||
|
62a29bbf7b | ||
|
2fc31a4872 | ||
|
44c636df89 | ||
|
1e055db69c | ||
|
0ecedbdb03 | ||
|
43c0a396a2 | ||
|
00f3977f77 | ||
|
e26005adea | ||
|
4b0d9eed45 | ||
|
3efa45c3a2 | ||
|
2727dbf78d | ||
|
e3f7e05c27 | ||
|
da54ed4412 | ||
|
d8edbf3a93 | ||
|
a62db07f58 | ||
|
b58faab5e7 | ||
|
854cad639e | ||
|
cb25a0e30c | ||
|
377086af3d | ||
|
820eedcb50 | ||
|
da273188f3 | ||
|
1bd9258272 | ||
|
c076845454 | ||
|
afd233c05c | ||
|
3072fab115 | ||
|
87cbd21323 | ||
|
3b84a43076 | ||
|
2c8bedd12c | ||
|
1a3fe4212f | ||
|
c4cfbdf5a5 | ||
|
ef9f8451c8 | ||
|
9f5f960213 | ||
|
a4a590b5b1 | ||
|
7f69fd3b39 | ||
|
a7e5259c33 | ||
|
7cc3c6fd62 | ||
|
d119b54df6 | ||
|
8cc98b2358 | ||
|
f24c674b04 | ||
|
58b53721af | ||
|
f74e22ae28 | ||
|
16c73c2e51 | ||
|
5776c3295b | ||
|
9e0dd8692e | ||
|
5aba6ea4fe | ||
|
c5a088d341 | ||
|
92743d423a | ||
|
9e1ee3364a | ||
|
e0edf1e041 | ||
|
6025795d95 | ||
|
e30189021d | ||
|
09bd408c28 | ||
|
9f7963468b | ||
|
b940c84a24 | ||
|
0f7099a59b | ||
|
c02d8e4040 | ||
|
0f6b00b587 | ||
|
7b531c0be6 | ||
|
0d14e225fa | ||
|
0fe64c04f8 | ||
|
0d8d9877ad | ||
|
8cc42e7c1a | ||
|
1987c2325a | ||
|
aac3fe0f4a | ||
|
3fb2c487c0 | ||
|
d3975459d1 | ||
|
ccbd296bee | ||
|
e7cf18cb6b | ||
|
09cc744c90 | ||
|
a57ed21f6d | ||
|
975a91d0ac | ||
|
b905e5f583 | ||
|
ef4f4544a2 | ||
|
5c1327931a | ||
|
106d091e80 | ||
|
f83ae7816b | ||
|
f148ea4473 | ||
|
7d950ca1d6 | ||
|
d157d2597a | ||
|
e567ef93d8 | ||
|
27179cfdba | ||
|
6f0ff3bab9 | ||
|
a9806fd83d | ||
|
62cf7aaf9a | ||
|
a1f03c7b06 | ||
|
f8dc441430 | ||
|
010ebaf783 | ||
|
138b11f36e | ||
|
05df0c1d4a | ||
|
b04bb07c94 | ||
|
b620a5f811 | ||
|
b3a27b5217 | ||
|
5e596cac0a | ||
|
1e47d226e1 | ||
|
817e8f523f | ||
|
8cc4434116 | ||
|
893a13df55 | ||
|
c34e358456 | ||
|
a6a61601de | ||
|
e0c982c8d0 | ||
|
331ce0a05d | ||
|
80066952bc | ||
|
e08878f498 | ||
|
a949a3ae6b | ||
|
7df4635faf | ||
|
f79007e542 | ||
|
ac249f421f | ||
|
e86e9474bf | ||
|
bbd4bb037a | ||
|
5c44af1875 | ||
|
33407be7d6 | ||
|
8e686771af | ||
|
2933532c5b | ||
|
6b57e8c5ac | ||
|
c6c555cf8a | ||
|
db7e31b853 | ||
|
d67e097462 | ||
|
38ed13444a | ||
|
8a9f53bebf | ||
|
80cc23304f | ||
|
813962f85a | ||
|
109626fcc0 | ||
|
204c9398ab | ||
|
2962317dea | ||
|
268fb2bdd8 | ||
|
101e0d1e91 | ||
|
f95f29fd25 | ||
|
06f34701fe | ||
|
5ce7d172d7 | ||
|
2e3a32e4ac | ||
|
8190e3631b | ||
|
e4db6fd042 | ||
|
497cd3e68e | ||
|
460d8acbaa | ||
|
9bf7fa5213 | ||
|
73f4e7afba | ||
|
9715661c19 | ||
|
14912efbb7 | ||
|
96942e6224 | ||
|
df372a655f | ||
|
9e9647d9a1 | ||
|
8da0080d36 | ||
|
57edaa5bac | ||
|
823fcda12a | ||
|
f2413e6793 | ||
|
c833bb97dc | ||
|
7e2dd306fe | ||
|
dea147f78e | ||
|
08cf5cb80b | ||
|
4135fa4585 | ||
|
fd8ede223e | ||
|
2b06c33d19 | ||
|
ca6a11fa59 | ||
|
de3ed1f84a | ||
|
0b59bf4a5e | ||
|
896a6ea9e2 | ||
|
7031008c98 | ||
|
e616ec0ca6 | ||
|
2a7353b87a | ||
|
787f2a5d95 | ||
|
42e3546fb5 | ||
|
0228ee9788 | ||
|
131efd1ae0 | ||
|
2bebb386b8 | ||
|
7e58d56888 | ||
|
554bbdc48c | ||
|
37dfa1e0df | ||
|
4dd63be193 | ||
|
7d8d06122d | ||
|
9177ce4d8c | ||
|
ce5cafea40 |
3
.gitignore
vendored
Normal file
3
.gitignore
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
*.pyc
|
||||
*.pyo
|
||||
*~
|
@@ -1 +1 @@
|
||||
2010.04.02
|
||||
2012.02.26
|
||||
|
23
Makefile
Normal file
23
Makefile
Normal file
@@ -0,0 +1,23 @@
|
||||
default: update
|
||||
|
||||
update: compile update-readme update-latest
|
||||
|
||||
update-latest:
|
||||
./youtube-dl.dev --version > LATEST_VERSION
|
||||
|
||||
update-readme:
|
||||
@options=$$(COLUMNS=80 ./youtube-dl.dev --help | sed -e '1,/.*General Options.*/ d' -e 's/^\W\{2\}\(\w\)/### \1/') && \
|
||||
header=$$(sed -e '/.*## OPTIONS/,$$ d' README.md) && \
|
||||
footer=$$(sed -e '1,/.*## FAQ/ d' README.md) && \
|
||||
echo "$${header}" > README.md && \
|
||||
echo >> README.md && \
|
||||
echo '## OPTIONS' >> README.md && \
|
||||
echo "$${options}" >> README.md&& \
|
||||
echo >> README.md && \
|
||||
echo '## FAQ' >> README.md && \
|
||||
echo "$${footer}" >> README.md
|
||||
|
||||
compile:
|
||||
cp youtube_dl/__init__.py youtube-dl
|
||||
|
||||
.PHONY: default compile update update-latest update-readme
|
130
README.md
Normal file
130
README.md
Normal file
@@ -0,0 +1,130 @@
|
||||
# youtube-dl
|
||||
|
||||
## USAGE
|
||||
youtube-dl [options] url [url...]
|
||||
|
||||
## DESCRIPTION
|
||||
**youtube-dl** 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 5), 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.
|
||||
|
||||
## OPTIONS
|
||||
-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)
|
||||
--dump-user-agent display the current browser identification
|
||||
--list-extractors List all supported extractors and the URLs they
|
||||
would handle
|
||||
|
||||
### Video Selection:
|
||||
--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
|
||||
|
||||
### Filesystem Options:
|
||||
-t, --title use title in file name
|
||||
-l, --literal use literal title in file name
|
||||
-A, --auto-number number downloaded files starting from 00000
|
||||
-o, --output TEMPLATE output filename template. Use %(stitle)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), and
|
||||
%% for a literal percent. Use - to output to
|
||||
stdout.
|
||||
-a, --batch-file FILE file containing URLs to download ('-' 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
|
||||
|
||||
### Verbosity / Simulation Options:
|
||||
-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
|
||||
|
||||
### Video Format Options:
|
||||
-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)
|
||||
|
||||
### Authentication Options:
|
||||
-u, --username USERNAME account username
|
||||
-p, --password PASSWORD account password
|
||||
-n, --netrc use .netrc authentication data
|
||||
|
||||
### Post-processing Options:
|
||||
--extract-audio convert video files to audio-only files (requires
|
||||
ffmpeg and ffprobe)
|
||||
--audio-format FORMAT "best", "aac", "vorbis", "mp3", "m4a", or "wav";
|
||||
best by default
|
||||
--audio-quality QUALITY ffmpeg audio bitrate specification, 128k by default
|
||||
-k, --keep-video keeps the video file on disk after the post-
|
||||
processing; the video is erased by default
|
||||
|
||||
## FAQ
|
||||
|
||||
### Can you please put the -b option back?
|
||||
|
||||
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.
|
||||
|
||||
### I get HTTP error 402 when trying to download a video. What's this?
|
||||
|
||||
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.
|
||||
|
||||
### I have downloaded a video but how can I play it?
|
||||
|
||||
Once the video is fully downloaded, use any video player, such as [vlc](http://www.videolan.org) or [mplayer](http://www.mplayerhq.hu/).
|
||||
|
||||
### The links provided by youtube-dl -g are not working anymore
|
||||
|
||||
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.
|
||||
|
||||
### ERROR: no fmt_url_map or conn information found in video info
|
||||
|
||||
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`.
|
||||
|
||||
## COPYRIGHT
|
||||
|
||||
youtube-dl is released into the public domain by the copyright holders.
|
||||
|
||||
This README file was originally written by Daniel Bolton (<https://github.com/dbbolton>) and is likewise released into the public domain.
|
||||
|
||||
## BUGS
|
||||
|
||||
Bugs and suggestions should be reported at: <https://github.com/rg3/youtube-dl/issues>
|
||||
|
||||
Please include:
|
||||
|
||||
* 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.
|
||||
* The output of `youtube-dl --version`
|
||||
* The output of `python --version`
|
||||
* The name and version of your Operating System ("Ubuntu 11.04 x64" or "Windows 7 x64" is usually enough).
|
6
devscripts/posix-locale.sh
Normal file
6
devscripts/posix-locale.sh
Normal file
@@ -0,0 +1,6 @@
|
||||
|
||||
# source this file in your shell to get a POSIX locale (which will break many programs, but that's kind of the point)
|
||||
|
||||
export LC_ALL=POSIX
|
||||
export LANG=POSIX
|
||||
export LANGUAGE=POSIX
|
29
test/test_div.py
Normal file
29
test/test_div.py
Normal file
@@ -0,0 +1,29 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# Various small unit tests
|
||||
|
||||
import os,sys
|
||||
sys.path.append(os.path.dirname(os.path.dirname(__file__)))
|
||||
|
||||
import youtube_dl
|
||||
|
||||
def test_simplify_title():
|
||||
assert youtube_dl._simplify_title(u'abc') == u'abc'
|
||||
assert youtube_dl._simplify_title(u'abc_d-e') == u'abc_d-e'
|
||||
|
||||
assert youtube_dl._simplify_title(u'123') == u'123'
|
||||
|
||||
assert u'/' not in youtube_dl._simplify_title(u'abc/de')
|
||||
assert u'abc' in youtube_dl._simplify_title(u'abc/de')
|
||||
assert u'de' in youtube_dl._simplify_title(u'abc/de')
|
||||
assert u'/' not in youtube_dl._simplify_title(u'abc/de///')
|
||||
|
||||
assert u'\\' not in youtube_dl._simplify_title(u'abc\\de')
|
||||
assert u'abc' in youtube_dl._simplify_title(u'abc\\de')
|
||||
assert u'de' in youtube_dl._simplify_title(u'abc\\de')
|
||||
|
||||
assert youtube_dl._simplify_title(u'ä') == u'ä'
|
||||
assert youtube_dl._simplify_title(u'кириллица') == u'кириллица'
|
||||
|
||||
# Strip underlines
|
||||
assert youtube_dl._simplify_title(u'\'a_') == u'a'
|
4027
youtube-dl
4027
youtube-dl
File diff suppressed because it is too large
Load Diff
6
youtube-dl.dev
Executable file
6
youtube-dl.dev
Executable file
@@ -0,0 +1,6 @@
|
||||
#!/usr/bin/env python
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
import youtube_dl
|
||||
|
||||
youtube_dl.main()
|
4648
youtube_dl/__init__.py
Executable file
4648
youtube_dl/__init__.py
Executable file
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user