Commit Graph

350 Commits (master)

Author SHA1 Message Date
Sergey M․ 84bc4dcb0f [downloader/http] Clarify rationale for Content-Range check (#6426) 9 years ago
Sergey M․ 10eaa8ef1d [downloader/http] Report unable to resume 9 years ago
Sergey M․ c3124c3085 [downloader/http] Simplify 9 years ago
remitamine 8d5b8b477e [utils] import re 9 years ago
remitamine d7d2a9a3db [utils] restart download if server does not support byte ranges 9 years ago
Sergey M․ f9a5affad9 [hls] Implement hlsnative fd in terms of fragment fd 9 years ago
Sergey M․ ab81ef8fa7 [f4m] Implement f4m fd in terms of fragment fd 9 years ago
Sergey M․ 95d8f7ea12 [fragment] Generalize fragmented media file downloader 9 years ago
Jaime Marquínez Ferrándiz 59db9f8018 [downloader/dash] Improve 'combine_url' (fixes #6341)
In some videos the base_url already ends with '/'.
9 years ago
Jaime Marquínez Ferrándiz 2ee8f5d80f Merge remote-tracking branch 'yan12125/download-dash-segments' (#5886) 9 years ago
Sergey M․ 6c4d20cd6f [downloader/external] Fix externals downloaders specified with extension on Windows 9 years ago
Jaime Marquínez Ferrándiz 906e2f0eac [downloader/external] Add downloader for httpie (closes #6079) 9 years ago
Yen Chi Hsuan 5bf3276e8d [downloader/dash] Add testing facility 9 years ago
Yen Chi Hsuan 93dfcb9357 [downloader/dash] Do not pollute ```self``` 9 years ago
Yen Chi Hsuan 423d2be5f8 [downloader/dash] Rename the protocol
'http_dash_segments' looks more like a protocol name than
'dash_segments'
9 years ago
Yen Chi Hsuan 453a1617aa [downloader/dash] Reorder imports 9 years ago
Yen Chi Hsuan b9258c6178 [YoutubeDL] Change how DashSegmentsFD is selected 9 years ago
Yen Chi Hsuan 6800d3372f [YoutubeDL] Support DASH manifest downloading 9 years ago
Yen Chi Hsuan 156fc83a55 [downloader/rtmp] Fix a typo 9 years ago
Antti Ajanki 233c1c0e76 [downloader/f4m] Fragment filenames must be sanitized
because the fragment was written to a file with a sanitized name by
http_dl.download()
9 years ago
Jaime Marquínez Ferrándiz 2ddcd88129 Remove code that was only used by the Grooveshark extractor 9 years ago
Sergey M․ 74f8654a53 [downloader/external] Use encodeArgument 9 years ago
Sergey M․ 9e105a858c [downloader/rtmp] Fix arguments encoding and simplify retry logic (Closes #5528) 9 years ago
Sergey M․ cd8a07a764 [downloader/common] Use decodeArgument 9 years ago
Sergey M․ a5ebf77d87 [mplayer] Rename to RTSP 9 years ago
Sergey M․ b874495b1f [mplayer] Simplify 9 years ago
Sergey M․ b860f5dfd4 [mplayer] Clarify error message 9 years ago
mrkrossxdx db37e0c273 Added support for mpv if mplayer is not available 9 years ago
Yen Chi Hsuan c6391cd587 [Senate] Add new extractor (#5302) 9 years ago
Philipp Hagemeister c59e701e35 Default to continuedl=True
We already do this in the CLI interface, so it should be just fine.
9 years ago
Jaime Marquínez Ferrándiz 70a1165b32 Don't use bare 'except:'
They catch any exception, including KeyboardInterrupt, we don't want to catch it.
9 years ago
Jaime Marquínez Ferrándiz 43d6280d0a [downloader/f4m] Fix use of base64 in python 3.2 (fixes #5132)
b64decode needs a byte string, but on 3.4 it also accepts strings.
9 years ago
Jaime Marquínez Ferrándiz f28fe66970 [downloader/http] Add missing fields for _hook_progress call
It would fail if you run 'youtube-dl --no-part URL' a second time when the file has already been downloaded.

(Reported in Fedora: https://bugzilla.redhat.com/show_bug.cgi?id=1195779)
9 years ago
Jaime Marquínez Ferrándiz 123397317c [downloader/http] Remove wrong '_hook_progress' call (fixes #5117) 9 years ago
Philipp Hagemeister c75f0b361a [downloader/external] Add support for custom options (Fixes #4885, closes #5098) 9 years ago
Philipp Hagemeister 2a15a98a6a [rmtp] Encode filename before invoking subprocess
This fixes #5066.
Reproducible with
LC_ALL=C youtube-dl "http://www.prosieben.de/tv/germanys-next-topmodel/video/playlist/ganze-folge-episode-2-das-casting-in-muenchen"
9 years ago
Antti Ajanki 5eaaeb7c31 [f4m] Tolerate missed fragments on live streams 9 years ago
Antti Ajanki c4f8c453ae [f4m] Refresh fragment list periodically on live streams 9 years ago
Philipp Hagemeister 8fb3ac3649 PEP8: W503 9 years ago
Philipp Hagemeister 09ab40b7d1 Merge branch 'progress-as-hook2' 9 years ago
Philipp Hagemeister a91a2c1a83 [downloader] Remove various unneeded assignments and imports 9 years ago
Philipp Hagemeister 16e7711e22 [downloader/http] Remove gruesome import 9 years ago
Philipp Hagemeister 5cda4eda72 [YoutubeDL] Use a progress hook for progress reporting
Instead of every downloader calling two helper functions, let our progress report be an ordinary progress hook like everyone else's.
Closes #4875.
9 years ago
Philipp Hagemeister 8ac27a68e6 [hls] Switch to available as a property 9 years ago
Jaime Marquínez Ferrándiz fbc503d696 [downloader/hls] Fix detection of ffmpeg/avconv (reported in #4966) 9 years ago
Jaime Marquínez Ferrándiz 163d966707 [downloader/external] curl: Add the '--location' flag
curl doesn't follow redirections by default
9 years ago
Philipp Hagemeister 85729c51af [downloader] Add --hls-prefer-native to use the native HLS downloader (#4966) 9 years ago
Philipp Hagemeister 73fac4e911 [ffmpeg] Add --ffmpeg-location 9 years ago
Philipp Hagemeister cc9ca3ba6e [downloader/external] Simplify source_address
'' might actually be passed in, so check for None.
9 years ago
Sergey M․ ae7773942e [downloader/external] Simplify 9 years ago
Sergey M․ 469a64cebf [downloader/external] Simplify 9 years ago
vijayanand nandam 6a66904f8e passing source address option to external downloaders 9 years ago
Philipp Hagemeister 1283204917 [http] PEP8 (#4831) 9 years ago
Philipp Hagemeister 6789defea9 Merge pull request #4831 from light94/master
Handling Connection Reset by Peer Error
9 years ago
Sergey M․ 4a3da4ebdb [hls] Simplify 9 years ago
Sergey M․ 027008b14e [hls] Fix encode issues on python2 @ Windows 9 years ago
light94 e77d2975af Handling Connection Reset by Peer Error 9 years ago
Jaime Marquínez Ferrándiz e41b1f7385 Fix flake8 errors 9 years ago
Philipp Hagemeister d543bdc351 [downloader/f4m] Clarify that we should eventually just implement the DRM scheme (#3000) 9 years ago
Philipp Hagemeister c7ff0c6422 Merge remote-tracking branch 'rzhxeo/f4m-drm' 9 years ago
Paul Hartmann 7bb3ceb4c7 [dctp] prefix real_time parameter with rtmp_ 9 years ago
Paul Hartmann 0865f397ae added extractor for dctp.tv 9 years ago
rzhxeo 6ca85be6f8 Filter DRM protected media in f4m downloader 9 years ago
Philipp Hagemeister 3dee7826e7 [rtl2] PEP8, simplify, make rtmp tests run (#470) 9 years ago
Philipp Hagemeister d4f64cabf4 Merge remote-tracking branch 'David-Development/rtl2.py' 9 years ago
Philipp Hagemeister 881e6a1f5c Add --xattr-set-filesize option (Fixes #1348) 9 years ago
David-Development 7906d199a1 [rtl2] Add new extractor 9 years ago
Jaime Marquínez Ferrándiz e5660ee6ae [YoutubeDL] Fill the info dict 'http_headers' field with all the headers available
Useful for external tools using the json output.

The methods '_calc_headers' and '_calc_cookies' have been copied from the downloader/external, now they just use "info_dict['http_headers']".
9 years ago
Jaime Marquínez Ferrándiz 587a9c2749 [downloader/external] Use the 'http_headers' field 9 years ago
Jaime Marquínez Ferrándiz e1554a407d [extractors] Use http_headers for setting the User-Agent and the Referer 9 years ago
Jaime Marquínez Ferrándiz 3fcfb8e9fa [utils] YoutubeDLHandler: don't use 'Youtubedl-user-agent' for overriding the default user agent
Setting the 'User-Agent' header is enough
9 years ago
Philipp Hagemeister 384b62028a [downloader/external] Add curl and aria2c (Closes #182) 9 years ago
Philipp Hagemeister 222516d97d [downloader] Lay groundwork for external downloaders.
This comes with a very simply implementation for wget; the real work is in setting up the infrastructure.
9 years ago
Philipp Hagemeister a055469faf [downloader] Improve downloader selection 9 years ago
Jaime Marquínez Ferrándiz bf7fa94ec7 [downloader/f4m] build_fragments_list: Support videos with more than 1 segment 9 years ago
Philipp Hagemeister 5f0d813d93 Merge remote-tracking branch 'rupertbaxter2/master'
Conflicts:
	youtube_dl/__init__.py
	youtube_dl/downloader/common.py
9 years ago
Pierre 4340decad2 check for overwriting files in the downloader (fixes #3916, closes #3829) 9 years ago
Antti Ajanki f14f2a6d79 [downloader/f4m] Minor cleanup 9 years ago
Antti Ajanki 2c322cc5d6 [downloader/f4m] The last value in a tag is the tag length 9 years ago
Antti Ajanki 3b8f3a1504 [downloader/f4m] <metadata> is optional according to the F4M specs 9 years ago
Jaime Marquínez Ferrándiz 63948fc62c [downloader/hls] Respect the 'prefer_ffmpeg' option 9 years ago
Philipp Hagemeister 95ceeec722 Remove unused import 9 years ago
Jaime Marquínez Ferrándiz d26b1317ed [downloader/mplayer] Use check_executable 9 years ago
Philipp Hagemeister fdc8000810 [downloader] Handle a file ./- (Fixes #4498) 10 years ago
Philipp Hagemeister 7af808a5ef Improve code style 10 years ago
Philipp Hagemeister 71b640cc5b [YoutubeDL] Add declarative version of progress hooks 10 years ago
Philipp Hagemeister da4d4191a9 Merge branch 'master' of github.com:rg3/youtube-dl 10 years ago
Philipp Hagemeister 1cc79574fc Fix imports and general cleanup
· Import from compat what comes from compat. Yes, some names are available in utils too, but that's an implementation detail.
· Use _match_id consistently whenever possible
· Fix some outdated tests
· Use consistent valid URL (always match the whole protocol, no ^ at start required)
· Use modern test definitions
10 years ago
Philipp Hagemeister cc8c9281e6 [downloader/common] Do not use classic int division 10 years ago
Philipp Hagemeister cf372f0778 Merge remote-tracking branch 'SyxbEaEQ2/rate-limit' 10 years ago
Philipp Hagemeister 5f9b83944d [ffmpeg] Improve version check and call it from hls (Fixes #4377) 10 years ago
Philipp Hagemeister 80310134e0 [mplayer] Modernize 10 years ago
Philipp Hagemeister 4d2d638df4 [http] Modernize 10 years ago
Philipp Hagemeister 0e44f90e18 [hls] Remove useless u porefixes 10 years ago
Philipp Hagemeister 14d4e90eb1 [downloader/__init__] Define proper __all__ 10 years ago
Jouke Waleson 9e1a5b8455 PEP8: applied even more rules 10 years ago
Jouke Waleson 2514d2635e PEP8: E225,E227 10 years ago
Jouke Waleson 8bcc875676 PEP8: more applied 10 years ago
Jouke Waleson 5f6a1245ff PEP8 applied 10 years ago
Philipp Hagemeister b6b70730bf [downloader/common] Modernize 10 years ago
Philipp Hagemeister 4c83c96795 [YoutubeDL] Include rtmpdump in exe versions -v output 10 years ago
Philipp Hagemeister ee966928af [f4m] Support bootstrap URLs 10 years ago
Philipp Hagemeister fec02bcc90 [hlsnative] Correct handling when remaining_bytes is None 10 years ago
Philipp Hagemeister b686fc18da [hlsnative] Support test parameter 10 years ago
Philipp Hagemeister f0b5d6af74 [vevo] Support 1080p videos (Fixes #3656) 10 years ago
Jaime Marquínez Ferrándiz b509a4b176 [downloader/f4m] If <pv-2.0> is in the manifest, add it to the fragments urls query (fixes #3176)
It's used in some akamai videos (for example for theplatform.com).
10 years ago
Sergey M․ 88a23aef5a [http] Avoid closing stdout (Fixes #3686) 10 years ago
Jaime Marquínez Ferrándiz 7798fad535 [downloader/rtmp] Use check_exectuble 10 years ago
Jaime Marquínez Ferrándiz baf2907501 [downloader/hls] Return False if ffmpeg or avconv couldn't be found 10 years ago
Jaime Marquínez Ferrándiz 3c765c68c4 [downloader/hls] Use check_executable 10 years ago
Jaime Marquínez Ferrándiz 29153f49b3 [downloader/hls] Use the correct program when reporting an error 10 years ago
Philipp Hagemeister d769be6c96 [grooveshark,http] Make HTTP POST downloads work 10 years ago
rupertbaxter2 a42c921598 Removed sleep and sleep output when interval is zero 10 years ago
rupertbaxter2 f96252b913 Merge remote-tracking branch 'upstream/master' 10 years ago
Sergey M․ c767dc74b8 [downloader/common] Fix typo 10 years ago
SyxbEaEQ2 00cf122d7a [downloader/common] Fix possible negative sleep time in slow_down() 10 years ago
rupertbaxter2 03359e9864 Added --sleep-interval option 10 years ago
SyxbEaEQ2 c7667c2d7f [downloader/(common/http)] Changes calculation of the rate-limit. (Fix #2297, fix #2140, fix #595, fix #2370) 10 years ago
Jaime Marquínez Ferrándiz 31bb8d3f51 [bloomberg] Extract the available formats (closes #2776)
It uses a helper method in the InfoExtractor class.
The downloader will pick the requested formats using the bitrate in the info dict.
10 years ago
Jaime Marquínez Ferrándiz 23566e0d78 rtmp and hls downloaders: Clarify error message when the external tools are not installed
Ask to install them, as we do in the postprocessor.
We get some reports with it, like #3061 or #3048.
10 years ago
Jaime Marquínez Ferrándiz 087ca2cb07 [naver] Add rtmp formats (fixes #3054) 10 years ago
Sergey M․ eb45133451 [rtmp] Add support for multiple AFM data entries 10 years ago
Sergey M․ 32fd27ec98 [http] Fix string/None comparison with int while in test 10 years ago
Sergey M․ df297c8794 [http] Improve download mechanism when Range HTTP header is ignored 10 years ago
Jaime Marquínez Ferrándiz e3ced9ed61 [downloader/common] Use `compat_str` with the error in `try_rename` (appeared in #2389)
Otherwise on python 2.x we get `UnicodeDecodeError` because it may contain non ascii characters.
10 years ago
Jaime Marquínez Ferrándiz b900e7cba4 [downloader/f4m] Close the final video 10 years ago
Sergey M․ a59e40a1ea Replace 'referer' with 'http_referer' 10 years ago
Sergey M․ 1d0e49e1c7 Use explicitly set Referer header for downloading 10 years ago
Philipp Hagemeister 75f2e25ba9 [downloader/hls] Encode filename (Fixes #2609) 10 years ago
Jaime Marquínez Ferrándiz 22ff5d2105 [http] Use the `YoutubeDL.urlopen` method 10 years ago
Sergey M․ 9d6105c9f0 Do not resume live streams
No resuming or seeking in live streams is possible (c) man rtmpdump
10 years ago
Sergey M․ 8dec03ecba Use unicode literals 10 years ago
Sergey M․ 826547870b Report no connect as error 10 years ago
Sergey M․ 52d6a9a61d Handle rtmpdump's no connection return value 10 years ago
Sergey M․ ad242b5fbc Remove superfluous whitespace 10 years ago
Sergey M․ 3524175625 Use meaningful return value constants for rtmpdump 10 years ago
rzhxeo 60daf7f0bb Set resume_len to 0 if download is restarted 10 years ago
Philipp Hagemeister 1df96e59ce [f4m] Clean up 10 years ago
Jaime Marquínez Ferrándiz 1824b48169 [f4m] Download only the first fragment with the `--test` option 10 years ago
Philipp Hagemeister b53466e168 Fix f4m downloading on Python 2.6 10 years ago
Jaime Marquínez Ferrándiz cf1eb45153 Add a downloader for f4m manifests 10 years ago
Sergey M. 082c6c867a [bbc.co.uk] Add support for bbc.co.uk radio programmes (Closes #2184) 10 years ago
Philipp Hagemeister db1f388878 [huffpost] Add support 10 years ago
Jaime Marquínez Ferrándiz f89197d73e Some pep8 style fixes 10 years ago
Jaime Marquínez Ferrándiz 70af3439e9 [hls] Fix the program name when reporting the file size 10 years ago
Jaime Marquínez Ferrándiz 7976fcac55 [http] Fix ‘err’ variable not being assigned in an except block (#2045) 10 years ago
Philipp Hagemeister dabc127362 Remove dead code 11 years ago
Philipp Hagemeister c25c991809 [mplayer] Fix error introduced by downloader separation 11 years ago
Philipp Hagemeister 1538eff6d8 [bliptv] Remove support for direct downloads
This is now handled by the generic IE
11 years ago
Jaime Marquínez Ferrándiz 3bc2ddccc8 Move FileDownloader to its own module and create a new class for each download process
A suitable downloader can be found using the 'get_suitable_downloader' function.

Each subclass implements 'real_download', for downloading an info dict you call the 'download' method, which first checks if the video has already been downloaded
11 years ago