Commit Graph

301 Commits (6348671c4a4e9f45cebc107ff4c148ef4970bb39)

Author SHA1 Message Date
Sergey M․ a3c3a1e128
[http] Rework HTTP downloader
* Simplify code and split into separate routines to facilitate maintaining
* Make retry mechanism work on errors during actual download not only during connection establishment phase
* Retry on ECONNRESET and ETIMEDOUT during reading data from network
* Retry on content too short and various timeout errors
* Show error description on retry
* Closes #506, closes #809, closes #2849, closes #4240, closes #6023, closes #8625, closes #9483
7 years ago
Sergey M․ 1141e9104b
Use relative paths for DASH fragments (closes #12990)
10x reduced JSON size
refs #13810
8 years ago
Sergey M․ c5a49ff084
[downloader/hls] Use redirect URL as manifest base (#13755) 8 years ago
Robin Neatherway 2583c0b54e Fix bugs caused by typos 8 years ago
Sergey M․ 1433734c35
[downloader/common] Use utils.shell_quote for debug command line 8 years ago
Sergey M․ a609e61a90
[downloader/external] Pass -loglevel to ffmpeg downloader (closes #13183) 8 years ago
Sergey M․ 50534b7158
[downloader/fragment] PEP 8 8 years ago
Sergey M․ e7db6759e4
[downloader/external] Properly handle live stream downloading cancellation (closes #8932) 8 years ago
Sergey M․ c0fa4245ce
[downloader/fragment] Remove assert for resume_len when no fragments downloaded
This may be incorrect due some header (e.g. flv header in f4m downloader)
8 years ago
Sergey M․ 85f6de25e4
[downloader/fragment] Clarify current_fragment's index and mark as experimental 8 years ago
Sergey M․ 290f64dbaa
[downloader/fragment] Improve .ytdl format and start documenting 8 years ago
Sergey M․ adb4b03cd5
[downloader/fragment] Don't process ytdl file when it's not needed yet 8 years ago
Sergey M․ 0eee52f34b
Introduce --keep-fragments 8 years ago
Sergey M․ d3f0687cf7
[downloader/fragment] Use temp file for current fragment 8 years ago
Remita Amine 4abdba643c [downloader/fragment] remove unused code 8 years ago
Remita Amine 3e0304fe6e [downloader/fragment] use the documented names for fragment progress_hooks fields 8 years ago
Remita Amine ea0c2f219c [downloader/fragment] use a general file to store fragment download context 8 years ago
Remita Amine 75a2485407 [fragment,hls,f4m,dash,ism] improve fragment downloading
- resume immediately
- no need to concatenate segments and decrypt them on every resume
- no need to save temp files for segments

and for hls downloader:
- no need to download keys for segments that already downloaded
8 years ago
Remita Amine f59746372a [downloader/hls] add basic support for EXT-X-BYTERANGE tag(#10955) 8 years ago
Remita Amine 40fcba5edb improve coding style 8 years ago
Remita Amine 2bfaf89b6c [downloader/hls] move check for m3u8 live streams to get_suitable_downloader 8 years ago
Remita Amine fb4fc44928 [downloader/hls] immediately delegate downloading to ffmpeg in case live stream 8 years ago
Sergey M․ a50862b735
[downloader/external] Add missing import and PEP8 8 years ago
John Hawkinson 6d0fe752bf [external:ffmpeg] In test harness, limit to 10k download size
Otherwise, if you screw up a playlist test by including a playlist
dictionary key, you'll be there for eons while it downloads all the
files before erroring out.
8 years ago
Pratyush Singh d374d943f3
[downloader/common] Limit displaying 2 digits after decimal point in sleep interval message 8 years ago
Sergey M․ de64e23c56
[downloader/ism] Honor HTTP headers when downloading fragments 8 years ago
Sergey M․ 553f6dbac7
[downloader/dash] Honor HTTP headers when downloading fragments
For example, https://www.oppetarkiv.se/video/1196142/natten-ar-dagens-mor
8 years ago
Remita Amine be670b8e8f [external:ffmpeg] do not assume that ffmpeg unknown version format is new 8 years ago
Sergey M․ 7097bffba6
[downloader/fragment] Respect --no-part 8 years ago
Remita Amine 36fce54816 [turner] fix downloading of secure hls formats using ffmpeg(closes #11358)(closes #11373)(closes #11800) 8 years ago
Remita Amine 8bdc149441 [downloader/external:ffmpeg] minimize the use of aac_adtstoasc filter 8 years ago
Remita Amine bfa1073e11 [uplynk] force downloading using hls native downloader(closes #11496) 8 years ago
Yen Chi Hsuan 582be35847
Update coding style after pycodestyle 2.1.0
In pycodestyle 2.1.0, E305 was introduced, which requires two blank
lines after top level declarations, too.

See https://github.com/PyCQA/pycodestyle/issues/400

See also #10689; thanks @stepshal for first mentioning this issue and
initial patches
8 years ago
Sergey M․ 690355551c
[downoader/fragment,f4m,hls] Add internal support for custom HTTP headers 8 years ago
Sergey M․ 9d64e1dcdc
[downloader/ism] Fix typo 8 years ago
Remita Amine 10380e55de [downloader/ism] fix AVC Decoder Configuration Record creation in python 3 8 years ago
Remita Amine b2758123c5 add Basic support for Smooth Streaming protocol(#8118) 8 years ago
Sergey M․ bcd6276520
[downloader/common] Remove debug output 8 years ago
Yen Chi Hsuan d54739a2e6
[downloader/http] xattr values should be bytes 8 years ago
Yen Chi Hsuan d7753d1948
[downloader/http] Use write_xattr function for --xattr-set-filesize 8 years ago
Remita Amine 6f126d903f [download/hls] Delegate downloading to ffmpeg for live streams 8 years ago
Sergey M․ 86f4d14f81
Refactor fragments interface and dash segments downloader
- Eliminate segment_urls and initialization_url
+ Introduce manifest_url (manifest may contain unfragmented data in this case url will be used for direct media URL and manifest_url for manifest itself correspondingly)
* Rewrite dashsegments downloader to use fragments data
* Improve generic mpd extraction
8 years ago
Yen Chi Hsuan 919cf1a62f
[downloader/dash] Abort if the first segment fails
Closes #10497, Closes #10542
8 years ago
Sergey M․ 4a69fa04e0
[downloader/dash] Abort download immediately after giving up on some fragment 8 years ago
Sergey M․ 2e99cd30c3
[downloader/dash:hls] Report exact fragment error on retry 8 years ago
Sergey M․ 25afc2a783
[downloader/dash:hls] Respect --fragment-retries and --skip-unavailable-fragments (Closes #10165, closes #10448) 8 years ago
Sergey M․ 9603b66012
Introduce --skip-unavailable-fragments 8 years ago
Yen Chi Hsuan 6c9b71bc08
[downloader/external] Recommend --hls-prefer-native for SOCKS users
Related: #10490
8 years ago
Remita Amine b8079a40bc [turner] fix secure m3u8 formats downloading 8 years ago
Yen Chi Hsuan 20bad91d76
[downloader/external] Clarify that ffmpeg doesn't support SOCKS
Ref: #10304
8 years ago