Commit Graph

250 Commits (bd1bcd3ea079889cfd7cd44c0ea750ac9d432e41)

Author SHA1 Message Date
Sergey M․ 469a64cebf [downloader/external] Simplify
vijayanand nandam 6a66904f8e passing source address option to external downloaders
Philipp Hagemeister 1283204917 [http] PEP8 ()
Philipp Hagemeister 6789defea9 Merge pull request from light94/master
Handling Connection Reset by Peer Error
Sergey M․ 4a3da4ebdb [hls] Simplify
Sergey M․ 027008b14e [hls] Fix encode issues on python2 @ Windows
light94 e77d2975af Handling Connection Reset by Peer Error
Jaime Marquínez Ferrándiz e41b1f7385 Fix flake8 errors
Philipp Hagemeister d543bdc351 [downloader/f4m] Clarify that we should eventually just implement the DRM scheme ()
Philipp Hagemeister c7ff0c6422 Merge remote-tracking branch 'rzhxeo/f4m-drm'
Paul Hartmann 7bb3ceb4c7 [dctp] prefix real_time parameter with rtmp_
Paul Hartmann 0865f397ae added extractor for dctp.tv
rzhxeo 6ca85be6f8 Filter DRM protected media in f4m downloader
Philipp Hagemeister 3dee7826e7 [rtl2] PEP8, simplify, make rtmp tests run ()
Philipp Hagemeister d4f64cabf4 Merge remote-tracking branch 'David-Development/rtl2.py'
Philipp Hagemeister 881e6a1f5c Add --xattr-set-filesize option (Fixes )
David-Development 7906d199a1 [rtl2] Add new extractor
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']".
Jaime Marquínez Ferrándiz 587a9c2749 [downloader/external] Use the 'http_headers' field
Jaime Marquínez Ferrándiz e1554a407d [extractors] Use http_headers for setting the User-Agent and the Referer
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
Philipp Hagemeister 384b62028a [downloader/external] Add curl and aria2c (Closes )
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.
Philipp Hagemeister a055469faf [downloader] Improve downloader selection
Jaime Marquínez Ferrándiz bf7fa94ec7 [downloader/f4m] build_fragments_list: Support videos with more than 1 segment
Philipp Hagemeister 5f0d813d93 Merge remote-tracking branch 'rupertbaxter2/master'
Conflicts:
	youtube_dl/__init__.py
	youtube_dl/downloader/common.py
Pierre 4340decad2 check for overwriting files in the downloader (fixes , closes )
Antti Ajanki f14f2a6d79 [downloader/f4m] Minor cleanup
Antti Ajanki 2c322cc5d6 [downloader/f4m] The last value in a tag is the tag length
Antti Ajanki 3b8f3a1504 [downloader/f4m] <metadata> is optional according to the F4M specs
Jaime Marquínez Ferrándiz 63948fc62c [downloader/hls] Respect the 'prefer_ffmpeg' option
Philipp Hagemeister 95ceeec722 Remove unused import
Jaime Marquínez Ferrándiz d26b1317ed [downloader/mplayer] Use check_executable
Philipp Hagemeister fdc8000810 [downloader] Handle a file ./- (Fixes )
Philipp Hagemeister 7af808a5ef Improve code style
Philipp Hagemeister 71b640cc5b [YoutubeDL] Add declarative version of progress hooks
Philipp Hagemeister da4d4191a9 Merge branch 'master' of github.com:rg3/youtube-dl
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
Philipp Hagemeister cc8c9281e6 [downloader/common] Do not use classic int division
Philipp Hagemeister cf372f0778 Merge remote-tracking branch 'SyxbEaEQ2/rate-limit'
Philipp Hagemeister 5f9b83944d [ffmpeg] Improve version check and call it from hls (Fixes )
Philipp Hagemeister 80310134e0 [mplayer] Modernize
Philipp Hagemeister 4d2d638df4 [http] Modernize
Philipp Hagemeister 0e44f90e18 [hls] Remove useless u porefixes
Philipp Hagemeister 14d4e90eb1 [downloader/__init__] Define proper __all__
Jouke Waleson 9e1a5b8455 PEP8: applied even more rules
Jouke Waleson 2514d2635e PEP8: E225,E227
Jouke Waleson 8bcc875676 PEP8: more applied
Jouke Waleson 5f6a1245ff PEP8 applied
Philipp Hagemeister b6b70730bf [downloader/common] Modernize
Philipp Hagemeister 4c83c96795 [YoutubeDL] Include rtmpdump in exe versions -v output
Philipp Hagemeister ee966928af [f4m] Support bootstrap URLs
Philipp Hagemeister fec02bcc90 [hlsnative] Correct handling when remaining_bytes is None
Philipp Hagemeister b686fc18da [hlsnative] Support test parameter
Philipp Hagemeister f0b5d6af74 [vevo] Support 1080p videos (Fixes )
Jaime Marquínez Ferrándiz b509a4b176 [downloader/f4m] If <pv-2.0> is in the manifest, add it to the fragments urls query (fixes )
It's used in some akamai videos (for example for theplatform.com).
Sergey M․ 88a23aef5a [http] Avoid closing stdout (Fixes )
Jaime Marquínez Ferrándiz 7798fad535 [downloader/rtmp] Use check_exectuble
Jaime Marquínez Ferrándiz baf2907501 [downloader/hls] Return False if ffmpeg or avconv couldn't be found
Jaime Marquínez Ferrándiz 3c765c68c4 [downloader/hls] Use check_executable
Jaime Marquínez Ferrándiz 29153f49b3 [downloader/hls] Use the correct program when reporting an error
Philipp Hagemeister d769be6c96 [grooveshark,http] Make HTTP POST downloads work
rupertbaxter2 a42c921598 Removed sleep and sleep output when interval is zero
rupertbaxter2 f96252b913 Merge remote-tracking branch 'upstream/master'
Sergey M․ c767dc74b8 [downloader/common] Fix typo
SyxbEaEQ2 00cf122d7a [downloader/common] Fix possible negative sleep time in slow_down()
rupertbaxter2 03359e9864 Added --sleep-interval option
SyxbEaEQ2 c7667c2d7f [downloader/(common/http)] Changes calculation of the rate-limit. (Fix , fix , fix , fix )
Jaime Marquínez Ferrándiz 31bb8d3f51 [bloomberg] Extract the available formats (closes )
It uses a helper method in the InfoExtractor class.
The downloader will pick the requested formats using the bitrate in the info dict.
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  or .
Jaime Marquínez Ferrándiz 087ca2cb07 [naver] Add rtmp formats (fixes )
Sergey M․ eb45133451 [rtmp] Add support for multiple AFM data entries
Sergey M․ 32fd27ec98 [http] Fix string/None comparison with int while in test
Sergey M․ df297c8794 [http] Improve download mechanism when Range HTTP header is ignored
Jaime Marquínez Ferrándiz e3ced9ed61 [downloader/common] Use `compat_str` with the error in `try_rename` (appeared in )
Otherwise on python 2.x we get `UnicodeDecodeError` because it may contain non ascii characters.
Jaime Marquínez Ferrándiz b900e7cba4 [downloader/f4m] Close the final video
Sergey M․ a59e40a1ea Replace 'referer' with 'http_referer'
Sergey M․ 1d0e49e1c7 Use explicitly set Referer header for downloading
Philipp Hagemeister 75f2e25ba9 [downloader/hls] Encode filename (Fixes )
Jaime Marquínez Ferrándiz 22ff5d2105 [http] Use the `YoutubeDL.urlopen` method
Sergey M․ 9d6105c9f0 Do not resume live streams
No resuming or seeking in live streams is possible (c) man rtmpdump
Sergey M․ 8dec03ecba Use unicode literals
Sergey M․ 826547870b Report no connect as error
Sergey M․ 52d6a9a61d Handle rtmpdump's no connection return value
Sergey M․ ad242b5fbc Remove superfluous whitespace
Sergey M․ 3524175625 Use meaningful return value constants for rtmpdump
rzhxeo 60daf7f0bb Set resume_len to 0 if download is restarted
Philipp Hagemeister 1df96e59ce [f4m] Clean up
Jaime Marquínez Ferrándiz 1824b48169 [f4m] Download only the first fragment with the `--test` option
Philipp Hagemeister b53466e168 Fix f4m downloading on Python 2.6
Jaime Marquínez Ferrándiz cf1eb45153 Add a downloader for f4m manifests
Sergey M. 082c6c867a [bbc.co.uk] Add support for bbc.co.uk radio programmes (Closes )
Philipp Hagemeister db1f388878 [huffpost] Add support
Jaime Marquínez Ferrándiz f89197d73e Some pep8 style fixes
Jaime Marquínez Ferrándiz 70af3439e9 [hls] Fix the program name when reporting the file size
Jaime Marquínez Ferrándiz 7976fcac55 [http] Fix ‘err’ variable not being assigned in an except block ()
Philipp Hagemeister dabc127362 Remove dead code
Philipp Hagemeister c25c991809 [mplayer] Fix error introduced by downloader separation
Philipp Hagemeister 1538eff6d8 [bliptv] Remove support for direct downloads
This is now handled by the generic IE
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