Commit Graph

49 Commits (b30e4c275431124453ba4bc67b99d05bbc7ae8b4)

Author SHA1 Message Date
Remita Amine 6f126d903f [download/hls] Delegate downloading to ffmpeg for live streams
Sergey M․ 2e99cd30c3
[downloader/dash:hls] Report exact fragment error on retry
Sergey M․ 25afc2a783
[downloader/dash:hls] Respect --fragment-retries and --skip-unavailable-fragments (Closes , closes )
Remita Amine b8079a40bc [turner] fix secure m3u8 formats downloading
Remita Amine 07ea9c9b05 [downloader/hls] fill IV with zeros for IVs shorter than 16-octet
Remita Amine aaf44a2f47 [uplynk] Add new extractor
Sergey M․ 8369a4fe76
[downloader/hls] Simplify and carry long lines
remitamine e154c65128 [downloader/hls] Add support for AES-128 encrypted segments in hlsnative downloader
Sergey M․ 633b444fd2
[downloader/hls] Correct comment on twitch vods
Sergey M․ 51c4d85ce7
[downloader/hls] PEP 8
Sergey M․ 1e236d7e23
[downloader/hls] Do not rely on EXT-X-PLAYLIST-TYPE:EVENT
Sergey M․ 2937590e8b
[downloader/hls] PEP 8
Sergey M․ 6104cc2985
[downloader/hls] Add event media playlists to unsupported features of hlsnative
Sergey M․ c15c47d19b
[downloader/hls] Remove EXT-X-MEDIA-SEQUENCE from unsupported features for hlsnative
Sergey M․ 0d66bd0eab
[downloader/hls] Delegate extraction to ffmpeg when unsupported features detected
remitamine 12b84ac8c1 [downloader/external] Add FFmpegFD(fixes )
- replace HlsFD and RtspFD
- add basic support for downloading part of the video or audio
Sergey M․ 56401e1e5f [downloader/hls] Do not send 'q' to ffmpeg on Windows (Closes )
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.
Jaime Marquínez Ferrándiz 9d90e7de03 [downloader/hls] Ask ffmpeg to quit when interrupting youtube-dl with 'Ctrl+C' ()
Otherwise the mp4 file can't be played.
Jaime Marquínez Ferrándiz 3f17c357d9 [downloader/hls] Don't let ffmpeg read from stdin ()
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)
Yen Chi Hsuan 94e8c80473 [downloader/hls] Respect Youtubedl-* headers
Yen Chi Hsuan 9d0e366880 [downloader/hls] Remove Accept-encoding from headers passed to ffmpeg
Fails for Youtube Gaming live streams ()
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․ 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․ fcd9e423ec [hls] Properly encode fragment filename
Sergey M․ 7393746da2 [downloader/hls] Add _debug_cmd
Sergey M․ f9a5affad9 [hls] Implement hlsnative fd in terms of fragment fd
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 )
Philipp Hagemeister 73fac4e911 [ffmpeg] Add --ffmpeg-location
Sergey M․ 4a3da4ebdb [hls] Simplify
Sergey M․ 027008b14e [hls] Fix encode issues on python2 @ Windows
Jaime Marquínez Ferrándiz 63948fc62c [downloader/hls] Respect the 'prefer_ffmpeg' option
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 5f9b83944d [ffmpeg] Improve version check and call it from hls (Fixes )
Philipp Hagemeister 0e44f90e18 [hls] Remove useless u porefixes
Jouke Waleson 5f6a1245ff PEP8 applied
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 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
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 .
Philipp Hagemeister 75f2e25ba9 [downloader/hls] Encode filename (Fixes )
Jaime Marquínez Ferrándiz 70af3439e9 [hls] Fix the program name when reporting the file size
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