mirror of
https://github.com/ytdl-org/youtube-dl.git
synced 2025-07-30 09:04:23 -05:00
Compare commits
137 Commits
2011.09.15
...
2012.02.27
Author | SHA1 | Date | |
---|---|---|---|
![]() |
9c228928b6 | ||
![]() |
ff3a2b8eab | ||
![]() |
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 | ||
![]() |
18b7f87409 |
3
.gitignore
vendored
Normal file
3
.gitignore
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
*.pyc
|
||||
*.pyo
|
||||
*~
|
@@ -1 +1 @@
|
||||
2011.09.14
|
||||
2012.02.27
|
||||
|
17
Makefile
17
Makefile
@@ -1,20 +1,23 @@
|
||||
default: update
|
||||
|
||||
update: update-readme update-latest
|
||||
update: compile update-readme update-latest
|
||||
|
||||
update-latest:
|
||||
./youtube-dl --version > LATEST_VERSION
|
||||
./youtube-dl.dev --version > LATEST_VERSION
|
||||
|
||||
update-readme:
|
||||
@options=$$(COLUMNS=80 ./youtube-dl --help | sed -e '1,/.*General Options.*/ d' -e 's/^\W\{2\}\(\w\)/### \1/') && \
|
||||
@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 -e '\n## OPTIONS' >> README.md && \
|
||||
echo >> README.md && \
|
||||
echo '## OPTIONS' >> README.md && \
|
||||
echo "$${options}" >> README.md&& \
|
||||
echo -e '\n## FAQ' >> README.md && \
|
||||
echo >> README.md && \
|
||||
echo '## FAQ' >> README.md && \
|
||||
echo "$${footer}" >> README.md
|
||||
|
||||
compile:
|
||||
cp youtube_dl/__init__.py youtube-dl
|
||||
|
||||
|
||||
.PHONY: default update update-latest update-readme
|
||||
.PHONY: default compile update update-latest update-readme
|
||||
|
32
README.md
32
README.md
@@ -12,12 +12,14 @@ which means you can modify it, redistribute it or use it however you like.
|
||||
|
||||
## OPTIONS
|
||||
-h, --help print this help text and exit
|
||||
-v, --version print program version 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)
|
||||
@@ -26,16 +28,25 @@ which means you can modify it, redistribute it or use it however you like.
|
||||
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
|
||||
-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
|
||||
--cookies FILE file to dump cookie jar to
|
||||
--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
|
||||
@@ -44,19 +55,26 @@ which means you can modify it, redistribute it or use it however you like.
|
||||
|
||||
### Verbosity / Simulation Options:
|
||||
-q, --quiet activates quiet mode
|
||||
-s, --simulate do not download video
|
||||
-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
|
||||
@@ -66,7 +84,11 @@ which means you can modify it, redistribute it or use it however you like.
|
||||
### Post-processing Options:
|
||||
--extract-audio convert video files to audio-only files (requires
|
||||
ffmpeg and ffprobe)
|
||||
--audio-format FORMAT "best", "aac" or "mp3"; best by default
|
||||
--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
|
||||
|
||||
|
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'
|
1598
youtube-dl
1598
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()
|
4647
youtube_dl/__init__.py
Executable file
4647
youtube_dl/__init__.py
Executable file
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user