Skip to content

Commit aed7683

Browse files
committed
New upstream version 2021.01.08
1 parent 9aeff2e commit aed7683

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

122 files changed

+6938
-4727
lines changed

ChangeLog

Lines changed: 310 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,313 @@
1+
version 2021.01.08
2+
3+
Core
4+
* [downloader/hls] Disable decryption in tests (#27660)
5+
+ [utils] Add a function to clean podcast URLs
6+
7+
Extractors
8+
* [rai] Improve subtitles extraction (#27698, #27705)
9+
* [canvas] Match only supported VRT NU URLs (#27707)
10+
+ [bibeltv] Add support for bibeltv.de (#14361)
11+
+ [bfmtv] Add support for bfmtv.com (#16053, #26615)
12+
+ [sbs] Add support for ondemand play and news embed URLs (#17650, #27629)
13+
* [twitch] Drop legacy kraken API v5 code altogether and refactor
14+
* [twitch:vod] Switch to GraphQL for video metadata
15+
* [canvas] Fix VRT NU extraction (#26957, #27053)
16+
* [twitch] Switch access token to GraphQL and refactor (#27646)
17+
+ [rai] Detect ContentItem in iframe (#12652, #27673)
18+
* [ketnet] Fix extraction (#27662)
19+
+ [dplay] Add suport Discovery+ domains (#27680)
20+
* [motherless] Improve extraction (#26495, #27450)
21+
* [motherless] Fix recent videos upload date extraction (#27661)
22+
* [nrk] Fix extraction for videos without a legalAge rating
23+
- [googleplus] Remove extractor (#4955, #7400)
24+
+ [applepodcasts] Add support for podcasts.apple.com (#25918)
25+
+ [googlepodcasts] Add support for podcasts.google.com
26+
+ [iheart] Add support for iheart.com (#27037)
27+
* [acast] Clean podcast URLs
28+
* [stitcher] Clean podcast URLs
29+
+ [xfileshare] Add support for aparat.cam (#27651)
30+
+ [twitter] Add support for summary card (#25121)
31+
* [twitter] Try to use a Generic fallback for unknown twitter cards (#25982)
32+
+ [stitcher] Add support for shows and show metadata extraction (#20510)
33+
* [stv] Improve episode id extraction (#23083)
34+
35+
36+
version 2021.01.03
37+
38+
Extractors
39+
* [nrk] Improve series metadata extraction (#27473)
40+
+ [nrk] Extract subtitles
41+
* [nrk] Fix age limit extraction
42+
* [nrk] Improve video id extraction
43+
+ [nrk] Add support for podcasts (#27634, #27635)
44+
* [nrk] Generalize and delegate all item extractors to nrk
45+
+ [nrk] Add support for mp3 formats
46+
* [nrktv] Switch to playback endpoint
47+
* [vvvvid] Fix season metadata extraction (#18130)
48+
* [stitcher] Fix extraction (#20811, #27606)
49+
* [acast] Fix extraction (#21444, #27612, #27613)
50+
+ [arcpublishing] Add support for arcpublishing.com (#2298, #9340, #17200)
51+
+ [sky] Add support for Sports News articles and Brighcove videos (#13054)
52+
+ [vvvvid] Extract akamai formats
53+
* [vvvvid] Skip unplayable episodes (#27599)
54+
* [yandexvideo] Fix extraction for Python 3.4
55+
56+
57+
version 2020.12.31
58+
59+
Core
60+
* [utils] Accept only supported protocols in url_or_none
61+
* [YoutubeDL] Allow format filtering using audio language (#16209)
62+
63+
Extractors
64+
+ [redditr] Extract all thumbnails (#27503)
65+
* [vvvvid] Improve info extraction
66+
+ [vvvvid] Add support for playlists (#18130, #27574)
67+
+ [yandexdisk] Extract info from webpage
68+
* [yandexdisk] Fix extraction (#17861, #27131)
69+
* [yandexvideo] Use old API call as fallback
70+
* [yandexvideo] Fix extraction (#25000)
71+
- [nbc] Remove CSNNE extractor
72+
* [nbc] Fix NBCSport VPlayer URL extraction (#16640)
73+
+ [aenetworks] Add support for biography.com (#3863)
74+
* [uktvplay] Match new video URLs (#17909)
75+
* [sevenplay] Detect API errors
76+
* [tenplay] Fix format extraction (#26653)
77+
* [brightcove] Raise error for DRM protected videos (#23467, #27568)
78+
79+
80+
version 2020.12.29
81+
82+
Extractors
83+
* [youtube] Improve yt initial data extraction (#27524)
84+
* [youtube:tab] Improve URL matching #27559)
85+
* [youtube:tab] Restore retry on browse requests (#27313, #27564)
86+
* [aparat] Fix extraction (#22285, #22611, #23348, #24354, #24591, #24904,
87+
#25418, #26070, #26350, #26738, #27563)
88+
- [brightcove] Remove sonyliv specific code
89+
* [piksel] Improve format extraction
90+
+ [zype] Add support for uplynk videos
91+
+ [toggle] Add support for live.mewatch.sg (#27555)
92+
+ [go] Add support for fxnow.fxnetworks.com (#13972, #22467, #23754, #26826)
93+
* [teachable] Improve embed detection (#26923)
94+
* [mitele] Fix free video extraction (#24624, #25827, #26757)
95+
* [telecinco] Fix extraction
96+
* [youtube] Update invidious.snopyta.org (#22667)
97+
* [amcnetworks] Improve auth only video detection (#27548)
98+
+ [generic] Add support for VHX Embeds (#27546)
99+
100+
101+
version 2020.12.26
102+
103+
Extractors
104+
* [instagram] Fix comment count extraction
105+
+ [instagram] Add support for reel URLs (#26234, #26250)
106+
* [bbc] Switch to media selector v6 (#23232, #23933, #26303, #26432, #26821,
107+
#27538)
108+
* [instagram] Improve thumbnail extraction
109+
* [instagram] Fix extraction when authenticated (#22880, #26377, #26981,
110+
#27422)
111+
* [spankbang:playlist] Fix extraction (#24087)
112+
+ [spankbang] Add support for playlist videos
113+
* [pornhub] Improve like and dislike count extraction (#27356)
114+
* [pornhub] Fix lq formats extraction (#27386, #27393)
115+
+ [bongacams] Add support for bongacams.com (#27440)
116+
* [youtube:tab] Extend URL regular expression (#27501)
117+
* [theweatherchannel] Fix extraction (#25930, #26051)
118+
+ [sprout] Add support for Universal Kids (#22518)
119+
* [theplatform] Allow passing geo bypass countries from other extractors
120+
+ [wistia] Add support for playlists (#27533)
121+
+ [ctv] Add support for ctv.ca (#27525)
122+
* [9c9media] Improve info extraction
123+
* [youtube] Fix automatic captions extraction (#27162, #27388)
124+
* [sonyliv] Fix title for movies
125+
* [sonyliv] Fix extraction (#25667)
126+
* [streetvoice] Fix extraction (#27455, #27492)
127+
+ [facebook] Add support for watchparty pages (#27507)
128+
* [cbslocal] Fix video extraction
129+
+ [brightcove] Add another method to extract policyKey
130+
* [mewatch] Relax URL regular expression (#27506)
131+
132+
133+
version 2020.12.22
134+
135+
Core
136+
* [common] Remove unwanted query params from unsigned akamai manifest URLs
137+
138+
Extractors
139+
- [tastytrade] Remove extractor (#25716)
140+
* [niconico] Fix playlist extraction (#27428)
141+
- [everyonesmixtape] Remove extractor
142+
- [kanalplay] Remove extractor
143+
* [arkena] Fix extraction
144+
* [nba] Rewrite extractor
145+
* [turner] Improve info extraction
146+
* [youtube] Improve xsrf token extraction (#27442)
147+
* [generic] Improve RSS age limit extraction
148+
* [generic] Fix RSS itunes thumbnail extraction (#27405)
149+
+ [redditr] Extract duration (#27426)
150+
- [zaq1] Remove extractor
151+
+ [asiancrush] Add support for retrocrush.tv
152+
* [asiancrush] Fix extraction
153+
- [noco] Remove extractor (#10864)
154+
* [nfl] Fix extraction (#22245)
155+
* [skysports] Relax URL regular expression (#27435)
156+
+ [tv5unis] Add support for tv5unis.ca (#22399, #24890)
157+
+ [videomore] Add support for more.tv (#27088)
158+
+ [yandexmusic] Add support for music.yandex.com (#27425)
159+
+ [nhk:program] Add support for audio programs and program clips
160+
+ [nhk] Add support for NHK video programs (#27230)
161+
162+
163+
version 2020.12.14
164+
165+
Core
166+
* [extractor/common] Improve JSON-LD interaction statistic extraction (#23306)
167+
* [downloader/hls] Delegate manifests with media initialization to ffmpeg
168+
+ [extractor/common] Document duration meta field for playlists
169+
170+
Extractors
171+
* [mdr] Bypass geo restriction
172+
* [mdr] Improve extraction (#24346, #26873)
173+
* [yandexmusic:album] Improve album title extraction (#27418)
174+
* [eporner] Fix view count extraction and make optional (#23306)
175+
+ [eporner] Extend URL regular expression
176+
* [eporner] Fix hash extraction and extend _VALID_URL (#27396)
177+
* [slideslive] Use m3u8 entry protocol for m3u8 formats (#27400)
178+
* [twitcasting] Fix format extraction and improve info extraction (#24868)
179+
* [linuxacademy] Fix authentication and extraction (#21129, #26223, #27402)
180+
* [itv] Clean description from HTML tags (#27399)
181+
* [vlive] Sort live formats (#27404)
182+
* [hotstart] Fix and improve extraction
183+
* Fix format extraction (#26690)
184+
+ Extract thumbnail URL (#16079, #20412)
185+
+ Add support for country specific playlist URLs (#23496)
186+
* Select the last id in video URL (#26412)
187+
+ [youtube] Add some invidious instances (#27373)
188+
189+
190+
version 2020.12.12
191+
192+
Core
193+
* [YoutubeDL] Improve thumbnail filename deducing (#26010, #27244)
194+
195+
Extractors
196+
+ [ruutu] Extract more metadata
197+
+ [ruutu] Detect non-free videos (#21154)
198+
* [ruutu] Authenticate format URLs (#21031, #26782)
199+
+ [ruutu] Add support for static.nelonenmedia.fi (#25412)
200+
+ [ruutu] Extend URL regular expression (#24839)
201+
+ [facebook] Add support archived live video URLs (#15859)
202+
* [wdr] Improve overall extraction
203+
+ [wdr] Extend subtitles extraction (#22672, #22723)
204+
+ [facebook] Add support for videos attached to Relay based story pages
205+
(#10795)
206+
+ [wdr:page] Add support for kinder.wdr.de (#27350)
207+
+ [facebook] Add another regular expression for handleServerJS
208+
* [facebook] Fix embed page extraction
209+
+ [facebook] Add support for Relay post pages (#26935)
210+
+ [facebook] Add support for watch videos (#22795, #27062)
211+
+ [facebook] Add support for group posts with multiple videos (#19131)
212+
* [itv] Fix series metadata extraction (#26897)
213+
- [itv] Remove old extraction method (#23177)
214+
* [facebook] Redirect mobile URLs to desktop URLs (#24831, #25624)
215+
+ [facebook] Add support for Relay based pages (#26823)
216+
* [facebook] Try to reduce unnecessary tahoe requests
217+
- [facebook] Remove hardcoded Chrome User-Agent (#18974, #25411, #26958,
218+
#27329)
219+
- [smotri] Remove extractor (#27358)
220+
- [beampro] Remove extractor (#17290, #22871, #23020, #23061, #26099)
221+
222+
223+
version 2020.12.09
224+
225+
Core
226+
* [extractor/common] Fix inline HTML5 media tags processing (#27345)
227+
228+
Extractors
229+
* [youtube:tab] Improve identity token extraction (#27197)
230+
* [youtube:tab] Make click tracking params on continuation optional
231+
* [youtube:tab] Delegate inline playlists to tab-based playlists (27298)
232+
+ [tubitv] Extract release year (#27317)
233+
* [amcnetworks] Fix free content extraction (#20354)
234+
+ [lbry:channel] Add support for channels (#25584)
235+
+ [lbry] Add support for short and embed URLs
236+
* [lbry] Fix channel metadata extraction
237+
+ [telequebec] Add support for video.telequebec.tv (#27339)
238+
* [telequebec] Fix extraction (#25733, #26883)
239+
+ [youtube:tab] Capture and output alerts (#27340)
240+
* [tvplay:home] Fix extraction (#21153)
241+
* [americastestkitchen] Fix Extraction and add support
242+
for Cook's Country and Cook's Illustrated (#17234, #27322)
243+
+ [slideslive] Add support for yoda service videos and extract subtitles
244+
(#27323)
245+
246+
247+
version 2020.12.07
248+
249+
Core
250+
* [extractor/common] Extract timestamp from Last-Modified header
251+
+ [extractor/common] Add support for dl8-* media tags (#27283)
252+
* [extractor/common] Fix media type extraction for HTML5 media tags
253+
in start/end form
254+
255+
Extractors
256+
* [aenetworks] Fix extraction (#23363, #23390, #26795, #26985)
257+
* Fix Fastly format extraction
258+
+ Add support for play and watch subdomains
259+
+ Extract series metadata
260+
* [youtube] Improve youtu.be extraction in non-existing playlists (#27324)
261+
+ [generic] Extract RSS video description, timestamp and itunes metadata
262+
(#27177)
263+
* [nrk] Reduce the number of instalments and episodes requests
264+
* [nrk] Improve extraction
265+
* Improve format extraction for old akamai formats
266+
+ Add is_live value to entry info dict
267+
* Request instalments only when available
268+
* Fix skole extraction
269+
+ [peertube] Extract fps
270+
+ [peertube] Recognize audio-only formats (#27295)
271+
272+
273+
version 2020.12.05
274+
275+
Core
276+
* [extractor/common] Improve Akamai HTTP format extraction
277+
* Allow m3u8 manifest without an additional audio format
278+
* Fix extraction for qualities starting with a number
279+
280+
Extractors
281+
* [teachable:course] Improve extraction (#24507, #27286)
282+
* [nrk] Improve error extraction
283+
* [nrktv:series] Improve extraction (#21926)
284+
* [nrktv:season] Improve extraction
285+
* [nrk] Improve format extraction and geo-restriction detection (#24221)
286+
* [pornhub] Handle HTTP errors gracefully (#26414)
287+
* [nrktv] Relax URL regular expression (#27299, #26185)
288+
+ [zdf] Extract webm formats (#26659)
289+
+ [gamespot] Extract DASH and HTTP formats
290+
+ [tver] Add support for tver.jp (#26662, #27284)
291+
+ [pornhub] Add support for pornhub.org (#27276)
292+
293+
294+
version 2020.12.02
295+
296+
Extractors
297+
+ [tva] Add support for qub.ca (#27235)
298+
+ [toggle] Detect DRM protected videos (#16479, #20805)
299+
+ [toggle] Add support for new MeWatch URLs (#27256)
300+
* [youtube:tab] Extract channels only from channels tab (#27266)
301+
+ [cspan] Extract info from jwplayer data (#3672, #3734, #10638, #13030,
302+
#18806, #23148, #24461, #26171, #26800, #27263)
303+
* [cspan] Pass Referer header with format's video URL (#26032, #25729)
304+
* [youtube] Improve age-gated videos extraction (#27259)
305+
+ [mediaset] Add support for movie URLs (#27240)
306+
* [yandexmusic] Refactor
307+
+ [yandexmusic] Add support for artist's tracks and albums (#11887, #22284)
308+
* [yandexmusic:track] Fix extraction (#26449, #26669, #26747, #26748, #26762)
309+
310+
1311
version 2020.11.29
2312

3313
Core

README.md

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
[![Build Status](https://travis-ci.org/ytdl-org/youtube-dl.svg?branch=master)](https://travis-ci.org/ytdl-org/youtube-dl)
1+
[![Build Status](https://github.com/ytdl-org/youtube-dl/workflows/CI/badge.svg)](https://github.com/ytdl-org/youtube-dl/actions?query=workflow%3ACI)
2+
23

34
youtube-dl - download videos from youtube.com or other video platforms
45

@@ -371,7 +372,7 @@ Alternatively, refer to the [developer instructions](#developer-instructions) fo
371372
out, youtube-dl will ask interactively.
372373
-2, --twofactor TWOFACTOR Two-factor authentication code
373374
-n, --netrc Use .netrc authentication data
374-
--video-password PASSWORD Video password (vimeo, smotri, youku)
375+
--video-password PASSWORD Video password (vimeo, youku)
375376

376377
## Adobe Pass Options:
377378
--ap-mso MSO Adobe Pass multiple-system operator (TV
@@ -677,6 +678,7 @@ Also filtering work for comparisons `=` (equals), `^=` (starts with), `$=` (ends
677678
- `container`: Name of the container format
678679
- `protocol`: The protocol that will be used for the actual download, lower-case (`http`, `https`, `rtsp`, `rtmp`, `rtmpe`, `mms`, `f4m`, `ism`, `http_dash_segments`, `m3u8`, or `m3u8_native`)
679680
- `format_id`: A short description of the format
681+
- `language`: Language code
680682

681683
Any string comparison may be prefixed with negation `!` in order to produce an opposite comparison, e.g. `!*=` (does not contain).
682684

@@ -879,7 +881,7 @@ Either prepend `https://www.youtube.com/watch?v=` or separate the ID from the op
879881

880882
Use the `--cookies` option, for example `--cookies /path/to/cookies/file.txt`.
881883

882-
In order to extract cookies from browser use any conforming browser extension for exporting cookies. For example, [cookies.txt](https://chrome.google.com/webstore/detail/cookiestxt/njabckikapfpffapmjgojcnbfjonfjfg) (for Chrome) or [cookies.txt](https://addons.mozilla.org/en-US/firefox/addon/cookies-txt/) (for Firefox).
884+
In order to extract cookies from browser use any conforming browser extension for exporting cookies. For example, [Get cookies.txt](https://chrome.google.com/webstore/detail/get-cookiestxt/bgaddhkoddajcdgocldbbfleckgcbcid/) (for Chrome) or [cookies.txt](https://addons.mozilla.org/en-US/firefox/addon/cookies-txt/) (for Firefox).
883885

884886
Note that the cookies file must be in Mozilla/Netscape format and the first line of the cookies file must be either `# HTTP Cookie File` or `# Netscape HTTP Cookie File`. Make sure you have correct [newline format](https://en.wikipedia.org/wiki/Newline) in the cookies file and convert newlines if necessary to correspond with your OS, namely `CRLF` (`\r\n`) for Windows and `LF` (`\n`) for Unix and Unix-like systems (Linux, macOS, etc.). `HTTP Error 400: Bad Request` when using `--cookies` is a good sign of invalid newline format.
885887

README.txt

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -414,7 +414,7 @@ Authentication Options:
414414
out, youtube-dl will ask interactively.
415415
-2, --twofactor TWOFACTOR Two-factor authentication code
416416
-n, --netrc Use .netrc authentication data
417-
--video-password PASSWORD Video password (vimeo, smotri, youku)
417+
--video-password PASSWORD Video password (vimeo, youku)
418418

419419

420420
Adobe Pass Options:
@@ -837,6 +837,7 @@ Also filtering work for comparisons = (equals), ^= (starts with), $=
837837
lower-case (http, https, rtsp, rtmp, rtmpe, mms, f4m, ism,
838838
http_dash_segments, m3u8, or m3u8_native)
839839
- format_id: A short description of the format
840+
- language: Language code
840841

841842
Any string comparison may be prefixed with negation ! in order to
842843
produce an opposite comparison, e.g. !*= (does not contain).
@@ -1173,8 +1174,8 @@ Use the --cookies option, for example
11731174
--cookies /path/to/cookies/file.txt.
11741175

11751176
In order to extract cookies from browser use any conforming browser
1176-
extension for exporting cookies. For example, cookies.txt (for Chrome)
1177-
or cookies.txt (for Firefox).
1177+
extension for exporting cookies. For example, Get cookies.txt (for
1178+
Chrome) or cookies.txt (for Firefox).
11781179

11791180
Note that the cookies file must be in Mozilla/Netscape format and the
11801181
first line of the cookies file must be either # HTTP Cookie File or

devscripts/install_jython.sh

Lines changed: 0 additions & 5 deletions
This file was deleted.

devscripts/run_tests.bat

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
@echo off
2+
3+
rem Keep this list in sync with the `offlinetest` target in Makefile
4+
set DOWNLOAD_TESTS="age_restriction^|download^|iqiyi_sdk_interpreter^|socks^|subtitles^|write_annotations^|youtube_lists^|youtube_signature"
5+
6+
if "%YTDL_TEST_SET%" == "core" (
7+
set test_set="-I test_("%DOWNLOAD_TESTS%")\.py"
8+
set multiprocess_args=""
9+
) else if "%YTDL_TEST_SET%" == "download" (
10+
set test_set="-I test_(?!"%DOWNLOAD_TESTS%").+\.py"
11+
set multiprocess_args="--processes=4 --process-timeout=540"
12+
) else (
13+
echo YTDL_TEST_SET is not set or invalid
14+
exit /b 1
15+
)
16+
17+
nosetests test --verbose %test_set:"=% %multiprocess_args:"=%

0 commit comments

Comments
 (0)