31736 Commits

Author SHA1 Message Date
Crend King
9b76e517aa Use the full flag notation 2020-09-17 16:00:12 -07:00
Stefan Pöschel
6e65a2a67e
[downloader/hls] Fix incorrect end byte in Range HTTP header for media segments with EXT-X-BYTERANGE (#24512) (closes #14748)
The end of the byte range is the first byte that is NOT part of the to
be downloaded range. So don't include it into the requested HTTP
download range, as this additional byte leads to a broken TS packet and
subsequently to e.g. visible video corruption.

Fixes #14748.
2020-09-18 05:26:56 +07:00
Jody Bruchon
1d74d8d9f6 Try to mitigate the problem of loading a fully sorted archive
Sorted archives turn the binary tree into a linked list and make
things horribly slow. This is an incomplete mitigation for this
issue.
2020-09-17 17:28:22 -04:00
Sergey M․
f8c7bed133
[extractor/common] Handle ssl.CertificateError in _request_webpage (closes #26601)
ssl.CertificateError is raised on some python versions <= 3.7.x
2020-09-18 03:41:16 +07:00
Sergey M․
cdc55e666f
[downloader/http] Improve timeout detection when reading block of data (refs #10935) 2020-09-18 03:32:54 +07:00
Ori Avtalion
86b7c00adc
[downloader/http] Retry download when urlopen times out (#26603) (refs #10935) 2020-09-18 03:15:44 +07:00
Jody Bruchon
1de7ea76f8 Remove recursion in at_insert() 2020-09-17 15:08:33 -04:00
Jody Bruchon
a5029645ae Remove debugging print statements 2020-09-17 14:46:11 -04:00
Jody Bruchon
ecdec1913f Keep download archive in memory for better performance
The old behavior was to open and scan the entire archive file for
every single video download. This resulted in horrible performance
for archives of any remotely large size, especially since all new
video IDs are appended to the end of the archive. For anyone who
uses the archive feature to maintain archives of entire video
playlists or channels, this meant that all such lists with newer
downloads would have to scan close to the end of the archive file
before the potential download was rejected. For archives with tens
of thousands of lines, this easily resulted in millions of line
reads and checks over the course of scanning a single channel or
playlist that had been seen previously.

The new behavior in this commit is to preload the archive file
into a binary search tree and scan the tree instead of constantly
scanning the file on disk for every file. When a new download is
appended to the archive file, it is also added to this tree. The
performance is massively better using this strategy over the more
"naive" line-by-line archive file parsing strategy.

The only negative consequence of this change is that the archive
in memory will not be synchronized with the archive file on disk.
Running multiple instances of the program at the same time that
all use the same archive file may result in duplicate archive
entries or duplicated downloads. This is unlikely to be a serious
issue for the vast majority of users. If the instances are not
likely to try to download identical video IDs then this should
not be a problem anyway; for example, having two instances pull
two completely different YouTube channels at once should be fine.

Signed-off-by: Jody Bruchon <jody@jodybruchon.com>
2020-09-17 14:22:07 -04:00
nixxo
2a4bb38e99 Merge branch 'ytdl-org-master' into master 2020-09-17 16:23:49 +02:00
SeonjaeHyeon
217e517384
[naver] Add support for live videos 2020-09-17 22:14:30 +09:00
Unknown
7ac0ba50ce [hotstar] regex fix 2020-09-17 14:00:03 +02:00
vidaritos
3513f7f95b Merge branch 'master' of https://github.com/ytdl-org/youtube-dl 2020-09-17 12:57:42 +02:00
Aakash Gajjar
19ee7e1543 fix(tiktok): use Referer header in requests
Signed-off-by: Aakash Gajjar <skyqutip@gmail.com>
2020-09-17 11:07:44 +05:30
Crend King
c54985aa91 Remove the continue argument to aria2c when --no-continue is specified 2020-09-16 15:07:45 -07:00
Ori Avtalion
81496c5d3b [downloader/http] Retry download when urlopen times out 2020-09-16 19:36:18 +03:00
Unknown
fe84e2a391 [skip travis] winver 2020-09-16 14:22:51 +02:00
Unknown
17cb02d0c6 bump version 2020.09.16 2020-09-16 13:55:35 +02:00
Unknown
78895bd3a1 [Core] hls manifests, dynamic mpd 2020-09-16 13:00:41 +02:00
Tom-Oliver Heidel
08676fb591 Merge branch 'Zocker1999NET-ext/remuxe-video' 2020-09-16 10:31:30 +02:00
Tom-Oliver Heidel
cd93279de8 Merge branch 'ext/remuxe-video' of https://github.com/Zocker1999NET/youtube-dl into Zocker1999NET-ext/remuxe-video 2020-09-16 10:30:38 +02:00
Unrud
c8bea42f41 Fix import error 2020-09-16 06:09:37 +02:00
J. Randall Owens
fe051b2bf4 Merge branch 'master' of https://github.com/rg3/youtube-dl 2020-09-16 01:20:52 +01:00
Joel Potts
68073607e0 [youtube] Fixed 'next_link' regular expression 2020-09-15 11:48:23 +02:00
Unrud
4d46360fb6 Kill child processes
When the youtube-dl processes is killed, child processes like `ffmpeg` keep running in the background.
The solution is similiar to [the implementation of subprocess.call](75c1ca7b6c/Lib/subprocess.py (L250)).

The problem doesn't arise when youtube-dl runs in a terminal and Ctrl+C is pressed, because the terminal sends SIGINT to all processes of the process group.
It becomes an issue when youtube-dl is started outside of a terminal or integrated into another program.
2020-09-15 00:23:57 +02:00
Tom-Oliver Heidel
89233ccbfb
Merge pull request #110 from JensTimmerman/patch-5
Update README.md
2020-09-14 15:12:26 +02:00
un.def
cdf98a34ea [wasdtv] Add new extractor 2020-09-14 16:04:04 +03:00
Jens Timmerman
8a92dee72c
Update README.md
cleanup + typo fix
2020-09-14 13:59:51 +02:00
Tom-Oliver Heidel
04e2a14b65 Merge branch 'tpikonen-elonet' 2020-09-14 13:26:09 +02:00
Tom-Oliver Heidel
c11c64f318 Merge branch 'elonet' of https://github.com/tpikonen/youtube-dl into tpikonen-elonet 2020-09-14 13:24:18 +02:00
Tom-Oliver Heidel
4c7d0c13e1 Merge branch 'fix-mitele' of https://github.com/DjMoren/youtube-dl 2020-09-14 13:22:50 +02:00
Tom-Oliver Heidel
b4b3a22dae Merge branch 'DjMoren-fix-mitele' 2020-09-14 13:20:00 +02:00
Tom-Oliver Heidel
acdb1a4ec6 Merge branch 'arbitrary-merges' of https://github.com/fstirlitz/youtube-dlc 2020-09-14 13:04:24 +02:00
Unknown
1985f657e5 Merge branch 'ytdl-org-master' 2020-09-14 12:54:54 +02:00
felix
d03cfdce1b Support arbitrary stream merges
With this change, the merge operator may join any number of media streams,
video or audio. The streams are downloaded in the order specified.

Also, fix the metadata post-processor so that it doesn't leave out
any streams.
2020-09-14 12:53:09 +02:00
Unknown
e69dd78090 merge ytdl-master 2020-09-14 12:50:56 +02:00
Tom-Oliver Heidel
0e0b56a290
Merge pull request #105 from JensTimmerman/patch-3
Update README.md
2020-09-14 07:20:25 +02:00
Sergey M․
e8c5d40bc8
release 2020.09.14 2020.09.14 2020-09-14 03:37:36 +07:00
Sergey M․
ca7ebc4e5e
[ChangeLog] Actualize
[ci skip]
2020-09-14 03:35:18 +07:00
Sergey M․
bff857a8af
[postprocessor/embedthumbnail] Fix issues (closes #25717)
* Fix WebP with wrong extension processing
* Fix embedding of thumbnails with % character in path
2020-09-14 03:28:31 +07:00
Alex Merkel
a31a022efd
[postprocessor/embedthumbnail] Add support for non jpeg/png thumbnails (closes #25687) 2020-09-14 03:10:01 +07:00
Awal Garg
6635b191fc [JioSaavn] Add extractor 2020-09-14 00:06:32 +05:30
Jens Timmerman
893afc2ca8
Update README.md 2020-09-13 17:39:53 +02:00
Sergey M․
45f6362464
[rtlnl] Extend _VALID_URL for new embed URL schema 2020-09-13 21:42:06 +07:00
Derek Land
97f34a48d7
[rtlnl] Extend _VALID_URL (#26549) (closes #25821) 2020-09-13 21:38:16 +07:00
Sergey M
820c361c14
Update rtlnl.py 2020-09-13 21:37:15 +07:00
Daniel Peukert
ea74e00b3a
[youtube] Fix empty description extraction (#26575) (closes #26006) 2020-09-13 21:23:21 +07:00
Sergey M․
06cd4cdb25
[srgssr] Extend _VALID_URL (closes #26555, closes #26556, closes #26578) 2020-09-13 21:07:25 +07:00
Sergey M․
da2069fb22
[googledrive] Use redirect URLs for source format (closes #18877, closes #23919, closes #24689, closes #26565) 2020-09-13 20:49:32 +07:00
Tom-Oliver Heidel
3796554609
Merge pull request #102 from blackjack4494/gdcvault-fix
[gdcvault] fix extractor
2020-09-13 15:22:33 +02:00