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
Remita Amine
07ea9c9b05
[downloader/hls] fill IV with zeros for IVs shorter than 16-octet
8 years ago
Remita Amine
aaf44a2f47
[uplynk] Add new extractor
8 years ago
Remita Amine
acfccacad5
[downloader/external:curl] Clarify why CurlFD should not capture stderr
8 years ago
Remita Amine
98e698f1ff
[external/curl] respect more downloader options and display progress
8 years ago
Sergey M․
1ad6b891b2
Add more checks for --min/max-sleep-interval arguments and use more idiomatic naming
8 years ago
singh-pratyush96
065bc35489
Add --max-sleep-interval ( Closes #9930 )
8 years ago
Yen Chi Hsuan
477b7a8474
[downloader/f4m] Fix for Rai live streams
8 years ago
Sergey M․
8369a4fe76
[downloader/hls] Simplify and carry long lines
8 years ago
remitamine
e154c65128
[downloader/hls] Add support for AES-128 encrypted segments in hlsnative downloader
8 years ago
Sergey M․
e69f9f5d68
[downloader/external] Decode error string before writing to stderr
9 years ago
Yen Chi Hsuan
50ce1c331c
[downloader/external] Add another env for proxies in ffmpeg/avconv
...
Related sources:
https://git.libav.org/?p=libav.git;a=blob;f=libavformat/http.c;h=8fe8d11e1edfdbb04a8726db2c49cfef3f572aac;hb=HEAD#l152
https://git.libav.org/?p=libav.git;a=blob;f=libavformat/tls.c;h=fab243e93e20034e88e619188c13a44a5d8ccdb9;hb=HEAD#l63
https://github.com/FFmpeg/FFmpeg/blob/f8e89d8/libavformat/http.c#L191
https://github.com/FFmpeg/FFmpeg/blob/f8e89d8/libavformat/tls.c#L92
9 years ago
Sergey M․
633b444fd2
[downloader/hls] Correct comment on twitch vods
9 years ago
Sergey M․
51c4d85ce7
[downloader/hls] PEP 8
9 years ago
Sergey M․
1e236d7e23
[downloader/hls] Do not rely on EXT-X-PLAYLIST-TYPE:EVENT
9 years ago
Sergey M․
2615fa7584
[downloader/f4m] Simply select format when it's the only one
9 years ago
Yen Chi Hsuan
1b405bb47d
[downloader/f4m] Tolerate truncate segments when testing
...
Replaces #9216
Fixes #9214 and test_Bloomberg partially
9 years ago
Yen Chi Hsuan
edaa23f822
[compat] Rename struct_(un)pack to compat_struct_(un)pack
9 years ago
Yen Chi Hsuan
dab0daeeb0
[utils,compat] Move struct_pack and struct_unpack to compat.py
9 years ago
Sergey M․
2937590e8b
[downloader/hls] PEP 8
9 years ago
Sergey M․
e62d9c5caa
[downloader/external] Call ffmpeg with with HTTP_PROXY env variable set ( #9437 )
9 years ago
Sergey M․
6104cc2985
[downloader/hls] Add event media playlists to unsupported features of hlsnative
9 years ago
Sergey M․
c15c47d19b
[downloader/hls] Remove EXT-X-MEDIA-SEQUENCE from unsupported features for hlsnative
9 years ago
Sergey M
eb785b856f
Merge pull request #9358 from dstftw/hls-native-to-ffmpeg-delegation
...
[downloader/hls] Delegate extraction to ffmpeg when unsupported features detected
9 years ago
Sergey M․
f5436c5d9e
[downloader/external] Add temp fix ffmpeg m3u8 downloads ( Closes #9394 )
9 years ago
Sergey M․
0d66bd0eab
[downloader/hls] Delegate extraction to ffmpeg when unsupported features detected
9 years ago
Sergey M․
bf09af3acb
Add --hls-prefer-ffmpeg
9 years ago
remitamine
d868f43c58
[ffmpeg] check for - file name in _ffmpeg_filename_argument
9 years ago
remitamine
ce599d5a7e
[downloader/external] enable piping for FFmpegFD( closes #2124 )
9 years ago
Yen Chi Hsuan
f5d8743e0a
[downloader/rtsp] Print the command
9 years ago
Sergey M․
f7df343b4a
[downloader/f4m] Extract routine for removing unsupported encrypted media
9 years ago
Sergey M․
16a8b7986b
[downloader/fragment] Document fragment_retries
9 years ago
Sergey M․
617e58d850
[downloader/{common,fragment}] Fix total retries reporting on python 2.6
9 years ago
Sergey M․
e33baba0dd
[downloader/dash] Add fragment retry capability
...
YouTube may often return 404 HTTP error for a fragment causing the
whole download to fail. However if the same fragment is immediately
retried with the same request data this usually succeeds (1-2 attemps
is usually enough) thus allowing to download the whole file successfully.
So, we will retry all fragments that fail with 404 HTTP error for now.
9 years ago
Sergey M․
721f26b821
[downloader/fragment] Add report_retry_fragment
9 years ago
remitamine
4230c4894d
[external/downloader] fix rtmp downloading using FFmpegFD
9 years ago
remitamine
2e7e561c1d
Merge pull request #8611 from remitamine/ffmpegfd
...
[downloader/external] Add FFmpegFD
9 years ago
remitamine
d8515fd41c
[downloader/external] pass configuration args to ffmpeg
9 years ago
remitamine
694c47b261
[external/downloader] don't pass -t and -ss to ffmpeg
9 years ago
remitamine
77dea16ac8
[downloader/external] check for ffmpeg availablity when it used for m3u8 download
9 years ago
remitamine
6ae27bed01
[download/external] move the check for multiple selected formats to get_suitable_downloader
9 years ago
remitamine
da1973a038
[extractor/__init__] disable time range downloading
9 years ago
remitamine
be24916a7f
[downloader/rtsp] Add rtsp and mms downloader
9 years ago
remitamine
2cb99ebbd0
[downloader/external] add can_download mathod for checking downloader availibilty and support
9 years ago
remitamine
91ee320bfa
[downloader/external] wrap available_opt in a list
9 years ago
remitamine
634415ca17
[downloader/external] skip FFmpegFD when requesting multiple formats
9 years ago
remitamine
a755f82549
[ffmpeg] convert format ext to ffmpeg output formats codes
9 years ago
Sergey M․
1b5284b13f
[downloader/fragment] Make speed more smooth
...
At the beginning of every segment there was a drop to Unknown speed due to timeslice being too small to calculate speed.
Now last speed from the previous fragment is used.
9 years ago
Yen Chi Hsuan
e9c0cdd389
[jython] Introduce compat_os_name
...
os.name is always 'java' on Jython
9 years ago
remitamine
f34294fa0c
[downloader/external:ffmpegfd] check for None value of start_time
9 years ago
remitamine
99cbe98ce8
[downloader/external] check for external downloaders availability
9 years ago
remitamine
12b84ac8c1
[downloader/external] Add FFmpegFD( fixes #622 )
...
- replace HlsFD and RtspFD
- add basic support for downloading part of the video or audio
9 years ago
Sergey M․
611c1dd96e
[refactor] Single quotes consistency
9 years ago
Sergey M․
d800609c62
[refactor] Do not specify redundant None as second argument in dict.get()
9 years ago
Sergey M․
c78c9cd10d
[downloader/dash] PEP 8
9 years ago
remitamine
c43fe0268c
[downloader/dash] Implement dashsegments fd in terms of fragment fd
9 years ago
Sergey M․
56401e1e5f
[downloader/hls] Do not send 'q' to ffmpeg on Windows ( Closes #8300 )
9 years ago
remitamine
a1a22572fb
[downloader/dash] make initialization_url optional
9 years ago
Sergey M․
b8c9926c0a
[downloader/f4m] Do not update fragment list while test
9 years ago
Sergey M․
2c2f1efdcd
[downloader/fragment] Remove superfluous whitespace
9 years ago
Sergey M․
09104e9930
[downloader/f4m] Add live stream flag to context
...
Now download progress for f4m livestreams is reported correctly
9 years ago
Sergey M․
5fa1702ca6
[downloader/fragment] Do not report total bytes estimation and eta for live streams
9 years ago
Sergey M․
8ab3fe81d8
[downloader/f4m] Prefer bootstrap url attribute over inline bootstrap info
9 years ago
Jaime Marquínez Ferrándiz
7d106a65ca
Add --hls-use-mpegts option
...
When using the mpegts container hls vidoes can be played while being downloaded (useful if you are recording a live stream).
VLC and mpv play them file, but QuickTime doesn't.
9 years ago
Jaime Marquínez Ferrándiz
32d77eeb04
[downloader/common] report_retry: Don't crash when retries is infinite ( fixes #8299 )
9 years ago
Jaime Marquínez Ferrándiz
9d90e7de03
[downloader/hls] Ask ffmpeg to quit when interrupting youtube-dl with 'Ctrl+C' ( #8252 )
...
Otherwise the mp4 file can't be played.
9 years ago
Sergey M․
b83b782dc4
[downloader/fragment] Move helper data to context dict
9 years ago
Sergey M․
709185a264
[downloader/fragment] More smooth calculations
...
`downloaded_bytes` is now updated on each fragment progress hook invocation
9 years ago
Sergey M․
9cb1a06b6c
[downloader/fragment] Remove unused code and fix zero division error
9 years ago
Jaime Marquínez Ferrándiz
3c91e41614
[downloader/fragment] Don't fail if the 'Content-Length' header is missing
...
In some dailymotion videos (like http://www.dailymotion.com/video/x3k0dtv from #8156 ) the segments URLs don't have the 'Content-Length' header and HttpFD sets the 'totat_bytes' field to None, so we also use '0' in that case (since we do different math operations with it).
9 years ago
Jaime Marquínez Ferrándiz
3f17c357d9
[downloader/hls] Don't let ffmpeg read from stdin ( #8139 )
...
If you run 'while read aurl ; do youtube-dl "${aurl}"; done < path_to_batch_file' (batch_file contains one url per line that uses the hls downloader) each call to youtube-dl consumed some characters and 'read' would assing to 'aurl' a non valid url
(This is the same problem that was fixed for the ffmpeg postprocessors in cffcbc02de
)
9 years ago
Sergey M․
9b9c5355e4
Rename error_to_str to error_to_compat_str
9 years ago
Sergey M․
7f8b271465
Properly convert errors to strings
9 years ago
Sergey M․
4db43567e8
[downloader/f4m] Decode manifest before fixing
9 years ago
Sergey M․
17b786ae73
[downloader/f4m] Fix malformed manifests ( Closes #7823 )
9 years ago
Yen Chi Hsuan
94e8c80473
[downloader/hls] Respect Youtubedl-* headers
9 years ago
Yen Chi Hsuan
9d0e366880
[downloader/hls] Remove Accept-encoding from headers passed to ffmpeg
...
Fails for Youtube Gaming live streams (#7671 )
9 years ago
Sergey M?
5c2266df4b
Switch codebase to use sanitized_Request instead of
...
compat_urllib_request.Request
[downloader/dash] Use sanitized_Request
[downloader/http] Use sanitized_Request
[atresplayer] Use sanitized_Request
[bambuser] Use sanitized_Request
[bliptv] Use sanitized_Request
[brightcove] Use sanitized_Request
[cbs] Use sanitized_Request
[ceskatelevize] Use sanitized_Request
[collegerama] Use sanitized_Request
[extractor/common] Use sanitized_Request
[crunchyroll] Use sanitized_Request
[dailymotion] Use sanitized_Request
[dcn] Use sanitized_Request
[dramafever] Use sanitized_Request
[dumpert] Use sanitized_Request
[eitb] Use sanitized_Request
[escapist] Use sanitized_Request
[everyonesmixtape] Use sanitized_Request
[extremetube] Use sanitized_Request
[facebook] Use sanitized_Request
[fc2] Use sanitized_Request
[flickr] Use sanitized_Request
[4tube] Use sanitized_Request
[gdcvault] Use sanitized_Request
[extractor/generic] Use sanitized_Request
[hearthisat] Use sanitized_Request
[hotnewhiphop] Use sanitized_Request
[hypem] Use sanitized_Request
[iprima] Use sanitized_Request
[ivi] Use sanitized_Request
[keezmovies] Use sanitized_Request
[letv] Use sanitized_Request
[lynda] Use sanitized_Request
[metacafe] Use sanitized_Request
[minhateca] Use sanitized_Request
[miomio] Use sanitized_Request
[meovideo] Use sanitized_Request
[mofosex] Use sanitized_Request
[moniker] Use sanitized_Request
[mooshare] Use sanitized_Request
[movieclips] Use sanitized_Request
[mtv] Use sanitized_Request
[myvideo] Use sanitized_Request
[neteasemusic] Use sanitized_Request
[nfb] Use sanitized_Request
[niconico] Use sanitized_Request
[noco] Use sanitized_Request
[nosvideo] Use sanitized_Request
[novamov] Use sanitized_Request
[nowness] Use sanitized_Request
[nuvid] Use sanitized_Request
[played] Use sanitized_Request
[pluralsight] Use sanitized_Request
[pornhub] Use sanitized_Request
[pornotube] Use sanitized_Request
[primesharetv] Use sanitized_Request
[promptfile] Use sanitized_Request
[qqmusic] Use sanitized_Request
[rtve] Use sanitized_Request
[safari] Use sanitized_Request
[sandia] Use sanitized_Request
[shared] Use sanitized_Request
[sharesix] Use sanitized_Request
[sina] Use sanitized_Request
[smotri] Use sanitized_Request
[sohu] Use sanitized_Request
[spankwire] Use sanitized_Request
[sportdeutschland] Use sanitized_Request
[streamcloud] Use sanitized_Request
[streamcz] Use sanitized_Request
[tapely] Use sanitized_Request
[tube8] Use sanitized_Request
[tubitv] Use sanitized_Request
[twitch] Use sanitized_Request
[twitter] Use sanitized_Request
[udemy] Use sanitized_Request
[vbox7] Use sanitized_Request
[veoh] Use sanitized_Request
[vessel] Use sanitized_Request
[vevo] Use sanitized_Request
[viddler] Use sanitized_Request
[videomega] Use sanitized_Request
[viewvster] Use sanitized_Request
[viki] Use sanitized_Request
[vk] Use sanitized_Request
[vodlocker] Use sanitized_Request
[voicerepublic] Use sanitized_Request
[wistia] Use sanitized_Request
[xfileshare] Use sanitized_Request
[xtube] Use sanitized_Request
[xvideos] Use sanitized_Request
[yandexmusic] Use sanitized_Request
[youku] Use sanitized_Request
[youporn] Use sanitized_Request
[youtube] Use sanitized_Request
[patreon] Use sanitized_Request
[extractor/common] Remove unused import
[nfb] PEP 8
9 years ago
ashutosh-mishra
17cc153435
Typo fix, found while going through the code.
9 years ago
Jaime Marquínez Ferrándiz
36e6f62cd0
Use a wrapper around xml.etree.ElementTree.fromstring in python 2.x ( #7178 )
...
Attributes aren't unicode objects, so they couldn't be directly used in info_dict fields (for example '--write-description' doesn't work with bytes).
9 years ago
Sergey M․
8cd9614abf
[downloader/f4m] More accurate fragment URL construction
9 years ago
remitamine
324ac0a243
[downloader/f4m] get the redirected f4m_url and handle url query string properly
9 years ago
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.
9 years ago
Sergey M․
964e7b2dd0
[downloader/common] Always skip "already downloaded" check when outputting to stdout
9 years ago
AndroKev
f101079ae0
[downloader/rtmp] Respect --no-continue option
...
now when downloading a "rtmp-file" the --no-continue option works!
9 years ago
Sergey M․
f102819463
[downloader/hls] Pass http headers to downloader
9 years ago
Jaime Marquínez Ferrándiz
8a7bbd1606
[postprocessor/ffmpeg] Always use the 'file:' protocol for filenames ( fixes #6874 )
...
If the filename contains ':' it is interpreted as a protocol.
It also handles filenames starting with '-'.
9 years ago
Sergey M․
133a2b4ac2
[downloader/hls] Properly close stream
9 years ago
Sergey M․
1195a38f46
[downloader/external] Use generalized cli option converters
9 years ago
remitamine
dc534b674f
[downloader/external] change _argless_option function to _valueless_option
9 years ago
remitamine
f30c2e8e98
[downloader/external] add _argless_option for option without arguments
9 years ago
remitamine
266b0ad676
[downloader/external] add _bool_option to pass value to bool option
9 years ago
remitamine
e7a8c3032d
[downloader/external] Respect --no-check-certificate for curl and aria2c and --proxy for curl
9 years ago
Sergey M․
fcd9e423ec
[hls] Properly encode fragment filename
9 years ago
Sergey M․
db8f2bfd99
[f4m] Add missing imports
9 years ago
Sergey M.
55801fc76e
Merge pull request #5588 from aajanki/encode_frag_filenames
...
[f4m] Fix encode error by sanitizing fragment filenames
9 years ago
Sergey M․
7393746da2
[downloader/hls] Add _debug_cmd
9 years ago
Sergey M․
6828c809e4
[downloader/fragment] Respect --retries for fragment based downloaders ( Closes #6549 )
9 years ago
Sergey M․
9f3da13860
[downloader/external] Use generic _option
9 years ago
Sergey M․
bf812ef714
[downloader/external] Forward --proxy to wget and aria2c
9 years ago
Sergey M․
154655a85a
[downloader/external] Respect --no-check-certificate for wget
9 years ago
vijayanand nandam
e0ac521438
adding support for axel download manager
9 years ago
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
10 years ago
Yen Chi Hsuan
93dfcb9357
[downloader/dash] Do not pollute ```self```
10 years ago
Yen Chi Hsuan
423d2be5f8
[downloader/dash] Rename the protocol
...
'http_dash_segments' looks more like a protocol name than
'dash_segments'
10 years ago
Yen Chi Hsuan
453a1617aa
[downloader/dash] Reorder imports
10 years ago
Yen Chi Hsuan
b9258c6178
[YoutubeDL] Change how DashSegmentsFD is selected
10 years ago
Yen Chi Hsuan
6800d3372f
[YoutubeDL] Support DASH manifest downloading
10 years ago
Yen Chi Hsuan
156fc83a55
[downloader/rtmp] Fix a typo
10 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()
10 years ago
Jaime Marquínez Ferrándiz
2ddcd88129
Remove code that was only used by the Grooveshark extractor
10 years ago
Sergey M․
74f8654a53
[downloader/external] Use encodeArgument
10 years ago
Sergey M․
9e105a858c
[downloader/rtmp] Fix arguments encoding and simplify retry logic ( Closes #5528 )
10 years ago
Sergey M․
cd8a07a764
[downloader/common] Use decodeArgument
10 years ago
Sergey M․
a5ebf77d87
[mplayer] Rename to RTSP
10 years ago
Sergey M․
b874495b1f
[mplayer] Simplify
10 years ago
Sergey M․
b860f5dfd4
[mplayer] Clarify error message
10 years ago
mrkrossxdx
db37e0c273
Added support for mpv if mplayer is not available
10 years ago
Yen Chi Hsuan
c6391cd587
[Senate] Add new extractor ( #5302 )
10 years ago
Philipp Hagemeister
c59e701e35
Default to continuedl=True
...
We already do this in the CLI interface, so it should be just fine.
10 years ago