Commit Graph

270 Commits (c0af11abeeaad75f4387ad77adc751715dfc0cf4)

Author SHA1 Message Date
Yen Chi Hsuan 985e4fdc07 [downloader/hls] Add headers only for http(s) URLs
ffmpeg 2.8.1 raises an error with -headers and non-http input files.
Sergey M․ 964e7b2dd0 [downloader/common] Always skip "already downloaded" check when outputting to stdout
AndroKev f101079ae0 [downloader/rtmp] Respect --no-continue option
now when downloading a "rtmp-file" the --no-continue option works!
Sergey M․ f102819463 [downloader/hls] Pass http headers to downloader
Jaime Marquínez Ferrándiz 8a7bbd1606 [postprocessor/ffmpeg] Always use the 'file:' protocol for filenames (fixes )
If the filename contains ':' it is interpreted as a protocol.
It also handles filenames starting with '-'.
Sergey M․ 133a2b4ac2 [downloader/hls] Properly close stream
Sergey M․ 1195a38f46 [downloader/external] Use generalized cli option converters
remitamine dc534b674f [downloader/external] change _argless_option function to _valueless_option
remitamine f30c2e8e98 [downloader/external] add _argless_option for option without arguments
remitamine 266b0ad676 [downloader/external] add _bool_option to pass value to bool option
remitamine e7a8c3032d [downloader/external] Respect --no-check-certificate for curl and aria2c and --proxy for curl
Sergey M․ fcd9e423ec [hls] Properly encode fragment filename
Sergey M․ db8f2bfd99 [f4m] Add missing imports
Sergey M. 55801fc76e Merge pull request from aajanki/encode_frag_filenames
[f4m] Fix encode error by sanitizing fragment filenames
Sergey M․ 7393746da2 [downloader/hls] Add _debug_cmd
Sergey M․ 6828c809e4 [downloader/fragment] Respect --retries for fragment based downloaders (Closes )
Sergey M․ 9f3da13860 [downloader/external] Use generic _option
Sergey M․ bf812ef714 [downloader/external] Forward --proxy to wget and aria2c
Sergey M․ 154655a85a [downloader/external] Respect --no-check-certificate for wget
vijayanand nandam e0ac521438 adding support for axel download manager
Sergey M․ 84bc4dcb0f [downloader/http] Clarify rationale for Content-Range check ()
Sergey M․ 10eaa8ef1d [downloader/http] Report unable to resume
Sergey M․ c3124c3085 [downloader/http] Simplify
remitamine 8d5b8b477e [utils] import re
remitamine d7d2a9a3db [utils] restart download if server does not support byte ranges
Sergey M․ f9a5affad9 [hls] Implement hlsnative fd in terms of fragment fd
Sergey M․ ab81ef8fa7 [f4m] Implement f4m fd in terms of fragment fd
Sergey M․ 95d8f7ea12 [fragment] Generalize fragmented media file downloader
Jaime Marquínez Ferrándiz 59db9f8018 [downloader/dash] Improve 'combine_url' (fixes )
In some videos the base_url already ends with '/'.
Jaime Marquínez Ferrándiz 2ee8f5d80f Merge remote-tracking branch 'yan12125/download-dash-segments' ()
Sergey M․ 6c4d20cd6f [downloader/external] Fix externals downloaders specified with extension on Windows
Jaime Marquínez Ferrándiz 906e2f0eac [downloader/external] Add downloader for httpie (closes )
Yen Chi Hsuan 5bf3276e8d [downloader/dash] Add testing facility
Yen Chi Hsuan 93dfcb9357 [downloader/dash] Do not pollute ```self```
Yen Chi Hsuan 423d2be5f8 [downloader/dash] Rename the protocol
'http_dash_segments' looks more like a protocol name than
'dash_segments'
Yen Chi Hsuan 453a1617aa [downloader/dash] Reorder imports
Yen Chi Hsuan b9258c6178 [YoutubeDL] Change how DashSegmentsFD is selected
Yen Chi Hsuan 6800d3372f [YoutubeDL] Support DASH manifest downloading
Yen Chi Hsuan 156fc83a55 [downloader/rtmp] Fix a typo
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()
Jaime Marquínez Ferrándiz 2ddcd88129 Remove code that was only used by the Grooveshark extractor
Sergey M․ 74f8654a53 [downloader/external] Use encodeArgument
Sergey M․ 9e105a858c [downloader/rtmp] Fix arguments encoding and simplify retry logic (Closes )
Sergey M․ cd8a07a764 [downloader/common] Use decodeArgument
Sergey M․ a5ebf77d87 [mplayer] Rename to RTSP
Sergey M․ b874495b1f [mplayer] Simplify
Sergey M․ b860f5dfd4 [mplayer] Clarify error message
mrkrossxdx db37e0c273 Added support for mpv if mplayer is not available
Yen Chi Hsuan c6391cd587 [Senate] Add new extractor ()
Philipp Hagemeister c59e701e35 Default to continuedl=True
We already do this in the CLI interface, so it should be just fine.
Jaime Marquínez Ferrándiz 70a1165b32 Don't use bare 'except:'
They catch any exception, including KeyboardInterrupt, we don't want to catch it.
Jaime Marquínez Ferrándiz 43d6280d0a [downloader/f4m] Fix use of base64 in python 3.2 (fixes )
b64decode needs a byte string, but on 3.4 it also accepts strings.
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)
Jaime Marquínez Ferrándiz 123397317c [downloader/http] Remove wrong '_hook_progress' call (fixes )
Philipp Hagemeister c75f0b361a [downloader/external] Add support for custom options (Fixes , closes )
Philipp Hagemeister 2a15a98a6a [rmtp] Encode filename before invoking subprocess
This fixes .
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"
Antti Ajanki 5eaaeb7c31 [f4m] Tolerate missed fragments on live streams
Antti Ajanki c4f8c453ae [f4m] Refresh fragment list periodically on live streams
Philipp Hagemeister 8fb3ac3649 PEP8: W503
Philipp Hagemeister 09ab40b7d1 Merge branch 'progress-as-hook2'
Philipp Hagemeister a91a2c1a83 [downloader] Remove various unneeded assignments and imports
Philipp Hagemeister 16e7711e22 [downloader/http] Remove gruesome import
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 .
Philipp Hagemeister 8ac27a68e6 [hls] Switch to available as a property
Jaime Marquínez Ferrándiz fbc503d696 [downloader/hls] Fix detection of ffmpeg/avconv (reported in )
Jaime Marquínez Ferrándiz 163d966707 [downloader/external] curl: Add the '--location' flag
curl doesn't follow redirections by default
Philipp Hagemeister 85729c51af [downloader] Add --hls-prefer-native to use the native HLS downloader ()
Philipp Hagemeister 73fac4e911 [ffmpeg] Add --ffmpeg-location
Philipp Hagemeister cc9ca3ba6e [downloader/external] Simplify source_address
'' might actually be passed in, so check for None.
Sergey M․ ae7773942e [downloader/external] Simplify
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