From eaeeef9c1d1bedb76fea953c332ef84d53bffe2c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jes=C3=BAs?= Date: Fri, 2 Dec 2022 05:21:10 +0800 Subject: update from upstream --- .flake8 | 3 - .gitlab-ci.yml | 33 - AUTHORS | 122 +- CONTRIBUTING.md | 28 +- CONTRIBUTORS | 143 + ChangeLog | 6142 -------------------- Changelog.md | 1727 +++++- Makefile | 3 +- README.md | 2733 +++++---- completions/zsh/_hypervideo | 2 +- devscripts/__init__.py | 1 + devscripts/bash-completion.py | 9 +- devscripts/buildserver.py | 435 -- devscripts/check-porn.py | 21 +- devscripts/fish-completion.py | 12 +- devscripts/generate_aes_testdata.py | 12 +- devscripts/lazy_load_template.py | 39 +- devscripts/make_contributing.py | 6 +- devscripts/make_lazy_extractors.py | 213 +- devscripts/make_readme.py | 90 +- devscripts/make_supportedsites.py | 42 +- devscripts/posix-locale.sh | 6 - devscripts/prepare_manpage.py | 43 +- devscripts/run_tests.bat | 1 + devscripts/run_tests.sh | 12 +- devscripts/set-variant.py | 36 + devscripts/utils.py | 35 + devscripts/zsh-completion.py | 9 +- docs/.gitignore | 1 - docs/Makefile | 177 - docs/conf.py | 71 - docs/index.rst | 23 - docs/module_guide.rst | 67 - docs/supportedsites.md | 1228 ---- hypervideo.plugin.zsh | 24 - hypervideo_dl/YoutubeDL.py | 1613 ++--- hypervideo_dl/__init__.py | 233 +- hypervideo_dl/__main__.py | 6 +- hypervideo_dl/aes.py | 101 +- hypervideo_dl/cache.py | 47 +- hypervideo_dl/compat.py | 330 -- hypervideo_dl/compat/__init__.py | 78 + hypervideo_dl/compat/_deprecated.py | 16 + hypervideo_dl/compat/_legacy.py | 97 + hypervideo_dl/compat/compat_utils.py | 70 + hypervideo_dl/compat/functools.py | 26 + hypervideo_dl/compat/imghdr.py | 16 + hypervideo_dl/compat/shutil.py | 30 + hypervideo_dl/cookies.py | 514 +- hypervideo_dl/dependencies.py | 97 + hypervideo_dl/downloader/__init__.py | 31 +- hypervideo_dl/downloader/common.py | 333 +- hypervideo_dl/downloader/dash.py | 23 +- hypervideo_dl/downloader/external.py | 219 +- hypervideo_dl/downloader/f4m.py | 54 +- hypervideo_dl/downloader/fc2.py | 11 +- hypervideo_dl/downloader/fragment.py | 191 +- hypervideo_dl/downloader/hls.py | 66 +- hypervideo_dl/downloader/http.py | 98 +- hypervideo_dl/downloader/ism.py | 64 +- hypervideo_dl/downloader/mhtml.py | 30 +- hypervideo_dl/downloader/niconico.py | 13 +- hypervideo_dl/downloader/rtmp.py | 12 +- hypervideo_dl/downloader/rtsp.py | 9 +- hypervideo_dl/downloader/websocket.py | 19 +- hypervideo_dl/downloader/youtube_live_chat.py | 53 +- hypervideo_dl/extractor/__init__.py | 52 +- hypervideo_dl/extractor/_extractors.py | 2354 ++++++++ hypervideo_dl/extractor/abc.py | 5 - hypervideo_dl/extractor/abcnews.py | 4 - hypervideo_dl/extractor/abcotvs.py | 6 - hypervideo_dl/extractor/abematv.py | 254 +- hypervideo_dl/extractor/academicearth.py | 2 - hypervideo_dl/extractor/acast.py | 4 - hypervideo_dl/extractor/acfun.py | 199 + hypervideo_dl/extractor/adn.py | 50 +- hypervideo_dl/extractor/adobeconnect.py | 3 - hypervideo_dl/extractor/adobepass.py | 98 +- hypervideo_dl/extractor/adobetv.py | 5 +- hypervideo_dl/extractor/adultswim.py | 4 - hypervideo_dl/extractor/aenetworks.py | 17 +- hypervideo_dl/extractor/aeonco.py | 40 + hypervideo_dl/extractor/afreecatv.py | 71 +- hypervideo_dl/extractor/agora.py | 251 + hypervideo_dl/extractor/airmozilla.py | 3 - hypervideo_dl/extractor/aliexpress.py | 3 - hypervideo_dl/extractor/aljazeera.py | 3 - hypervideo_dl/extractor/allocine.py | 5 - hypervideo_dl/extractor/alphaporno.py | 2 - hypervideo_dl/extractor/alsace20tv.py | 4 - hypervideo_dl/extractor/alura.py | 7 +- hypervideo_dl/extractor/amara.py | 3 - hypervideo_dl/extractor/amazon.py | 31 +- hypervideo_dl/extractor/amazonminitv.py | 290 + hypervideo_dl/extractor/amcnetworks.py | 6 +- hypervideo_dl/extractor/americastestkitchen.py | 57 +- hypervideo_dl/extractor/amp.py | 7 +- hypervideo_dl/extractor/angel.py | 56 + hypervideo_dl/extractor/animelab.py | 278 - hypervideo_dl/extractor/animeondemand.py | 284 - hypervideo_dl/extractor/ant1newsgr.py | 19 +- hypervideo_dl/extractor/anvato.py | 233 +- .../extractor/anvato_token_generator/__init__.py | 7 - .../extractor/anvato_token_generator/common.py | 6 - .../extractor/anvato_token_generator/nfl.py | 30 - hypervideo_dl/extractor/aol.py | 6 +- hypervideo_dl/extractor/apa.py | 15 +- hypervideo_dl/extractor/aparat.py | 5 +- hypervideo_dl/extractor/appleconnect.py | 3 - hypervideo_dl/extractor/applepodcasts.py | 3 - hypervideo_dl/extractor/appletrailers.py | 5 - hypervideo_dl/extractor/archiveorg.py | 437 +- hypervideo_dl/extractor/arcpublishing.py | 8 +- hypervideo_dl/extractor/ard.py | 7 - hypervideo_dl/extractor/arkena.py | 17 +- hypervideo_dl/extractor/arnes.py | 6 +- hypervideo_dl/extractor/arte.py | 373 +- hypervideo_dl/extractor/asiancrush.py | 3 - hypervideo_dl/extractor/atresplayer.py | 5 - hypervideo_dl/extractor/atscaleconf.py | 34 + hypervideo_dl/extractor/atttechchannel.py | 2 - hypervideo_dl/extractor/atvat.py | 4 - hypervideo_dl/extractor/audimedia.py | 4 - hypervideo_dl/extractor/audioboom.py | 76 +- hypervideo_dl/extractor/audiodraft.py | 93 + hypervideo_dl/extractor/audiomack.py | 3 - hypervideo_dl/extractor/audius.py | 11 +- hypervideo_dl/extractor/awaan.py | 5 +- hypervideo_dl/extractor/aws.py | 5 +- hypervideo_dl/extractor/azmedien.py | 3 - hypervideo_dl/extractor/baidu.py | 4 - hypervideo_dl/extractor/banbye.py | 5 - hypervideo_dl/extractor/bandaichannel.py | 7 +- hypervideo_dl/extractor/bandcamp.py | 23 +- hypervideo_dl/extractor/bannedvideo.py | 3 - hypervideo_dl/extractor/bbc.py | 56 +- hypervideo_dl/extractor/beatport.py | 4 - hypervideo_dl/extractor/beeg.py | 4 - hypervideo_dl/extractor/behindkink.py | 4 - hypervideo_dl/extractor/bellmedia.py | 14 +- hypervideo_dl/extractor/berufetv.py | 70 + hypervideo_dl/extractor/bet.py | 2 - hypervideo_dl/extractor/bfi.py | 3 - hypervideo_dl/extractor/bfmtv.py | 5 +- hypervideo_dl/extractor/bibeltv.py | 3 - hypervideo_dl/extractor/bigflix.py | 5 - hypervideo_dl/extractor/bigo.py | 15 +- hypervideo_dl/extractor/bild.py | 3 - hypervideo_dl/extractor/bilibili.py | 1007 ++-- hypervideo_dl/extractor/biobiochiletv.py | 3 - hypervideo_dl/extractor/biqle.py | 4 - hypervideo_dl/extractor/bitchute.py | 279 +- hypervideo_dl/extractor/bitwave.py | 3 - hypervideo_dl/extractor/blackboardcollaborate.py | 4 - hypervideo_dl/extractor/bleacherreport.py | 3 - hypervideo_dl/extractor/blinkx.py | 86 - hypervideo_dl/extractor/blogger.py | 11 +- hypervideo_dl/extractor/bloomberg.py | 14 +- hypervideo_dl/extractor/bokecc.py | 6 - hypervideo_dl/extractor/bongacams.py | 21 +- hypervideo_dl/extractor/booyah.py | 86 + hypervideo_dl/extractor/bostonglobe.py | 3 - hypervideo_dl/extractor/box.py | 5 - hypervideo_dl/extractor/bpb.py | 6 - hypervideo_dl/extractor/br.py | 5 - hypervideo_dl/extractor/bravotv.py | 3 - hypervideo_dl/extractor/breakcom.py | 4 - hypervideo_dl/extractor/breitbart.py | 6 +- hypervideo_dl/extractor/brightcove.py | 530 +- hypervideo_dl/extractor/bundesliga.py | 34 + hypervideo_dl/extractor/businessinsider.py | 3 - hypervideo_dl/extractor/buzzfeed.py | 5 +- hypervideo_dl/extractor/byutv.py | 4 - hypervideo_dl/extractor/c56.py | 5 - hypervideo_dl/extractor/cableav.py | 2 - hypervideo_dl/extractor/callin.py | 6 +- hypervideo_dl/extractor/caltrans.py | 4 - hypervideo_dl/extractor/cam4.py | 4 - hypervideo_dl/extractor/camdemy.py | 3 - hypervideo_dl/extractor/cammodels.py | 4 - hypervideo_dl/extractor/camsoda.py | 57 + hypervideo_dl/extractor/camtasia.py | 71 + hypervideo_dl/extractor/camtube.py | 71 - hypervideo_dl/extractor/camwithher.py | 2 - hypervideo_dl/extractor/canalalpha.py | 4 - hypervideo_dl/extractor/canalc2.py | 5 - hypervideo_dl/extractor/canalplus.py | 5 - hypervideo_dl/extractor/canvas.py | 2 - hypervideo_dl/extractor/carambatv.py | 4 - hypervideo_dl/extractor/cartoonnetwork.py | 3 - hypervideo_dl/extractor/cbc.py | 9 +- hypervideo_dl/extractor/cbs.py | 5 +- hypervideo_dl/extractor/cbsinteractive.py | 6 +- hypervideo_dl/extractor/cbslocal.py | 7 +- hypervideo_dl/extractor/cbsnews.py | 8 +- hypervideo_dl/extractor/cbssports.py | 4 - hypervideo_dl/extractor/ccc.py | 5 +- hypervideo_dl/extractor/ccma.py | 4 - hypervideo_dl/extractor/cctv.py | 5 - hypervideo_dl/extractor/cda.py | 97 +- hypervideo_dl/extractor/cellebrite.py | 63 + hypervideo_dl/extractor/ceskatelevize.py | 77 +- hypervideo_dl/extractor/cgtn.py | 3 - hypervideo_dl/extractor/channel9.py | 10 +- hypervideo_dl/extractor/charlierose.py | 4 - hypervideo_dl/extractor/chaturbate.py | 3 - hypervideo_dl/extractor/chilloutzone.py | 2 - hypervideo_dl/extractor/chingari.py | 18 +- hypervideo_dl/extractor/chirbit.py | 3 - hypervideo_dl/extractor/cinchcast.py | 6 +- hypervideo_dl/extractor/cinemax.py | 4 - hypervideo_dl/extractor/cinetecamilano.py | 61 + hypervideo_dl/extractor/ciscolive.py | 3 - hypervideo_dl/extractor/ciscowebex.py | 4 - hypervideo_dl/extractor/cjsw.py | 4 - hypervideo_dl/extractor/cliphunter.py | 3 - hypervideo_dl/extractor/clippit.py | 4 - hypervideo_dl/extractor/cliprs.py | 3 - hypervideo_dl/extractor/clipsyndicate.py | 2 - hypervideo_dl/extractor/closertotruth.py | 3 - hypervideo_dl/extractor/cloudflarestream.py | 16 +- hypervideo_dl/extractor/cloudy.py | 3 - hypervideo_dl/extractor/clubic.py | 4 - hypervideo_dl/extractor/clyp.py | 3 - hypervideo_dl/extractor/cmt.py | 4 +- hypervideo_dl/extractor/cnbc.py | 4 - hypervideo_dl/extractor/cnn.py | 60 +- hypervideo_dl/extractor/comedycentral.py | 2 - hypervideo_dl/extractor/common.py | 1459 +++-- hypervideo_dl/extractor/commonmistakes.py | 12 +- hypervideo_dl/extractor/commonprotocols.py | 8 +- hypervideo_dl/extractor/condenast.py | 9 +- hypervideo_dl/extractor/contv.py | 5 - hypervideo_dl/extractor/corus.py | 7 +- hypervideo_dl/extractor/coub.py | 5 - hypervideo_dl/extractor/cozytv.py | 3 - hypervideo_dl/extractor/cpac.py | 12 - hypervideo_dl/extractor/cracked.py | 2 - hypervideo_dl/extractor/crackle.py | 4 - hypervideo_dl/extractor/craftsy.py | 3 - hypervideo_dl/extractor/crooksandliars.py | 5 +- hypervideo_dl/extractor/crowdbunker.py | 4 - hypervideo_dl/extractor/crunchyroll.py | 921 +-- hypervideo_dl/extractor/cspan.py | 8 +- hypervideo_dl/extractor/ctsnews.py | 3 - hypervideo_dl/extractor/ctv.py | 3 - hypervideo_dl/extractor/ctvnews.py | 3 - hypervideo_dl/extractor/cultureunplugged.py | 2 - hypervideo_dl/extractor/curiositystream.py | 19 +- hypervideo_dl/extractor/cwtv.py | 4 +- hypervideo_dl/extractor/cybrary.py | 4 +- hypervideo_dl/extractor/daftsex.py | 5 - hypervideo_dl/extractor/dailymail.py | 13 +- hypervideo_dl/extractor/dailymotion.py | 36 +- hypervideo_dl/extractor/dailywire.py | 113 + hypervideo_dl/extractor/damtomo.py | 4 - hypervideo_dl/extractor/daum.py | 6 +- hypervideo_dl/extractor/daystar.py | 1 - hypervideo_dl/extractor/dbtv.py | 12 +- hypervideo_dl/extractor/dctp.py | 3 - hypervideo_dl/extractor/deezer.py | 4 - hypervideo_dl/extractor/defense.py | 2 - hypervideo_dl/extractor/democracynow.py | 5 - hypervideo_dl/extractor/detik.py | 159 + hypervideo_dl/extractor/deuxm.py | 76 + hypervideo_dl/extractor/dfb.py | 4 - hypervideo_dl/extractor/dhm.py | 2 - hypervideo_dl/extractor/digg.py | 2 - hypervideo_dl/extractor/digitalconcerthall.py | 6 +- hypervideo_dl/extractor/digiteka.py | 16 +- hypervideo_dl/extractor/discovery.py | 2 - hypervideo_dl/extractor/discoverygo.py | 3 - hypervideo_dl/extractor/discoverynetworks.py | 42 - hypervideo_dl/extractor/discoveryplusindia.py | 98 - hypervideo_dl/extractor/discoveryvr.py | 59 - hypervideo_dl/extractor/disney.py | 4 - hypervideo_dl/extractor/dispeak.py | 3 - hypervideo_dl/extractor/dlive.py | 4 - hypervideo_dl/extractor/doodstream.py | 76 - hypervideo_dl/extractor/dotsub.py | 2 - hypervideo_dl/extractor/douyutv.py | 3 - hypervideo_dl/extractor/dplay.py | 83 +- hypervideo_dl/extractor/drbonanza.py | 4 - hypervideo_dl/extractor/dreisat.py | 4 +- hypervideo_dl/extractor/drooble.py | 3 - hypervideo_dl/extractor/dropbox.py | 8 +- hypervideo_dl/extractor/dropout.py | 34 +- hypervideo_dl/extractor/drtuber.py | 10 +- hypervideo_dl/extractor/drtv.py | 51 +- hypervideo_dl/extractor/dtube.py | 3 - hypervideo_dl/extractor/duboku.py | 53 +- hypervideo_dl/extractor/dumpert.py | 4 - hypervideo_dl/extractor/dvtv.py | 4 - hypervideo_dl/extractor/dw.py | 4 - hypervideo_dl/extractor/eagleplatform.py | 39 +- hypervideo_dl/extractor/ebaumsworld.py | 2 - hypervideo_dl/extractor/echomsk.py | 3 - hypervideo_dl/extractor/egghead.py | 4 - hypervideo_dl/extractor/ehow.py | 2 - hypervideo_dl/extractor/eighttracks.py | 3 - hypervideo_dl/extractor/einthusan.py | 5 - hypervideo_dl/extractor/eitb.py | 5 - hypervideo_dl/extractor/ellentube.py | 4 - hypervideo_dl/extractor/elonet.py | 4 - hypervideo_dl/extractor/elpais.py | 3 - hypervideo_dl/extractor/embedly.py | 14 +- hypervideo_dl/extractor/engadget.py | 2 - hypervideo_dl/extractor/epicon.py | 4 - hypervideo_dl/extractor/epoch.py | 55 + hypervideo_dl/extractor/eporner.py | 5 - hypervideo_dl/extractor/eroprofile.py | 2 - hypervideo_dl/extractor/ertgr.py | 26 +- hypervideo_dl/extractor/escapist.py | 3 - hypervideo_dl/extractor/espn.py | 165 +- hypervideo_dl/extractor/esri.py | 4 - hypervideo_dl/extractor/europa.py | 4 - hypervideo_dl/extractor/europeantour.py | 3 - hypervideo_dl/extractor/eurosport.py | 97 + hypervideo_dl/extractor/euscreen.py | 4 - hypervideo_dl/extractor/everyonesmixtape.py | 76 - hypervideo_dl/extractor/expotv.py | 3 - hypervideo_dl/extractor/expressen.py | 21 +- hypervideo_dl/extractor/extractors.py | 2162 +------ hypervideo_dl/extractor/extremetube.py | 4 +- hypervideo_dl/extractor/eyedotv.py | 3 - hypervideo_dl/extractor/facebook.py | 79 +- hypervideo_dl/extractor/fancode.py | 5 +- hypervideo_dl/extractor/faz.py | 4 - hypervideo_dl/extractor/fc2.py | 26 +- hypervideo_dl/extractor/fczenit.py | 5 - hypervideo_dl/extractor/fifa.py | 94 + hypervideo_dl/extractor/filmmodu.py | 5 - hypervideo_dl/extractor/filmon.py | 5 - hypervideo_dl/extractor/filmweb.py | 3 - hypervideo_dl/extractor/firsttv.py | 4 - hypervideo_dl/extractor/fivemin.py | 54 - hypervideo_dl/extractor/fivetv.py | 6 +- hypervideo_dl/extractor/flickr.py | 5 +- hypervideo_dl/extractor/folketinget.py | 4 - hypervideo_dl/extractor/footyroom.py | 3 - hypervideo_dl/extractor/formula1.py | 3 - hypervideo_dl/extractor/fourtube.py | 3 - hypervideo_dl/extractor/fourzerostudio.py | 106 + hypervideo_dl/extractor/fox.py | 10 +- hypervideo_dl/extractor/fox9.py | 3 - hypervideo_dl/extractor/foxgay.py | 6 +- hypervideo_dl/extractor/foxnews.py | 43 +- hypervideo_dl/extractor/foxsports.py | 2 - hypervideo_dl/extractor/fptplay.py | 41 +- hypervideo_dl/extractor/franceculture.py | 128 - hypervideo_dl/extractor/franceinter.py | 3 - hypervideo_dl/extractor/francetv.py | 10 +- hypervideo_dl/extractor/freesound.py | 3 - hypervideo_dl/extractor/freespeech.py | 2 - hypervideo_dl/extractor/freetv.py | 139 + hypervideo_dl/extractor/freshlive.py | 83 - hypervideo_dl/extractor/frontendmasters.py | 4 - hypervideo_dl/extractor/fujitv.py | 12 +- hypervideo_dl/extractor/funimation.py | 14 +- hypervideo_dl/extractor/funk.py | 4 - hypervideo_dl/extractor/fusion.py | 3 - hypervideo_dl/extractor/fuyintv.py | 30 + hypervideo_dl/extractor/fxnetworks.py | 77 - hypervideo_dl/extractor/gab.py | 6 - hypervideo_dl/extractor/gaia.py | 5 - hypervideo_dl/extractor/gameinformer.py | 3 - hypervideo_dl/extractor/gamejolt.py | 1 - hypervideo_dl/extractor/gamespot.py | 4 - hypervideo_dl/extractor/gamestar.py | 4 - hypervideo_dl/extractor/gaskrank.py | 4 - hypervideo_dl/extractor/gazeta.py | 4 - hypervideo_dl/extractor/gdcvault.py | 2 - hypervideo_dl/extractor/gedidigital.py | 36 +- hypervideo_dl/extractor/generic.py | 1922 +----- hypervideo_dl/extractor/genericembeds.py | 114 + hypervideo_dl/extractor/genius.py | 127 + hypervideo_dl/extractor/gettr.py | 7 - hypervideo_dl/extractor/gfycat.py | 17 +- hypervideo_dl/extractor/giantbomb.py | 4 - hypervideo_dl/extractor/giga.py | 13 +- hypervideo_dl/extractor/gigya.py | 2 - hypervideo_dl/extractor/glide.py | 5 +- hypervideo_dl/extractor/globo.py | 24 +- hypervideo_dl/extractor/glomex.py | 16 +- hypervideo_dl/extractor/go.py | 59 +- hypervideo_dl/extractor/godtube.py | 3 - hypervideo_dl/extractor/gofile.py | 53 +- hypervideo_dl/extractor/golem.py | 4 - hypervideo_dl/extractor/goodgame.py | 57 + hypervideo_dl/extractor/googledrive.py | 68 +- hypervideo_dl/extractor/googlepodcasts.py | 3 - hypervideo_dl/extractor/googlesearch.py | 2 - hypervideo_dl/extractor/goplay.py | 394 ++ hypervideo_dl/extractor/gopro.py | 5 - hypervideo_dl/extractor/goshgay.py | 3 - hypervideo_dl/extractor/gotostage.py | 3 - hypervideo_dl/extractor/gputechconf.py | 3 - hypervideo_dl/extractor/gronkh.py | 76 +- hypervideo_dl/extractor/groupon.py | 2 - hypervideo_dl/extractor/harpodeon.py | 70 + hypervideo_dl/extractor/hbo.py | 4 - hypervideo_dl/extractor/hearthisat.py | 5 - hypervideo_dl/extractor/heise.py | 73 +- hypervideo_dl/extractor/hellporno.py | 3 - hypervideo_dl/extractor/helsinki.py | 5 - hypervideo_dl/extractor/hentaistigma.py | 2 - hypervideo_dl/extractor/hgtv.py | 3 - hypervideo_dl/extractor/hidive.py | 6 +- hypervideo_dl/extractor/historicfilms.py | 2 - hypervideo_dl/extractor/hitbox.py | 13 +- hypervideo_dl/extractor/hitrecord.py | 2 - hypervideo_dl/extractor/hketv.py | 4 - hypervideo_dl/extractor/holodex.py | 100 + hypervideo_dl/extractor/hornbunny.py | 49 - hypervideo_dl/extractor/hotnewhiphop.py | 2 - hypervideo_dl/extractor/hotstar.py | 291 +- hypervideo_dl/extractor/howcast.py | 2 - hypervideo_dl/extractor/howstuffworks.py | 4 - hypervideo_dl/extractor/hrfensehen.py | 58 +- hypervideo_dl/extractor/hrti.py | 4 - hypervideo_dl/extractor/hse.py | 2 - hypervideo_dl/extractor/huajiao.py | 3 - hypervideo_dl/extractor/huffpost.py | 5 +- hypervideo_dl/extractor/hungama.py | 48 +- hypervideo_dl/extractor/huya.py | 14 +- hypervideo_dl/extractor/hypem.py | 2 - hypervideo_dl/extractor/hytale.py | 58 + hypervideo_dl/extractor/icareus.py | 179 + hypervideo_dl/extractor/ichinanalive.py | 7 - hypervideo_dl/extractor/ign.py | 4 - hypervideo_dl/extractor/iheart.py | 3 - hypervideo_dl/extractor/iltalehti.py | 51 + hypervideo_dl/extractor/imdb.py | 3 - hypervideo_dl/extractor/imggaming.py | 4 - hypervideo_dl/extractor/imgur.py | 6 +- hypervideo_dl/extractor/ina.py | 110 +- hypervideo_dl/extractor/inc.py | 2 - hypervideo_dl/extractor/indavideo.py | 28 +- hypervideo_dl/extractor/infoq.py | 15 +- hypervideo_dl/extractor/instagram.py | 359 +- hypervideo_dl/extractor/internazionale.py | 4 - hypervideo_dl/extractor/internetvideoarchive.py | 3 - hypervideo_dl/extractor/iprima.py | 8 +- hypervideo_dl/extractor/iqiyi.py | 18 +- hypervideo_dl/extractor/ir90tv.py | 42 - hypervideo_dl/extractor/islamchannel.py | 81 + hypervideo_dl/extractor/israelnationalnews.py | 50 + hypervideo_dl/extractor/itprotv.py | 2 - hypervideo_dl/extractor/itv.py | 4 - hypervideo_dl/extractor/ivi.py | 5 +- hypervideo_dl/extractor/ivideon.py | 5 - hypervideo_dl/extractor/iwara.py | 137 +- hypervideo_dl/extractor/ixigua.py | 83 + hypervideo_dl/extractor/izlesene.py | 4 - hypervideo_dl/extractor/jable.py | 103 + hypervideo_dl/extractor/jamendo.py | 41 +- hypervideo_dl/extractor/japandiet.py | 274 + hypervideo_dl/extractor/jeuxvideo.py | 5 - hypervideo_dl/extractor/jixie.py | 47 + hypervideo_dl/extractor/joj.py | 17 +- hypervideo_dl/extractor/jove.py | 3 - hypervideo_dl/extractor/jwplatform.py | 46 +- hypervideo_dl/extractor/kakao.py | 6 +- hypervideo_dl/extractor/kaltura.py | 265 +- hypervideo_dl/extractor/kanal2.py | 66 + hypervideo_dl/extractor/kanalplay.py | 96 - hypervideo_dl/extractor/kankan.py | 48 - hypervideo_dl/extractor/karaoketv.py | 3 - hypervideo_dl/extractor/karrierevideos.py | 3 - hypervideo_dl/extractor/keezmovies.py | 11 +- hypervideo_dl/extractor/kelbyone.py | 4 - hypervideo_dl/extractor/ketnet.py | 2 - hypervideo_dl/extractor/khanacademy.py | 19 +- hypervideo_dl/extractor/kicker.py | 55 + hypervideo_dl/extractor/kickstarter.py | 3 - hypervideo_dl/extractor/kinja.py | 17 +- hypervideo_dl/extractor/kinopoisk.py | 4 - hypervideo_dl/extractor/kompas.py | 26 + hypervideo_dl/extractor/konserthusetplay.py | 5 - hypervideo_dl/extractor/koo.py | 3 - hypervideo_dl/extractor/krasview.py | 3 - hypervideo_dl/extractor/kth.py | 28 + hypervideo_dl/extractor/ku6.py | 2 - hypervideo_dl/extractor/kusi.py | 10 +- hypervideo_dl/extractor/kuwo.py | 6 - hypervideo_dl/extractor/la7.py | 8 +- hypervideo_dl/extractor/laola1tv.py | 6 +- hypervideo_dl/extractor/lastfm.py | 5 +- hypervideo_dl/extractor/lbry.py | 86 +- hypervideo_dl/extractor/lci.py | 32 +- hypervideo_dl/extractor/lcp.py | 5 +- hypervideo_dl/extractor/lecture2go.py | 5 - hypervideo_dl/extractor/lecturio.py | 4 - hypervideo_dl/extractor/leeco.py | 6 +- hypervideo_dl/extractor/lego.py | 4 - hypervideo_dl/extractor/lemonde.py | 2 - hypervideo_dl/extractor/lenta.py | 3 - hypervideo_dl/extractor/libraryofcongress.py | 5 - hypervideo_dl/extractor/libsyn.py | 5 +- hypervideo_dl/extractor/lifenews.py | 5 - hypervideo_dl/extractor/likee.py | 192 + hypervideo_dl/extractor/limelight.py | 9 +- hypervideo_dl/extractor/line.py | 7 +- hypervideo_dl/extractor/linkedin.py | 13 +- hypervideo_dl/extractor/linuxacademy.py | 3 - hypervideo_dl/extractor/liputan6.py | 64 + hypervideo_dl/extractor/listennotes.py | 86 + hypervideo_dl/extractor/litv.py | 3 - hypervideo_dl/extractor/livejournal.py | 3 - hypervideo_dl/extractor/liveleak.py | 191 - hypervideo_dl/extractor/livestream.py | 7 +- hypervideo_dl/extractor/livestreamfails.py | 37 + hypervideo_dl/extractor/lnkgo.py | 8 +- hypervideo_dl/extractor/localnews8.py | 4 - hypervideo_dl/extractor/lovehomeporn.py | 3 - hypervideo_dl/extractor/lrt.py | 58 +- hypervideo_dl/extractor/lynda.py | 4 - hypervideo_dl/extractor/m6.py | 3 - hypervideo_dl/extractor/magentamusik360.py | 3 - hypervideo_dl/extractor/mailru.py | 4 - hypervideo_dl/extractor/mainstreaming.py | 11 +- hypervideo_dl/extractor/malltv.py | 37 +- hypervideo_dl/extractor/mangomolo.py | 31 +- hypervideo_dl/extractor/manoto.py | 5 - hypervideo_dl/extractor/manyvids.py | 122 +- hypervideo_dl/extractor/maoritv.py | 3 - hypervideo_dl/extractor/markiza.py | 3 - hypervideo_dl/extractor/massengeschmacktv.py | 4 - hypervideo_dl/extractor/masters.py | 38 + hypervideo_dl/extractor/matchtv.py | 4 - hypervideo_dl/extractor/mdr.py | 5 - hypervideo_dl/extractor/medaltv.py | 77 +- hypervideo_dl/extractor/mediaite.py | 3 - hypervideo_dl/extractor/mediaklikk.py | 4 - hypervideo_dl/extractor/medialaan.py | 7 +- hypervideo_dl/extractor/mediaset.py | 43 +- hypervideo_dl/extractor/mediasite.py | 19 +- hypervideo_dl/extractor/mediaworksnz.py | 103 + hypervideo_dl/extractor/medici.py | 3 - hypervideo_dl/extractor/megaphone.py | 11 +- hypervideo_dl/extractor/megatvcom.py | 11 +- hypervideo_dl/extractor/meipai.py | 7 +- hypervideo_dl/extractor/melonvod.py | 4 - hypervideo_dl/extractor/meta.py | 3 - hypervideo_dl/extractor/metacafe.py | 16 +- hypervideo_dl/extractor/metacritic.py | 3 - hypervideo_dl/extractor/mgoon.py | 5 - hypervideo_dl/extractor/mgtv.py | 11 +- hypervideo_dl/extractor/miaopai.py | 3 - hypervideo_dl/extractor/microsoftembed.py | 65 + hypervideo_dl/extractor/microsoftstream.py | 4 - hypervideo_dl/extractor/microsoftvirtualacademy.py | 12 +- hypervideo_dl/extractor/mildom.py | 11 +- hypervideo_dl/extractor/minds.py | 8 +- hypervideo_dl/extractor/ministrygrid.py | 2 - hypervideo_dl/extractor/minoto.py | 5 - hypervideo_dl/extractor/miomio.py | 3 - hypervideo_dl/extractor/mirrativ.py | 3 - hypervideo_dl/extractor/mirrorcouk.py | 98 + hypervideo_dl/extractor/mit.py | 2 - hypervideo_dl/extractor/mitele.py | 5 +- hypervideo_dl/extractor/mixch.py | 2 - hypervideo_dl/extractor/mixcloud.py | 11 +- hypervideo_dl/extractor/mlb.py | 120 +- hypervideo_dl/extractor/mlssoccer.py | 3 - hypervideo_dl/extractor/mnet.py | 4 - hypervideo_dl/extractor/mocha.py | 64 + hypervideo_dl/extractor/moevideo.py | 4 - hypervideo_dl/extractor/mofosex.py | 13 +- hypervideo_dl/extractor/mojvideo.py | 4 - hypervideo_dl/extractor/morningstar.py | 4 - hypervideo_dl/extractor/motherless.py | 31 +- hypervideo_dl/extractor/motorsport.py | 12 +- hypervideo_dl/extractor/movieclips.py | 3 - hypervideo_dl/extractor/moviepilot.py | 112 + hypervideo_dl/extractor/moview.py | 43 + hypervideo_dl/extractor/moviezine.py | 6 - hypervideo_dl/extractor/movingimage.py | 2 - hypervideo_dl/extractor/msn.py | 4 - hypervideo_dl/extractor/mtv.py | 26 +- hypervideo_dl/extractor/muenchentv.py | 4 - hypervideo_dl/extractor/murrtube.py | 5 +- hypervideo_dl/extractor/musescore.py | 3 - hypervideo_dl/extractor/musicdex.py | 5 +- hypervideo_dl/extractor/mwave.py | 3 - hypervideo_dl/extractor/mxplayer.py | 151 +- hypervideo_dl/extractor/mychannels.py | 4 - hypervideo_dl/extractor/myspace.py | 5 - hypervideo_dl/extractor/myspass.py | 3 - hypervideo_dl/extractor/myvi.py | 13 +- hypervideo_dl/extractor/myvideoge.py | 3 - hypervideo_dl/extractor/myvidster.py | 2 - hypervideo_dl/extractor/n1.py | 5 - hypervideo_dl/extractor/nate.py | 4 - hypervideo_dl/extractor/nationalgeographic.py | 4 +- hypervideo_dl/extractor/naver.py | 172 +- hypervideo_dl/extractor/nba.py | 4 - hypervideo_dl/extractor/nbc.py | 191 +- hypervideo_dl/extractor/ndr.py | 252 +- hypervideo_dl/extractor/ndtv.py | 15 +- hypervideo_dl/extractor/nebula.py | 111 +- hypervideo_dl/extractor/nerdcubed.py | 3 - hypervideo_dl/extractor/neteasemusic.py | 176 +- hypervideo_dl/extractor/netverse.py | 176 + hypervideo_dl/extractor/netzkino.py | 5 - hypervideo_dl/extractor/newgrounds.py | 4 - hypervideo_dl/extractor/newspicks.py | 53 + hypervideo_dl/extractor/newstube.py | 4 - hypervideo_dl/extractor/newsy.py | 4 - hypervideo_dl/extractor/nextmedia.py | 7 +- hypervideo_dl/extractor/nexx.py | 25 +- hypervideo_dl/extractor/nfb.py | 4 - hypervideo_dl/extractor/nfhsnetwork.py | 7 +- hypervideo_dl/extractor/nfl.py | 15 +- hypervideo_dl/extractor/nhk.py | 27 +- hypervideo_dl/extractor/nhl.py | 4 - hypervideo_dl/extractor/nick.py | 6 +- hypervideo_dl/extractor/niconico.py | 56 +- hypervideo_dl/extractor/ninecninemedia.py | 4 - hypervideo_dl/extractor/ninegag.py | 48 +- hypervideo_dl/extractor/ninenow.py | 3 - hypervideo_dl/extractor/nintendo.py | 3 - hypervideo_dl/extractor/nitter.py | 3 - hypervideo_dl/extractor/njpwworld.py | 5 - hypervideo_dl/extractor/nobelprize.py | 4 - hypervideo_dl/extractor/noco.py | 228 - hypervideo_dl/extractor/nonktube.py | 2 - hypervideo_dl/extractor/noodlemagazine.py | 5 - hypervideo_dl/extractor/noovo.py | 3 - hypervideo_dl/extractor/normalboots.py | 3 - hypervideo_dl/extractor/nosnl.py | 95 + hypervideo_dl/extractor/nosvideo.py | 3 - hypervideo_dl/extractor/nova.py | 5 - hypervideo_dl/extractor/novaplay.py | 54 +- hypervideo_dl/extractor/nowness.py | 3 - hypervideo_dl/extractor/noz.py | 11 +- hypervideo_dl/extractor/npo.py | 10 +- hypervideo_dl/extractor/npr.py | 23 +- hypervideo_dl/extractor/nrk.py | 20 +- hypervideo_dl/extractor/nrl.py | 3 - hypervideo_dl/extractor/ntvcojp.py | 3 - hypervideo_dl/extractor/ntvde.py | 4 - hypervideo_dl/extractor/ntvru.py | 4 - hypervideo_dl/extractor/nuevo.py | 3 - hypervideo_dl/extractor/nuvid.py | 3 - hypervideo_dl/extractor/nytimes.py | 5 +- hypervideo_dl/extractor/nzherald.py | 49 +- hypervideo_dl/extractor/nzz.py | 3 - hypervideo_dl/extractor/odatv.py | 3 - hypervideo_dl/extractor/odnoklassniki.py | 107 +- hypervideo_dl/extractor/oftv.py | 54 + hypervideo_dl/extractor/oktoberfesttv.py | 3 - hypervideo_dl/extractor/olympics.py | 6 +- hypervideo_dl/extractor/on24.py | 4 - hypervideo_dl/extractor/once.py | 5 +- hypervideo_dl/extractor/ondemandkorea.py | 25 +- hypervideo_dl/extractor/onefootball.py | 4 - hypervideo_dl/extractor/onenewsnz.py | 111 + hypervideo_dl/extractor/onet.py | 4 - hypervideo_dl/extractor/onionstudios.py | 13 +- hypervideo_dl/extractor/ooyala.py | 27 +- hypervideo_dl/extractor/opencast.py | 5 - hypervideo_dl/extractor/openload.py | 110 +- hypervideo_dl/extractor/openrec.py | 10 +- hypervideo_dl/extractor/ora.py | 4 - hypervideo_dl/extractor/orf.py | 287 +- hypervideo_dl/extractor/outsidetv.py | 3 - hypervideo_dl/extractor/packtpub.py | 2 - hypervideo_dl/extractor/palcomp3.py | 4 - hypervideo_dl/extractor/pandoratv.py | 5 - hypervideo_dl/extractor/panopto.py | 9 +- hypervideo_dl/extractor/paramountplus.py | 69 +- hypervideo_dl/extractor/parler.py | 111 + hypervideo_dl/extractor/parliamentliveuk.py | 80 - hypervideo_dl/extractor/parlview.py | 4 - hypervideo_dl/extractor/patreon.py | 368 +- hypervideo_dl/extractor/pbs.py | 4 - hypervideo_dl/extractor/pearvideo.py | 13 +- hypervideo_dl/extractor/peekvids.py | 6 +- hypervideo_dl/extractor/peertube.py | 24 +- hypervideo_dl/extractor/peertv.py | 5 - hypervideo_dl/extractor/peloton.py | 16 +- hypervideo_dl/extractor/people.py | 3 - hypervideo_dl/extractor/performgroup.py | 5 - hypervideo_dl/extractor/periscope.py | 14 +- hypervideo_dl/extractor/philharmoniedeparis.py | 43 +- hypervideo_dl/extractor/phoenix.py | 3 - hypervideo_dl/extractor/photobucket.py | 2 - hypervideo_dl/extractor/piapro.py | 17 +- hypervideo_dl/extractor/picarto.py | 5 - hypervideo_dl/extractor/piksel.py | 15 +- hypervideo_dl/extractor/pinkbike.py | 4 - hypervideo_dl/extractor/pinterest.py | 4 - hypervideo_dl/extractor/pixivsketch.py | 4 - hypervideo_dl/extractor/pladform.py | 15 +- hypervideo_dl/extractor/planetmarathi.py | 4 - hypervideo_dl/extractor/platzi.py | 4 - hypervideo_dl/extractor/playfm.py | 4 - hypervideo_dl/extractor/playplustv.py | 4 - hypervideo_dl/extractor/plays.py | 4 - hypervideo_dl/extractor/playstuff.py | 2 - hypervideo_dl/extractor/playsuisse.py | 147 + hypervideo_dl/extractor/playtvak.py | 4 - hypervideo_dl/extractor/playvid.py | 16 +- hypervideo_dl/extractor/playwire.py | 6 +- hypervideo_dl/extractor/pluralsight.py | 4 - hypervideo_dl/extractor/plutotv.py | 4 - hypervideo_dl/extractor/podbayfm.py | 75 + hypervideo_dl/extractor/podchaser.py | 97 + hypervideo_dl/extractor/podomatic.py | 2 - hypervideo_dl/extractor/pokemon.py | 44 - hypervideo_dl/extractor/pokergo.py | 3 - hypervideo_dl/extractor/polsatgo.py | 4 - hypervideo_dl/extractor/polskieradio.py | 5 - hypervideo_dl/extractor/popcorntimes.py | 11 +- hypervideo_dl/extractor/popcorntv.py | 3 - hypervideo_dl/extractor/porn91.py | 3 - hypervideo_dl/extractor/porncom.py | 4 - hypervideo_dl/extractor/pornez.py | 2 - hypervideo_dl/extractor/pornflip.py | 4 - hypervideo_dl/extractor/pornhd.py | 4 - hypervideo_dl/extractor/pornhub.py | 47 +- hypervideo_dl/extractor/pornotube.py | 2 - hypervideo_dl/extractor/pornovoisines.py | 5 - hypervideo_dl/extractor/pornoxo.py | 3 - hypervideo_dl/extractor/prankcast.py | 66 + hypervideo_dl/extractor/premiershiprugby.py | 39 + hypervideo_dl/extractor/presstv.py | 4 - hypervideo_dl/extractor/projectveritas.py | 4 - hypervideo_dl/extractor/prosiebensat1.py | 4 - hypervideo_dl/extractor/prx.py | 3 - hypervideo_dl/extractor/puhutv.py | 4 - hypervideo_dl/extractor/puls4.py | 10 +- hypervideo_dl/extractor/pyvideo.py | 2 - hypervideo_dl/extractor/qingting.py | 47 + hypervideo_dl/extractor/qqmusic.py | 4 - hypervideo_dl/extractor/r7.py | 4 - hypervideo_dl/extractor/radiko.py | 76 +- hypervideo_dl/extractor/radiobremen.py | 4 - hypervideo_dl/extractor/radiocanada.py | 5 - hypervideo_dl/extractor/radiode.py | 3 - hypervideo_dl/extractor/radiofrance.py | 53 +- hypervideo_dl/extractor/radiojavan.py | 3 - hypervideo_dl/extractor/radiokapital.py | 2 - hypervideo_dl/extractor/radiozet.py | 1 - hypervideo_dl/extractor/radlive.py | 7 +- hypervideo_dl/extractor/rai.py | 247 +- hypervideo_dl/extractor/raywenderlich.py | 2 - hypervideo_dl/extractor/rbmaradio.py | 3 - hypervideo_dl/extractor/rcs.py | 49 +- hypervideo_dl/extractor/rcti.py | 5 - hypervideo_dl/extractor/rds.py | 3 - hypervideo_dl/extractor/redbee.py | 379 ++ hypervideo_dl/extractor/redbulltv.py | 7 +- hypervideo_dl/extractor/reddit.py | 89 +- hypervideo_dl/extractor/redgifs.py | 40 +- hypervideo_dl/extractor/redtube.py | 12 +- hypervideo_dl/extractor/regiotv.py | 3 - hypervideo_dl/extractor/rentv.py | 4 - hypervideo_dl/extractor/restudy.py | 4 - hypervideo_dl/extractor/reuters.py | 4 - hypervideo_dl/extractor/reverbnation.py | 2 - hypervideo_dl/extractor/rice.py | 4 - hypervideo_dl/extractor/rmcdecouverte.py | 4 - hypervideo_dl/extractor/ro220.py | 43 - hypervideo_dl/extractor/rockstargames.py | 5 - hypervideo_dl/extractor/rokfin.py | 173 +- hypervideo_dl/extractor/roosterteeth.py | 2 - hypervideo_dl/extractor/rottentomatoes.py | 2 - hypervideo_dl/extractor/roxwel.py | 52 - hypervideo_dl/extractor/rozhlas.py | 3 - hypervideo_dl/extractor/rtbf.py | 159 - hypervideo_dl/extractor/rte.py | 5 - hypervideo_dl/extractor/rtl2.py | 6 - hypervideo_dl/extractor/rtlnl.py | 156 +- hypervideo_dl/extractor/rtnews.py | 3 - hypervideo_dl/extractor/rtp.py | 3 - hypervideo_dl/extractor/rtrfm.py | 2 - hypervideo_dl/extractor/rts.py | 6 +- hypervideo_dl/extractor/rtve.py | 28 +- hypervideo_dl/extractor/rtvnh.py | 4 - hypervideo_dl/extractor/rtvs.py | 4 - hypervideo_dl/extractor/rtvslo.py | 150 + hypervideo_dl/extractor/ruhd.py | 3 - hypervideo_dl/extractor/rule34video.py | 4 - hypervideo_dl/extractor/rumble.py | 213 +- hypervideo_dl/extractor/rutube.py | 13 +- hypervideo_dl/extractor/rutv.py | 33 +- hypervideo_dl/extractor/ruutu.py | 50 +- hypervideo_dl/extractor/ruv.py | 3 - hypervideo_dl/extractor/safari.py | 3 - hypervideo_dl/extractor/saitosan.py | 4 - hypervideo_dl/extractor/samplefocus.py | 3 - hypervideo_dl/extractor/sapo.py | 5 - hypervideo_dl/extractor/savefrom.py | 3 - hypervideo_dl/extractor/sbs.py | 16 +- hypervideo_dl/extractor/screen9.py | 62 + hypervideo_dl/extractor/screencast.py | 14 +- hypervideo_dl/extractor/screencastify.py | 52 + hypervideo_dl/extractor/screencastomatic.py | 27 +- hypervideo_dl/extractor/scrippsnetworks.py | 3 - hypervideo_dl/extractor/scrolller.py | 102 + hypervideo_dl/extractor/scte.py | 2 - hypervideo_dl/extractor/seeker.py | 3 - hypervideo_dl/extractor/senategov.py | 15 +- hypervideo_dl/extractor/senateisvp.py | 153 - hypervideo_dl/extractor/sendtonews.py | 13 +- hypervideo_dl/extractor/servus.py | 4 - hypervideo_dl/extractor/sevenplus.py | 7 +- hypervideo_dl/extractor/sexu.py | 3 - hypervideo_dl/extractor/seznamzpravy.py | 16 +- hypervideo_dl/extractor/shahid.py | 4 - hypervideo_dl/extractor/shared.py | 13 +- hypervideo_dl/extractor/sharevideos.py | 6 + hypervideo_dl/extractor/shemaroome.py | 4 - hypervideo_dl/extractor/showroomlive.py | 4 - hypervideo_dl/extractor/simplecast.py | 19 +- hypervideo_dl/extractor/sina.py | 5 - hypervideo_dl/extractor/sixplay.py | 5 - hypervideo_dl/extractor/skeb.py | 3 - hypervideo_dl/extractor/sky.py | 3 - hypervideo_dl/extractor/skyit.py | 99 +- hypervideo_dl/extractor/skylinewebcams.py | 3 - hypervideo_dl/extractor/skynewsarabia.py | 3 - hypervideo_dl/extractor/skynewsau.py | 3 - hypervideo_dl/extractor/slideshare.py | 2 - hypervideo_dl/extractor/slideslive.py | 5 +- hypervideo_dl/extractor/slutload.py | 2 - hypervideo_dl/extractor/smotrim.py | 65 + hypervideo_dl/extractor/snotr.py | 4 - hypervideo_dl/extractor/sohu.py | 4 - hypervideo_dl/extractor/sonyliv.py | 34 +- hypervideo_dl/extractor/soundcloud.py | 370 +- hypervideo_dl/extractor/soundgasm.py | 3 - hypervideo_dl/extractor/southpark.py | 54 +- hypervideo_dl/extractor/sovietscloset.py | 18 +- hypervideo_dl/extractor/spankbang.py | 4 - hypervideo_dl/extractor/spankwire.py | 10 +- hypervideo_dl/extractor/spiegel.py | 3 - hypervideo_dl/extractor/spiegeltv.py | 17 - hypervideo_dl/extractor/spike.py | 2 - hypervideo_dl/extractor/sport5.py | 5 - hypervideo_dl/extractor/sportbox.py | 13 +- hypervideo_dl/extractor/sportdeutschland.py | 3 - hypervideo_dl/extractor/spotify.py | 55 +- hypervideo_dl/extractor/spreaker.py | 3 - hypervideo_dl/extractor/springboardplatform.py | 14 +- hypervideo_dl/extractor/sprout.py | 3 - hypervideo_dl/extractor/srgssr.py | 5 - hypervideo_dl/extractor/srmediathek.py | 3 - hypervideo_dl/extractor/stanfordoc.py | 2 - hypervideo_dl/extractor/startrek.py | 75 + hypervideo_dl/extractor/startv.py | 3 - hypervideo_dl/extractor/steam.py | 49 +- hypervideo_dl/extractor/stitcher.py | 2 - hypervideo_dl/extractor/storyfire.py | 5 +- hypervideo_dl/extractor/streamable.py | 15 +- hypervideo_dl/extractor/streamanity.py | 4 - hypervideo_dl/extractor/streamcloud.py | 3 - hypervideo_dl/extractor/streamcz.py | 6 +- hypervideo_dl/extractor/streamff.py | 1 - hypervideo_dl/extractor/streetvoice.py | 3 - hypervideo_dl/extractor/stretchinternet.py | 2 - hypervideo_dl/extractor/stripchat.py | 52 +- hypervideo_dl/extractor/stv.py | 6 +- hypervideo_dl/extractor/substack.py | 100 + hypervideo_dl/extractor/sunporno.py | 3 - hypervideo_dl/extractor/sverigesradio.py | 4 - hypervideo_dl/extractor/svt.py | 12 +- hypervideo_dl/extractor/swearnet.py | 73 + hypervideo_dl/extractor/swrmediathek.py | 4 - hypervideo_dl/extractor/syfy.py | 2 - hypervideo_dl/extractor/syvdk.py | 33 + hypervideo_dl/extractor/sztvhu.py | 3 - hypervideo_dl/extractor/tagesschau.py | 5 - hypervideo_dl/extractor/tass.py | 4 - hypervideo_dl/extractor/tastytrade.py | 43 - hypervideo_dl/extractor/tbs.py | 3 - hypervideo_dl/extractor/tdslifeway.py | 2 - hypervideo_dl/extractor/teachable.py | 16 +- hypervideo_dl/extractor/teachertube.py | 5 - hypervideo_dl/extractor/teachingchannel.py | 2 - hypervideo_dl/extractor/teamcoco.py | 4 - hypervideo_dl/extractor/teamtreehouse.py | 3 - hypervideo_dl/extractor/techtalks.py | 2 - hypervideo_dl/extractor/ted.py | 8 +- hypervideo_dl/extractor/tele13.py | 4 - hypervideo_dl/extractor/tele5.py | 5 +- hypervideo_dl/extractor/telebruxelles.py | 4 - hypervideo_dl/extractor/telecinco.py | 4 - hypervideo_dl/extractor/telegraaf.py | 9 +- hypervideo_dl/extractor/telegram.py | 141 +- hypervideo_dl/extractor/telemb.py | 4 - hypervideo_dl/extractor/telemundo.py | 4 - hypervideo_dl/extractor/telequebec.py | 3 - hypervideo_dl/extractor/teletask.py | 2 - hypervideo_dl/extractor/telewebion.py | 3 - hypervideo_dl/extractor/tempo.py | 53 + hypervideo_dl/extractor/tencent.py | 452 ++ hypervideo_dl/extractor/tennistv.py | 186 +- hypervideo_dl/extractor/tenplay.py | 4 - hypervideo_dl/extractor/testurl.py | 47 +- hypervideo_dl/extractor/tf1.py | 3 - hypervideo_dl/extractor/tfo.py | 3 - hypervideo_dl/extractor/theholetv.py | 35 + hypervideo_dl/extractor/theintercept.py | 3 - hypervideo_dl/extractor/theplatform.py | 30 +- hypervideo_dl/extractor/thescene.py | 44 - hypervideo_dl/extractor/thestar.py | 3 - hypervideo_dl/extractor/thesun.py | 2 - hypervideo_dl/extractor/theta.py | 5 - hypervideo_dl/extractor/theweatherchannel.py | 6 +- hypervideo_dl/extractor/thisamericanlife.py | 2 - hypervideo_dl/extractor/thisav.py | 4 - hypervideo_dl/extractor/thisoldhouse.py | 3 - hypervideo_dl/extractor/threeqsdn.py | 26 +- hypervideo_dl/extractor/threespeak.py | 4 - hypervideo_dl/extractor/tiktok.py | 283 +- hypervideo_dl/extractor/tinypic.py | 2 - hypervideo_dl/extractor/tmz.py | 62 +- hypervideo_dl/extractor/tnaflix.py | 205 +- hypervideo_dl/extractor/toggle.py | 4 - hypervideo_dl/extractor/toggo.py | 11 +- hypervideo_dl/extractor/tokentube.py | 5 - hypervideo_dl/extractor/tonline.py | 3 - hypervideo_dl/extractor/toongoggles.py | 4 - hypervideo_dl/extractor/toutv.py | 5 +- hypervideo_dl/extractor/toypics.py | 3 - hypervideo_dl/extractor/traileraddict.py | 2 - hypervideo_dl/extractor/triller.py | 294 + hypervideo_dl/extractor/trilulilu.py | 3 - hypervideo_dl/extractor/trovo.py | 308 +- hypervideo_dl/extractor/trueid.py | 3 - hypervideo_dl/extractor/trunews.py | 2 - hypervideo_dl/extractor/truth.py | 69 + hypervideo_dl/extractor/trutv.py | 4 - hypervideo_dl/extractor/tube8.py | 11 +- hypervideo_dl/extractor/tubetugraz.py | 233 + hypervideo_dl/extractor/tubitv.py | 57 +- hypervideo_dl/extractor/tudou.py | 49 - hypervideo_dl/extractor/tumblr.py | 5 - hypervideo_dl/extractor/tunein.py | 11 +- hypervideo_dl/extractor/tunepk.py | 3 - hypervideo_dl/extractor/turbo.py | 4 - hypervideo_dl/extractor/turner.py | 7 +- hypervideo_dl/extractor/tv2.py | 37 +- hypervideo_dl/extractor/tv24ua.py | 78 + hypervideo_dl/extractor/tv2dk.py | 4 - hypervideo_dl/extractor/tv2hu.py | 3 - hypervideo_dl/extractor/tv4.py | 5 - hypervideo_dl/extractor/tv5mondeplus.py | 4 - hypervideo_dl/extractor/tv5unis.py | 4 - hypervideo_dl/extractor/tva.py | 3 - hypervideo_dl/extractor/tvanouvelles.py | 3 - hypervideo_dl/extractor/tvc.py | 14 +- hypervideo_dl/extractor/tver.py | 130 +- hypervideo_dl/extractor/tvigle.py | 6 +- hypervideo_dl/extractor/tviplayer.py | 78 + hypervideo_dl/extractor/tvland.py | 3 - hypervideo_dl/extractor/tvn24.py | 4 - hypervideo_dl/extractor/tvnet.py | 4 - hypervideo_dl/extractor/tvnoe.py | 3 - hypervideo_dl/extractor/tvnow.py | 7 +- hypervideo_dl/extractor/tvopengr.py | 14 +- hypervideo_dl/extractor/tvp.py | 236 +- hypervideo_dl/extractor/tvplay.py | 7 - hypervideo_dl/extractor/tvplayer.py | 4 - hypervideo_dl/extractor/tweakers.py | 3 - hypervideo_dl/extractor/twentyfourvideo.py | 4 - hypervideo_dl/extractor/twentymin.py | 13 +- hypervideo_dl/extractor/twentythreevideo.py | 3 - hypervideo_dl/extractor/twitcasting.py | 33 +- hypervideo_dl/extractor/twitch.py | 155 +- hypervideo_dl/extractor/twitter.py | 788 ++- hypervideo_dl/extractor/udemy.py | 23 +- hypervideo_dl/extractor/udn.py | 6 +- hypervideo_dl/extractor/ufctv.py | 3 - hypervideo_dl/extractor/ukcolumn.py | 2 - hypervideo_dl/extractor/uktvplay.py | 8 +- hypervideo_dl/extractor/umg.py | 4 - hypervideo_dl/extractor/unistra.py | 3 - hypervideo_dl/extractor/unity.py | 2 - hypervideo_dl/extractor/unscripted.py | 53 + hypervideo_dl/extractor/unsupported.py | 143 + hypervideo_dl/extractor/uol.py | 4 - hypervideo_dl/extractor/uplynk.py | 7 +- hypervideo_dl/extractor/urort.py | 13 +- hypervideo_dl/extractor/urplay.py | 4 - hypervideo_dl/extractor/usanetwork.py | 5 +- hypervideo_dl/extractor/usatoday.py | 3 - hypervideo_dl/extractor/ustream.py | 12 +- hypervideo_dl/extractor/ustudio.py | 5 - hypervideo_dl/extractor/utreon.py | 4 - hypervideo_dl/extractor/varzesh3.py | 3 - hypervideo_dl/extractor/vbox7.py | 14 +- hypervideo_dl/extractor/veehd.py | 2 - hypervideo_dl/extractor/veo.py | 5 - hypervideo_dl/extractor/veoh.py | 67 +- hypervideo_dl/extractor/vesti.py | 3 - hypervideo_dl/extractor/vevo.py | 123 +- hypervideo_dl/extractor/vgtv.py | 12 +- hypervideo_dl/extractor/vh1.py | 3 - hypervideo_dl/extractor/vice.py | 17 +- hypervideo_dl/extractor/vidbit.py | 2 - hypervideo_dl/extractor/viddler.py | 6 +- hypervideo_dl/extractor/videa.py | 21 +- hypervideo_dl/extractor/videocampus_sachsen.py | 237 +- hypervideo_dl/extractor/videodetective.py | 2 - hypervideo_dl/extractor/videofyme.py | 2 - hypervideo_dl/extractor/videomore.py | 25 +- hypervideo_dl/extractor/videopress.py | 13 +- hypervideo_dl/extractor/vidio.py | 42 +- hypervideo_dl/extractor/vidlii.py | 6 +- hypervideo_dl/extractor/vidme.py | 295 - hypervideo_dl/extractor/vidzi.py | 68 - hypervideo_dl/extractor/vier.py | 264 - hypervideo_dl/extractor/viewlift.py | 13 +- hypervideo_dl/extractor/viidea.py | 3 - hypervideo_dl/extractor/viki.py | 3 - hypervideo_dl/extractor/vimeo.py | 252 +- hypervideo_dl/extractor/vimm.py | 3 - hypervideo_dl/extractor/vimple.py | 3 - hypervideo_dl/extractor/vine.py | 8 +- hypervideo_dl/extractor/viqeo.py | 15 +- hypervideo_dl/extractor/viu.py | 47 +- hypervideo_dl/extractor/vk.py | 140 +- hypervideo_dl/extractor/vlive.py | 21 +- hypervideo_dl/extractor/vodlocker.py | 3 - hypervideo_dl/extractor/vodpl.py | 3 - hypervideo_dl/extractor/vodplatform.py | 5 +- hypervideo_dl/extractor/voicerepublic.py | 3 - hypervideo_dl/extractor/voicy.py | 8 +- hypervideo_dl/extractor/voot.py | 9 +- hypervideo_dl/extractor/voxmedia.py | 6 +- hypervideo_dl/extractor/vrak.py | 3 - hypervideo_dl/extractor/vrt.py | 4 - hypervideo_dl/extractor/vrv.py | 19 +- hypervideo_dl/extractor/vshare.py | 22 +- hypervideo_dl/extractor/vtm.py | 3 - hypervideo_dl/extractor/vube.py | 170 - hypervideo_dl/extractor/vuclip.py | 2 - hypervideo_dl/extractor/vupload.py | 3 - hypervideo_dl/extractor/vvvvid.py | 21 +- hypervideo_dl/extractor/vyborymos.py | 3 - hypervideo_dl/extractor/vzaar.py | 14 +- hypervideo_dl/extractor/wakanim.py | 3 - hypervideo_dl/extractor/walla.py | 4 - hypervideo_dl/extractor/wasdtv.py | 10 +- hypervideo_dl/extractor/washingtonpost.py | 10 +- hypervideo_dl/extractor/wat.py | 7 +- hypervideo_dl/extractor/watchbox.py | 5 - hypervideo_dl/extractor/watchindianporn.py | 3 - hypervideo_dl/extractor/wdr.py | 7 +- hypervideo_dl/extractor/webcaster.py | 20 +- hypervideo_dl/extractor/webofstories.py | 5 - hypervideo_dl/extractor/weibo.py | 5 - hypervideo_dl/extractor/weiqitv.py | 3 - hypervideo_dl/extractor/whowatch.py | 4 - hypervideo_dl/extractor/wikimedia.py | 55 + hypervideo_dl/extractor/willow.py | 2 - hypervideo_dl/extractor/wimtv.py | 19 +- hypervideo_dl/extractor/wistia.py | 250 +- hypervideo_dl/extractor/wordpress.py | 154 + hypervideo_dl/extractor/worldstarhiphop.py | 2 - hypervideo_dl/extractor/wppilot.py | 10 +- hypervideo_dl/extractor/wsj.py | 7 +- hypervideo_dl/extractor/wwe.py | 2 - hypervideo_dl/extractor/xbef.py | 2 - hypervideo_dl/extractor/xboxclips.py | 3 - hypervideo_dl/extractor/xfileshare.py | 31 +- hypervideo_dl/extractor/xhamster.py | 27 +- hypervideo_dl/extractor/xiami.py | 3 - hypervideo_dl/extractor/ximalaya.py | 161 +- hypervideo_dl/extractor/xinpianchang.py | 5 - hypervideo_dl/extractor/xminus.py | 3 - hypervideo_dl/extractor/xnxx.py | 4 - hypervideo_dl/extractor/xstream.py | 4 - hypervideo_dl/extractor/xtube.py | 3 - hypervideo_dl/extractor/xuite.py | 4 - hypervideo_dl/extractor/xvideos.py | 4 - hypervideo_dl/extractor/xxxymovies.py | 3 - hypervideo_dl/extractor/yahoo.py | 143 +- hypervideo_dl/extractor/yandexdisk.py | 4 - hypervideo_dl/extractor/yandexmusic.py | 6 +- hypervideo_dl/extractor/yandexvideo.py | 182 +- hypervideo_dl/extractor/yapfiles.py | 14 +- hypervideo_dl/extractor/yesjapan.py | 3 - hypervideo_dl/extractor/yinyuetai.py | 4 - hypervideo_dl/extractor/yle_areena.py | 71 + hypervideo_dl/extractor/ynet.py | 10 +- hypervideo_dl/extractor/youjizz.py | 3 - hypervideo_dl/extractor/youku.py | 4 - hypervideo_dl/extractor/younow.py | 5 +- hypervideo_dl/extractor/youporn.py | 39 +- hypervideo_dl/extractor/yourporn.py | 2 - hypervideo_dl/extractor/yourupload.py | 3 - hypervideo_dl/extractor/youtube.py | 2997 +++++++--- hypervideo_dl/extractor/zapiks.py | 5 +- hypervideo_dl/extractor/zaq1.py | 101 - hypervideo_dl/extractor/zattoo.py | 708 ++- hypervideo_dl/extractor/zdf.py | 150 +- hypervideo_dl/extractor/zee5.py | 49 +- hypervideo_dl/extractor/zeenews.py | 57 + hypervideo_dl/extractor/zhihu.py | 6 +- hypervideo_dl/extractor/zingmp3.py | 392 +- hypervideo_dl/extractor/zoom.py | 6 - hypervideo_dl/extractor/zype.py | 13 +- hypervideo_dl/jsinterp.py | 785 ++- hypervideo_dl/minicurses.py | 7 +- hypervideo_dl/options.py | 565 +- hypervideo_dl/postprocessor/__init__.py | 15 +- hypervideo_dl/postprocessor/common.py | 64 +- hypervideo_dl/postprocessor/embedthumbnail.py | 79 +- hypervideo_dl/postprocessor/exec.py | 8 +- hypervideo_dl/postprocessor/execafterdownload.py | 31 - hypervideo_dl/postprocessor/ffmpeg.py | 521 +- hypervideo_dl/postprocessor/metadatafromtitle.py | 48 - hypervideo_dl/postprocessor/metadataparser.py | 28 +- hypervideo_dl/postprocessor/modify_chapters.py | 37 +- .../postprocessor/movefilesafterdownload.py | 7 +- hypervideo_dl/postprocessor/sponskrub.py | 25 +- hypervideo_dl/postprocessor/sponsorblock.py | 29 +- hypervideo_dl/postprocessor/xattrpp.py | 85 +- hypervideo_dl/socks.py | 70 +- hypervideo_dl/utils.py | 2873 +++++---- hypervideo_dl/version.py | 6 +- hypervideo_dl/webvtt.py | 61 +- pytest.ini | 4 - requirements.txt | 2 +- setup.cfg | 49 +- setup.py | 5 +- test/helper.py | 128 +- test/parameters.json | 4 +- test/test_InfoExtractor.py | 356 +- test/test_YoutubeDL.py | 263 +- test/test_YoutubeDLCookieJar.py | 13 +- test/test_aes.py | 71 +- test/test_age_restriction.py | 4 +- test/test_all_urls.py | 19 +- test/test_cache.py | 8 +- test/test_compat.py | 105 +- test/test_cookies.py | 173 +- test/test_download.py | 124 +- test/test_downloader_http.py | 21 +- test/test_execution.py | 59 +- test/test_http.py | 126 +- test/test_netrc.py | 5 +- test/test_options.py | 26 - test/test_overwrites.py | 13 +- test/test_post_hooks.py | 11 +- test/test_postprocessors.py | 39 +- test/test_socks.py | 35 +- test/test_subtitles.py | 168 +- test/test_unicode_literals.py | 63 - test/test_utils.py | 468 +- test/test_verbose_output.py | 24 +- test/test_write_annotations.py | 80 - test/test_youtube_lists.py | 22 +- test/test_youtube_misc.py | 2 +- test/testdata/certificate/ca.crt | 10 + test/testdata/certificate/ca.key | 5 + test/testdata/certificate/ca.srl | 1 + test/testdata/certificate/client.crt | 9 + test/testdata/certificate/client.csr | 7 + test/testdata/certificate/client.key | 5 + test/testdata/certificate/clientencrypted.key | 8 + .../certificate/clientwithencryptedkey.crt | 17 + test/testdata/certificate/clientwithkey.crt | 14 + test/testdata/certificate/instructions.md | 19 + test/testdata/ism/ec-3_test.Manifest | 1 + test/testdata/m3u8/pluzz_francetv_11507.m3u8 | 14 - test/testdata/m3u8/teamcoco_11995.m3u8 | 16 - test/testdata/m3u8/ted_18923.m3u8 | 28 - test/testdata/m3u8/toggle_mobile_12211.m3u8 | 13 - test/testdata/m3u8/twitch_vod.m3u8 | 20 - test/testdata/m3u8/vidio.m3u8 | 10 - tox.ini | 15 - 1177 files changed, 38160 insertions(+), 33901 deletions(-) delete mode 100644 .flake8 delete mode 100644 .gitlab-ci.yml delete mode 100644 ChangeLog create mode 100644 devscripts/__init__.py delete mode 100644 devscripts/buildserver.py mode change 100755 => 100644 devscripts/make_readme.py delete mode 100755 devscripts/posix-locale.sh create mode 100644 devscripts/set-variant.py create mode 100644 devscripts/utils.py delete mode 100644 docs/.gitignore delete mode 100644 docs/Makefile delete mode 100644 docs/conf.py delete mode 100644 docs/index.rst delete mode 100644 docs/module_guide.rst delete mode 100644 docs/supportedsites.md delete mode 100644 hypervideo.plugin.zsh delete mode 100644 hypervideo_dl/compat.py create mode 100644 hypervideo_dl/compat/__init__.py create mode 100644 hypervideo_dl/compat/_deprecated.py create mode 100644 hypervideo_dl/compat/_legacy.py create mode 100644 hypervideo_dl/compat/compat_utils.py create mode 100644 hypervideo_dl/compat/functools.py create mode 100644 hypervideo_dl/compat/imghdr.py create mode 100644 hypervideo_dl/compat/shutil.py create mode 100644 hypervideo_dl/dependencies.py create mode 100644 hypervideo_dl/extractor/_extractors.py create mode 100644 hypervideo_dl/extractor/acfun.py create mode 100644 hypervideo_dl/extractor/aeonco.py create mode 100644 hypervideo_dl/extractor/agora.py create mode 100644 hypervideo_dl/extractor/amazonminitv.py create mode 100644 hypervideo_dl/extractor/angel.py delete mode 100644 hypervideo_dl/extractor/animelab.py delete mode 100644 hypervideo_dl/extractor/animeondemand.py delete mode 100644 hypervideo_dl/extractor/anvato_token_generator/__init__.py delete mode 100644 hypervideo_dl/extractor/anvato_token_generator/common.py delete mode 100644 hypervideo_dl/extractor/anvato_token_generator/nfl.py create mode 100644 hypervideo_dl/extractor/atscaleconf.py create mode 100644 hypervideo_dl/extractor/audiodraft.py create mode 100644 hypervideo_dl/extractor/berufetv.py delete mode 100644 hypervideo_dl/extractor/blinkx.py create mode 100644 hypervideo_dl/extractor/booyah.py create mode 100644 hypervideo_dl/extractor/bundesliga.py create mode 100644 hypervideo_dl/extractor/camsoda.py create mode 100644 hypervideo_dl/extractor/camtasia.py delete mode 100644 hypervideo_dl/extractor/camtube.py create mode 100644 hypervideo_dl/extractor/cellebrite.py create mode 100644 hypervideo_dl/extractor/cinetecamilano.py create mode 100644 hypervideo_dl/extractor/dailywire.py create mode 100644 hypervideo_dl/extractor/detik.py create mode 100644 hypervideo_dl/extractor/deuxm.py delete mode 100644 hypervideo_dl/extractor/discoverynetworks.py delete mode 100644 hypervideo_dl/extractor/discoveryplusindia.py delete mode 100644 hypervideo_dl/extractor/discoveryvr.py delete mode 100644 hypervideo_dl/extractor/doodstream.py create mode 100644 hypervideo_dl/extractor/epoch.py create mode 100644 hypervideo_dl/extractor/eurosport.py delete mode 100644 hypervideo_dl/extractor/everyonesmixtape.py create mode 100644 hypervideo_dl/extractor/fifa.py delete mode 100644 hypervideo_dl/extractor/fivemin.py create mode 100644 hypervideo_dl/extractor/fourzerostudio.py delete mode 100644 hypervideo_dl/extractor/franceculture.py create mode 100644 hypervideo_dl/extractor/freetv.py delete mode 100644 hypervideo_dl/extractor/freshlive.py create mode 100644 hypervideo_dl/extractor/fuyintv.py delete mode 100644 hypervideo_dl/extractor/fxnetworks.py create mode 100644 hypervideo_dl/extractor/genericembeds.py create mode 100644 hypervideo_dl/extractor/genius.py create mode 100644 hypervideo_dl/extractor/goodgame.py create mode 100644 hypervideo_dl/extractor/goplay.py create mode 100644 hypervideo_dl/extractor/harpodeon.py create mode 100644 hypervideo_dl/extractor/holodex.py delete mode 100644 hypervideo_dl/extractor/hornbunny.py create mode 100644 hypervideo_dl/extractor/hytale.py create mode 100644 hypervideo_dl/extractor/icareus.py create mode 100644 hypervideo_dl/extractor/iltalehti.py delete mode 100644 hypervideo_dl/extractor/ir90tv.py create mode 100644 hypervideo_dl/extractor/islamchannel.py create mode 100644 hypervideo_dl/extractor/israelnationalnews.py create mode 100644 hypervideo_dl/extractor/ixigua.py create mode 100644 hypervideo_dl/extractor/jable.py create mode 100644 hypervideo_dl/extractor/japandiet.py create mode 100644 hypervideo_dl/extractor/jixie.py create mode 100644 hypervideo_dl/extractor/kanal2.py delete mode 100644 hypervideo_dl/extractor/kanalplay.py delete mode 100644 hypervideo_dl/extractor/kankan.py create mode 100644 hypervideo_dl/extractor/kicker.py create mode 100644 hypervideo_dl/extractor/kompas.py create mode 100644 hypervideo_dl/extractor/kth.py create mode 100644 hypervideo_dl/extractor/likee.py create mode 100644 hypervideo_dl/extractor/liputan6.py create mode 100644 hypervideo_dl/extractor/listennotes.py delete mode 100644 hypervideo_dl/extractor/liveleak.py create mode 100644 hypervideo_dl/extractor/livestreamfails.py create mode 100644 hypervideo_dl/extractor/masters.py create mode 100644 hypervideo_dl/extractor/mediaworksnz.py create mode 100644 hypervideo_dl/extractor/microsoftembed.py create mode 100644 hypervideo_dl/extractor/mirrorcouk.py create mode 100644 hypervideo_dl/extractor/mocha.py create mode 100644 hypervideo_dl/extractor/moviepilot.py create mode 100644 hypervideo_dl/extractor/moview.py create mode 100644 hypervideo_dl/extractor/netverse.py create mode 100644 hypervideo_dl/extractor/newspicks.py delete mode 100644 hypervideo_dl/extractor/noco.py create mode 100644 hypervideo_dl/extractor/nosnl.py create mode 100644 hypervideo_dl/extractor/oftv.py create mode 100644 hypervideo_dl/extractor/onenewsnz.py create mode 100644 hypervideo_dl/extractor/parler.py delete mode 100644 hypervideo_dl/extractor/parliamentliveuk.py create mode 100644 hypervideo_dl/extractor/playsuisse.py create mode 100644 hypervideo_dl/extractor/podbayfm.py create mode 100644 hypervideo_dl/extractor/podchaser.py create mode 100644 hypervideo_dl/extractor/prankcast.py create mode 100644 hypervideo_dl/extractor/premiershiprugby.py create mode 100644 hypervideo_dl/extractor/qingting.py create mode 100644 hypervideo_dl/extractor/redbee.py delete mode 100644 hypervideo_dl/extractor/ro220.py delete mode 100644 hypervideo_dl/extractor/roxwel.py delete mode 100644 hypervideo_dl/extractor/rtbf.py create mode 100644 hypervideo_dl/extractor/rtvslo.py create mode 100644 hypervideo_dl/extractor/screen9.py create mode 100644 hypervideo_dl/extractor/screencastify.py create mode 100644 hypervideo_dl/extractor/scrolller.py delete mode 100644 hypervideo_dl/extractor/senateisvp.py create mode 100644 hypervideo_dl/extractor/sharevideos.py create mode 100644 hypervideo_dl/extractor/smotrim.py delete mode 100644 hypervideo_dl/extractor/spiegeltv.py create mode 100644 hypervideo_dl/extractor/startrek.py create mode 100644 hypervideo_dl/extractor/substack.py create mode 100644 hypervideo_dl/extractor/swearnet.py create mode 100644 hypervideo_dl/extractor/syvdk.py delete mode 100644 hypervideo_dl/extractor/tastytrade.py create mode 100644 hypervideo_dl/extractor/tempo.py create mode 100644 hypervideo_dl/extractor/tencent.py create mode 100644 hypervideo_dl/extractor/theholetv.py delete mode 100644 hypervideo_dl/extractor/thescene.py create mode 100644 hypervideo_dl/extractor/triller.py create mode 100644 hypervideo_dl/extractor/truth.py create mode 100644 hypervideo_dl/extractor/tubetugraz.py delete mode 100644 hypervideo_dl/extractor/tudou.py create mode 100644 hypervideo_dl/extractor/tv24ua.py create mode 100644 hypervideo_dl/extractor/tviplayer.py create mode 100644 hypervideo_dl/extractor/unscripted.py create mode 100644 hypervideo_dl/extractor/unsupported.py delete mode 100644 hypervideo_dl/extractor/vidme.py delete mode 100644 hypervideo_dl/extractor/vidzi.py delete mode 100644 hypervideo_dl/extractor/vier.py delete mode 100644 hypervideo_dl/extractor/vube.py create mode 100644 hypervideo_dl/extractor/wikimedia.py create mode 100644 hypervideo_dl/extractor/wordpress.py create mode 100644 hypervideo_dl/extractor/yle_areena.py delete mode 100644 hypervideo_dl/extractor/zaq1.py create mode 100644 hypervideo_dl/extractor/zeenews.py delete mode 100644 hypervideo_dl/postprocessor/execafterdownload.py delete mode 100644 hypervideo_dl/postprocessor/metadatafromtitle.py delete mode 100644 pytest.ini delete mode 100644 test/test_options.py delete mode 100644 test/test_unicode_literals.py delete mode 100644 test/test_write_annotations.py create mode 100644 test/testdata/certificate/ca.crt create mode 100644 test/testdata/certificate/ca.key create mode 100644 test/testdata/certificate/ca.srl create mode 100644 test/testdata/certificate/client.crt create mode 100644 test/testdata/certificate/client.csr create mode 100644 test/testdata/certificate/client.key create mode 100644 test/testdata/certificate/clientencrypted.key create mode 100644 test/testdata/certificate/clientwithencryptedkey.crt create mode 100644 test/testdata/certificate/clientwithkey.crt create mode 100644 test/testdata/certificate/instructions.md create mode 100644 test/testdata/ism/ec-3_test.Manifest delete mode 100644 test/testdata/m3u8/pluzz_francetv_11507.m3u8 delete mode 100644 test/testdata/m3u8/teamcoco_11995.m3u8 delete mode 100644 test/testdata/m3u8/ted_18923.m3u8 delete mode 100644 test/testdata/m3u8/toggle_mobile_12211.m3u8 delete mode 100644 test/testdata/m3u8/twitch_vod.m3u8 delete mode 100644 test/testdata/m3u8/vidio.m3u8 delete mode 100644 tox.ini diff --git a/.flake8 b/.flake8 deleted file mode 100644 index 2b9db86..0000000 --- a/.flake8 +++ /dev/null @@ -1,3 +0,0 @@ -[flake8] -exclude = youtube_dl/extractor/__init__.py,devscripts/buildserver.py,devscripts/lazy_load_template.py,setup.py,build,.git,venv -ignore = W503,W504,E402,E501,E731,E741 diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml deleted file mode 100644 index 8cbf5df..0000000 --- a/.gitlab-ci.yml +++ /dev/null @@ -1,33 +0,0 @@ -image: debian:sid - -before_script: -- apt-get update -y -- apt-get install -y python3-pip jython virtualenv - -test_core: - script: - - virtualenv -p python3 venv - - source venv/bin/activate - - python --version - - pip install nose - - export YTDL_TEST_SET=core - - export JYTHON=true; - - bash ./devscripts/run_tests.sh || true - -test_download: - script: - - virtualenv -p python3 venv - - source venv/bin/activate - - python --version - - pip install nose - - export YTDL_TEST_SET=download - - export JYTHON=true; - - bash ./devscripts/run_tests.sh || true - -test_flake8: - script: - - virtualenv -p python3 venv - - source venv/bin/activate - - python --version - - pip install flake8 - - flake8 . diff --git a/AUTHORS b/AUTHORS index 33923ec..8dafe32 100644 --- a/AUTHORS +++ b/AUTHORS @@ -18,6 +18,7 @@ Aaron Wojnowski Aaron Zeng Abdullah Ibn Fulan Abhishek Kedia +Abubukker Chaudhary Adam Adam Glenn Adam Malcontenti-Wilson @@ -28,14 +29,19 @@ Adrian Heine né Lang Adrian Kretz Adrik Aidan Rowe +Ajay Ramachandran +Akmal Alan Yee Albert Kim Aldo Gunsing +Aldo Ridhoni Aleksandar Topuzovic Aleksander Nitecki Aleri Kaisattera Ales Jirasek Alessandro Ghedini +Alex +Alex Karabanov Alex Merkel Alex Monk Alex Seiler @@ -57,6 +63,7 @@ Alpesh Valia Amaury Gauthier Amish Bhadeshia Anand Babu Periasamy +Anant Murmu Anarky Anders Einar Hilden Andras Elso @@ -64,6 +71,7 @@ Andre Walker Andreas Schmitz Andrei Troie AndreiArba +Andrew Andrew "Akari" Alexeyew Andrew Bottom Andrew J. Erickson @@ -75,6 +83,7 @@ AndroKev Andrzej Lichnerowicz András Veres-Szentkirályi Andy Savicki +Angel Toloza Anh Nhan Nguyen Aniruddh Joshi Aniruddh-J @@ -98,6 +107,7 @@ Ashish Gupta Ashutosh Chaudhary Atlas Sullivan Attila-Mihaly Balazs +Audrey Aurora Aurélien Dunand Aurélien Grosdidier @@ -113,20 +123,26 @@ Bastian de Groot Batuhan's Unmaintained Account Behrooz Ben Rog-Wilhelm +Ben Welsh Benedikt Wildenhain Benjamin Congdon Bepis Bernhard M. Wiedemann Bjorn Heesakkers BlahGeek +Bnyro Bob Poekert +Bobscorn BohwaZ Bojidar Qnkov Boris Wachtmeister +Brett824 Brian Foley Brian Marks Bricio +Bruno Guerreiro BunnyHelp +Burve CHJ85 CXwudi Camillo Dell'mour @@ -141,23 +157,28 @@ Ching Yi, Chan Chirantan Ekbote Chris Gavin Chris Hranj +Chris Lamb Christian Albrecht Christian Paul Christian Pointner Christoph Döpmann +Christoph Moench-Tegeder Christopher Krooss Christopher Neugebauer Christopher Smith Chuck Cho Cian Ruane CkuT +ClosedPort22 Clément DAVID +Conner Corey Farwell Corey Nicholson Cory Hall Costy Petrisor CplPwnies Craig Markwardt +CrankDatSouljaBoy CrypticSignal CyberJacob Cyril Roelandt @@ -174,6 +195,7 @@ Dan Weber Daniel Daniel Bolton Daniel Höpfl +Daniel Lindholm Daniel Peukert Daniel Twardowski Daniel.Zeng @@ -201,49 +223,61 @@ David Triendl David Wagner Deer-Spangle Delon +DepFA Derek Land DesweR Devin J. Pohly Devon Meunier +Dhruv Diego Fernando Rodríguez Varón DigitalDJ Dimitre Liotev +Djeson Dobrosław Żybort Dominik Dominik Heidler Dorian Westacott +Dosychev Peter Douglas Su DrWursterich Dracony DroidFreak32 Duncan Duncan Keall +Dzmitry Neviadomski Déstin Reed Eduardo Ferro Edward Betts +Ehtisham Sabir Eitan Adler Eitan Postavsky Elan Ruusamäe Elias Probst +Elyse Emanuel Hoogeveen Emilien Kenler Emmanuel Froissart Enes EntranceJew Entropy +Eren Kemer Eric Wong Erik Erik Johnson Erwin de Haan +Evan Spensley FND +Fabi019 Fabian Stahl Fai Fam0r Felix S Felix Stupp Felix Yan +Ferdinand Bachmann FestplattenSchnitzel Filip B +Filip Hedman Filippo Valsorda Finn Petersen FireDart @@ -259,9 +293,11 @@ Frederic Bournival GDR! Gabriel Schubiner Gaetan Gilbert +Galiley Gary Gaurav Gautam M +GautamMKGarg Genki Sky Georg Jaehnig George Boyle @@ -284,6 +320,7 @@ Grom PE Grzegorz P Grzegorz Ruciński Guillem Vela +HE7086 Ha Tien Loi Hadi0609 Hakim Boyles @@ -296,6 +333,7 @@ Hendrik Schröter Hendrik v. Raven Henrik Heimbuerger Hirokuni Yano +HobbyistDev Hongjie Dong Hormoz K Hubert Hirtz @@ -307,15 +345,18 @@ InfernalUnderling Irfan Charania Isaac-the-Man Ismael Mejia +Itachi Itay Brandes Iulian Onofrei Ivan Kozik J J.D. Purcell JChris246 +Jacek Nowacki Jack Danger Canty Jacob Chapman Jacob Kaplan-Moss +Jacob Truman Jai Grimshaw Jaime Marquínez Ferrándiz Jaime Marquínez Ferrándiz @@ -323,6 +364,7 @@ Jakub Adam Wieczorek Jakub Wilk Jalaz Kumar JamKage +James Woglom Jan 'Yenda' Trmal Jan Friesse Jan Kratochvil @@ -336,11 +378,13 @@ Jeff Buchbinder Jeff Crouse Jeff Huffman Jeff Smith +Jelle Besseling Jelle van der Waa Jens Rutschmann Jens Timmerman Jens Wille Jeremie J. Jarosh +Jeroen Jacobs Jertzukka Jesse Jesse de Zwart @@ -367,7 +411,7 @@ John Peel Johny Mo Swag Joost Verdoorn Joram Schrijver -JordanWeatherby +Jordan Weatherby Joseph Frazier Joseph Spiros Josh Soref @@ -380,6 +424,7 @@ Juan Carlos Garcia Segovia Juan Francisco Cantero Hurtado Juan M Juanjo Benages +Juhmer Tena Jules-A Julien Hadley Jack Justin Keogh @@ -400,6 +445,7 @@ Kevin Kwan Kevin Ngo Kevin O'Connor Kevin Velghe +Kevin Wood Kfir Breger Khang Nguyen KiberInfinity @@ -407,6 +453,7 @@ Kid Kieran O'Reilly Kitten King Kyle +Kyle Anthony Williams Kyu Yeun Kim LE Laneone @@ -418,10 +465,12 @@ Laurent Raufaste Leonardo Amaral Leonardo Taccari Leslie P. Polzer -Lesmiscore (Naoya Ozaki) +Lesmiscore Li4ick Lionel Elie Mamane Liu DongMiao +Livia Medeiros +Locke Logan B Logan Fleur Lovius @@ -451,6 +500,7 @@ Marco Fantauzzo Marco Ferragina Marco Schuster Marek Rusinowski +Marenga Marian Sigler Mark Lee Mark Oteiza @@ -462,6 +512,7 @@ Martin Ström Martin Trigaux Martin Weinelt Marvin Ewald +Marwen Dallel Matej Dujava Mathias Rav Mats @@ -478,6 +529,7 @@ Max Max Mehl Max Teegen MaxReimann +Mehavoid Mel Shafer Meneth32 Mevious @@ -497,6 +549,7 @@ Mike Fährmann MikeCol MinePlayersPE Miroslav Šedivý +Misael Aguayo Mister Hat Mitsukarenai MobiDotS @@ -507,7 +560,9 @@ Mohammed Yaseen Mowzer Moises Lima Moritz Patelscheck MrDoritos +MrOctopus MrRawes +Mudassir Chapra Muratcan Simsek N1k145 NRTICN @@ -526,7 +581,10 @@ Niklas Haas Niklas Laxström Nikoli Nil Admirari +Nitish Kumar +Noah NotFound +OHaiiBuzzle Odd Stråbø OhMyBahGosh Ole Ernst @@ -585,6 +643,7 @@ Pornophage Poschi Pratyush Singh PrinceOfPuppers +Pritam Das Protuhj Puck Meerburg Purdea Andrei @@ -608,8 +667,10 @@ Ricardo Ricardo Constantino Ricardo Garcia Richard Clamp +Richard Gibson Rob Rob van Bekkum +Robert Geislinger Robert Smith Robin Robin Dunn @@ -632,6 +693,7 @@ Sahebjot singh Saimadhav Heblikar Sainyam Kapoor Sam +Samantaz Fox Samik Some Sander Sander van den Oever @@ -641,6 +703,7 @@ Seamus Phelan Sebastian Blunt Sebastian Haas Sebastian Leske +Sebastian Wallkötter Sematre Sen Jiang SeonjaeHyeon @@ -653,10 +716,12 @@ Shadab Zafar Shai Coleman Shaun Walbridge Shaya G +Shreyas Minocha Shrimadhav U K Sidney de Koning Silvan Mosberger Simon Morgan +Simon Sawicki Simon W. Jackson Singwai Chan Sipherdrakon @@ -669,6 +734,8 @@ Stanislav Kupryakhin Stanny Nuytkens Starsam80 Stavros Ntentos +Stefan Borer +Stefan Lobbenmeier Stefan Pöschel Stefan-Gabriel Muscalu Steffan Donal @@ -683,8 +750,10 @@ SyxbEaEQ2 TRox1972 Tailszefox Takuya Tsuchida +Tanner Anderson Tatsuyuki Ishi Teemu Ikonen +Tejas Arlimatti TheRealDude2 Thijs Vermeir Thomas Christlieb @@ -700,6 +769,7 @@ Tim Douglas Tim Landscheidt Tim Schindler Tim Sogard +Tim Weber Timendum Timmy TinyToweringTree @@ -712,6 +782,7 @@ Tobias Gruetzmacher Tobias Kunze Tobias Salzmann Todoroki +TokyoBlackHole Tom Tom Gijselinck Tom-Oliver Heidel @@ -733,6 +804,7 @@ Vijay Singh Viktor Szakats Viren Rajput Vitaliy Syrchikov +Vitaly Khabarov Vobe Vrihub Vukkk @@ -753,8 +825,11 @@ Xie Yanbo Xu Cheng Xuan Hu (Sean) Yakabuff +Yash Kumar Yasoob Yen Chi Hsuan +Yifu Yu +Yipten Your Name Yuan Chao YuenSzeHong @@ -764,8 +839,10 @@ Zach Bruggeman Zack Fernandes Zenon Mousmoulas Zhong Jianxin +Zhymabek Roman Zirro aarubui +adamanldo aegamesi aeph6Ee0 aerworker @@ -787,6 +864,7 @@ aviperes axelerometer aystroganov@gmail.com azeem +bashonly bastik bato3 beefchop @@ -796,7 +874,10 @@ blissland bonfy bopol bpfoley +bsun0000 +bubbleguuum bzc6p +ca-za cant-think-of-a-name cantandwont capital-G @@ -805,27 +886,33 @@ catlover999 cazulu cclauss cdarlint +cgrigis +changren-wcr chaos33 chaoskagami charon2019 +chengzhicn chien-yu chio0hai chocolateboy chris +christoph-heinrich ckuu cladmi clauderains cntrl-s codelol codesparkle -coletdev coletdjnz +columndeeply compujo comsomisha coolsa coreynicholson corone17 cpm +crazymoose77756 +cruel-efficiency cryptonaut cryzed cyberfox1691 @@ -838,6 +925,7 @@ danut007ro davex25 denneboomyo dequis +diegorodriguezv dimqua dinesh dirkf @@ -849,6 +937,7 @@ dundua dwemthy dyn888 ealgase +ekangmonyet enigmaquip epitron ericpardee @@ -862,8 +951,10 @@ fnord foghawk forDream frenchy1983 +ftk funniray gam2046 +gamer191 gcmalloc gdzx geauxlo @@ -878,6 +969,7 @@ gustaf h-collector ha shao hakatashi +haobinliang hassaanaliw hcwhan hdclark @@ -897,6 +989,7 @@ ian igv inondle insaneracist +invertico ipaha ischmidt20 ispedals @@ -904,6 +997,7 @@ iwconfig j j54vc1bk jahudka +jahway603 james james mike dupont jamiejones @@ -913,6 +1007,7 @@ jjatria jnozsc joehillen jomo +josanabr julien jxu k3ns1n @@ -933,11 +1028,13 @@ knapior kr4ssi krichbanana kurumigi +lauren lazypete365 light94 lightmare linhua55 lkho +llamasblade llyyr logon84 lorpus @@ -946,6 +1043,7 @@ luboss luceatnobis lyz-code m0viefreak +m4tu4g mahanstreamer main() makeworld @@ -953,16 +1051,21 @@ marcwebbie marieell mars67857 martin54 +masta79 mc2avr mcd1992 +megapro17 megustamucho mehq mexican porn commits midas02 migbac minusf +miseran mjdubell +mlampe mlindner +monnef motophil mpeter50 mrBliss @@ -983,12 +1086,15 @@ nikhil nixxo nmeum nmrugg +nomevi +nosoop nto nulloz nyorain nyuszika7h obeythepenguin@gmail.com octotherp +odo2063 ofkz oittaa opusforlife2 @@ -997,6 +1103,7 @@ ouwou ovitei ozburo pachacamac +panatexxa patrickslin peugeot pgaig @@ -1017,6 +1124,7 @@ pypy quinlander quyleanh raleeper +rand-net random-nick rawcoder reddraggone9 @@ -1039,12 +1147,15 @@ ruuk rzhxeo s0u1h sahutd +sam +satan1st satunnainen sceext schn0sch schnusch scil sh!zeeg +shirt shirt-dev sian1468 sichuan-pepper @@ -1059,6 +1170,7 @@ sofutru sourcerect sprhawk spvkgn +sqrtNOT squibbysquibby ssaqua stanoarn @@ -1087,8 +1199,10 @@ tiktok timethrow tinybug tippfeler +tkgmomosheep tlonic tlsssl +tobi1805 tom toniz4 trasssh @@ -1101,11 +1215,13 @@ utlasidyo v-delta venth vijayanand nandam +vkorablin vobe vordep vvto33 wankerer willbeaufoy +winterbird-code winwon wolfy1339 xantares diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 86a9e4c..0ed1eb4 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -74,7 +74,7 @@ Most users do not need to build hypervideo and can [download the builds](https:/ To run hypervideo as a developer, you don't need to build anything either. Simply execute - python -m hypervideo_dl + python -m youtube_dl To run the test, simply invoke your favorite test runner, or execute a test file directly; any of the following work: @@ -98,17 +98,17 @@ If you want to add support for a new site, first of all **make sure** this site After you have ensured this site is distributing its content legally, you can follow this quick list (assuming your service is called `yourextractor`): -1. [Fork this repository](https://git.conocimientoslibres.ga/software/hypervideo) +1. [Fork this repository](https://c.hgit.ga/software/hypervideo) 2. Check out the source code with: - git clone https://git.conocimientoslibres.ga/software/hypervideo + git clone https://c.hgit.ga/software/hypervideo 3. Start a new git branch with cd hypervideo git checkout -b yourextractor -4. Start with this simple template and save it to `hypervideo_dl/extractor/yourextractor.py`: +4. Start with this simple template and save it to `youtube_dl/extractor/yourextractor.py`: ```python # coding: utf-8 @@ -147,21 +147,21 @@ After you have ensured this site is distributing its content legally, you can fo 'title': title, 'description': self._og_search_description(webpage), 'uploader': self._search_regex(r']+id="uploader"[^>]*>([^<]+)<', webpage, 'uploader', fatal=False), - # TODO more properties (see hypervideo_dl/extractor/common.py) + # TODO more properties (see youtube_dl/extractor/common.py) } ``` -5. Add an import in [`hypervideo_dl/extractor/extractors.py`](https://github.com/ytdl-org/youtube-dl/blob/master/hypervideo_dl/extractor/extractors.py). +5. Add an import in [`youtube_dl/extractor/extractors.py`](https://github.com/ytdl-org/youtube-dl/blob/master/youtube_dl/extractor/extractors.py). 6. Run `python test/test_download.py TestDownload.test_YourExtractor`. This *should fail* at first, but you can continually re-run it until you're done. If you decide to add more than one test, then rename ``_TEST`` to ``_TESTS`` and make it into a list of dictionaries. The tests will then be named `TestDownload.test_YourExtractor`, `TestDownload.test_YourExtractor_1`, `TestDownload.test_YourExtractor_2`, etc. Note that tests with `only_matching` key in test's dict are not counted in. -7. Have a look at [`hypervideo_dl/extractor/common.py`](https://github.com/ytdl-org/youtube-dl/blob/master/hypervideo_dl/extractor/common.py) for possible helper methods and a [detailed description of what your extractor should and may return](https://github.com/ytdl-org/youtube-dl/blob/7f41a598b3fba1bcab2817de64a08941200aa3c8/hypervideo_dl/extractor/common.py#L94-L303). Add tests and code for as many as you want. +7. Have a look at [`youtube_dl/extractor/common.py`](https://github.com/ytdl-org/youtube-dl/blob/master/youtube_dl/extractor/common.py) for possible helper methods and a [detailed description of what your extractor should and may return](https://github.com/ytdl-org/youtube-dl/blob/7f41a598b3fba1bcab2817de64a08941200aa3c8/youtube_dl/extractor/common.py#L94-L303). Add tests and code for as many as you want. 8. Make sure your code follows [hypervideo coding conventions](#hypervideo-coding-conventions) and check the code with [flake8](https://flake8.pycqa.org/en/latest/index.html#quickstart): - $ flake8 hypervideo_dl/extractor/yourextractor.py + $ flake8 youtube_dl/extractor/yourextractor.py 9. Make sure your code works under all [Python](https://www.python.org/) versions claimed supported by hypervideo, namely 2.6, 2.7, and 3.2+. 10. When the tests pass, [add](https://git-scm.com/docs/git-add) the new files and [commit](https://git-scm.com/docs/git-commit) them and [push](https://git-scm.com/docs/git-push) the result, like this: - $ git add hypervideo_dl/extractor/extractors.py - $ git add hypervideo_dl/extractor/yourextractor.py + $ git add youtube_dl/extractor/extractors.py + $ git add youtube_dl/extractor/yourextractor.py $ git commit -m '[yourextractor] Add new extractor' $ git push origin yourextractor @@ -177,7 +177,7 @@ Extractors are very fragile by nature since they depend on the layout of the sou ### Mandatory and optional metafields -For extraction to work hypervideo relies on metadata your extractor extracts and provides to hypervideo expressed by an [information dictionary](https://github.com/ytdl-org/youtube-dl/blob/7f41a598b3fba1bcab2817de64a08941200aa3c8/hypervideo_dl/extractor/common.py#L94-L303) or simply *info dict*. Only the following meta fields in the *info dict* are considered mandatory for a successful extraction process by youtube-dl: +For extraction to work hypervideo relies on metadata your extractor extracts and provides to hypervideo expressed by an [information dictionary](https://github.com/ytdl-org/youtube-dl/blob/7f41a598b3fba1bcab2817de64a08941200aa3c8/youtube_dl/extractor/common.py#L94-L303) or simply *info dict*. Only the following meta fields in the *info dict* are considered mandatory for a successful extraction process by youtube-dl: - `id` (media identifier) - `title` (media title) @@ -185,7 +185,7 @@ For extraction to work hypervideo relies on metadata your extractor extracts and In fact only the last option is technically mandatory (i.e. if you can't figure out the download location of the media the extraction does not make any sense). But by convention hypervideo also treats `id` and `title` as mandatory. Thus the aforementioned metafields are the critical data that the extraction does not make any sense without and if any of them fail to be extracted then the extractor is considered completely broken. -[Any field](https://github.com/ytdl-org/youtube-dl/blob/7f41a598b3fba1bcab2817de64a08941200aa3c8/hypervideo_dl/extractor/common.py#L188-L303) apart from the aforementioned ones are considered **optional**. That means that extraction should be **tolerant** to situations when sources for these fields can potentially be unavailable (even if they are always available at the moment) and **future-proof** in order not to break the extraction of general purpose mandatory fields. +[Any field](https://github.com/ytdl-org/youtube-dl/blob/7f41a598b3fba1bcab2817de64a08941200aa3c8/youtube_dl/extractor/common.py#L188-L303) apart from the aforementioned ones are considered **optional**. That means that extraction should be **tolerant** to situations when sources for these fields can potentially be unavailable (even if they are always available at the moment) and **future-proof** in order not to break the extraction of general purpose mandatory fields. #### Example @@ -407,7 +407,7 @@ Incorrect: ### Use convenience conversion and parsing functions -Wrap all extracted numeric data into safe functions from [`hypervideo_dl/utils.py`](https://github.com/ytdl-org/youtube-dl/blob/master/hypervideo_dl/utils.py): `int_or_none`, `float_or_none`. Use them for string to number conversions as well. +Wrap all extracted numeric data into safe functions from [`youtube_dl/utils.py`](https://github.com/ytdl-org/youtube-dl/blob/master/youtube_dl/utils.py): `int_or_none`, `float_or_none`. Use them for string to number conversions as well. Use `url_or_none` for safe URL processing. @@ -415,7 +415,7 @@ Use `try_get` for safe metadata extraction from parsed JSON. Use `unified_strdate` for uniform `upload_date` or any `YYYYMMDD` meta field extraction, `unified_timestamp` for uniform `timestamp` extraction, `parse_filesize` for `filesize` extraction, `parse_count` for count meta fields extraction, `parse_resolution`, `parse_duration` for `duration` extraction, `parse_age_limit` for `age_limit` extraction. -Explore [`hypervideo_dl/utils.py`](https://github.com/ytdl-org/youtube-dl/blob/master/hypervideo_dl/utils.py) for more useful convenience functions. +Explore [`youtube_dl/utils.py`](https://github.com/ytdl-org/youtube-dl/blob/master/youtube_dl/utils.py) for more useful convenience functions. #### More examples diff --git a/CONTRIBUTORS b/CONTRIBUTORS index 8d62c04..f2a1368 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -214,3 +214,146 @@ pycabbage regarten Ronnnny schn0sch +s0u1h +MrRawes +cffswb +danielyli +1-Byte +mehq +dzek69 +aaearon +panatexxa +kmark +un-def +goggle +Soebb +Fam0r +bohwaz +dodrian +vvto33 +ca-za +connercsbn +diegorodriguezv +ekangmonyet +elyse0 +evansp +GiedriusS +HE7086 +JordanWeatherby +m4tu4g +MarwenDallel +nevack +putnam +rand-net +vertan +Wikidepia +Yipten +moench-tegeder +christoph-heinrich +HobbyistDev +LunarFang416 +sbor23 +aurelg +adamanldo +gamer191 +vkorablin +Burve +mnn +ZhymabekRoman +mozbugbox +aejdl +ping +sqrtNOT +bubbleguuum +darkxex +miseran +StefanLobbenmeier +crazymoose77756 +nomevi +Brett824 +pingiun +dosy4ev +EhtishamSabir +Ferdi265 +FirefoxMetzger +ftk +lamby +llamasblade +lockmatrix +misaelaguayo +odo2063 +pritam20ps05 +scy +sheerluck +AxiosDeminence +DjesonPV +eren-kemer +freezboltz +Galiley +haobinliang +Mehavoid +winterbird-code +yashkc2025 +aldoridhoni +bashonly +jacobtruman +masta79 +palewire +cgrigis +DavidH-2022 +dfaker +jackyyf +ohaiibuzzle +SamantazFox +shreyasminocha +tejasa97 +xenov +satan1st +0xGodspeed +5736d79 +587021c +basrieter +Bobscorn +CNugteren +columndeeply +DoubleCouponDay +Fabi019 +GautamMKGarg +Grub4K +itachi-19 +jeroenj +josanabr +LiviaMedeiros +nikita-moor +snapdgn +SuperSonicHub1 +tannertechnology +Timendum +tobi1805 +TokyoBlackHole +ajayyy +Alienmaster +bsun0000 +changren-wcr +ClosedPort22 +CrankDatSouljaBoy +cruel-efficiency +endotronic +Generator +gibson042 +How-Bout-No +invertico +jahway603 +jwoglom +lksj +megapro17 +mlampe +MrOctopus +nosoop +puc9 +sashashura +schnusch +SG5 +the-marenga +tkgmomosheep +vitkhab diff --git a/ChangeLog b/ChangeLog deleted file mode 100644 index 680fffd..0000000 --- a/ChangeLog +++ /dev/null @@ -1,6142 +0,0 @@ -version 2021.06.06 - -Extractors -* [facebook] Improve login required detection -* [youporn] Fix formats and view count extraction (#29216) -* [orf:tvthek] Fix thumbnails extraction (#29217) -* [formula1] Fix extraction (#29206) -* [ard] Relax URL regular expression and fix video ids (#22724, #29091) -+ [ustream] Detect https embeds (#29133) -* [ted] Prefer own formats over external sources (#29142) -* [twitch:clips] Improve extraction (#29149) -+ [twitch:clips] Add access token query to download URLs (#29136) -* [youtube] Fix get_video_info request (#29086, #29165) -* [vimeo] Fix vimeo pro embed extraction (#29126) -* [redbulltv] Fix embed data extraction (#28770) -* [shahid] Relax URL regular expression (#28772, #28930) - - -version 2021.05.16 - -Core -* [options] Fix thumbnail option group name (#29042) -* [YoutubeDL] Improve extract_info doc (#28946) - -Extractors -+ [playstuff] Add support for play.stuff.co.nz (#28901, #28931) -* [eroprofile] Fix extraction (#23200, #23626, #29008) -+ [vivo] Add support for vivo.st (#29009) -+ [generic] Add support for og:audio (#28311, #29015) -* [phoenix] Fix extraction (#29057) -+ [generic] Add support for sibnet embeds -+ [vk] Add support for sibnet embeds (#9500) -+ [generic] Add Referer header for direct videojs download URLs (#2879, - #20217, #29053) -* [orf:radio] Switch download URLs to HTTPS (#29012, #29046) -- [blinkx] Remove extractor (#28941) -* [medaltv] Relax URL regular expression (#28884) -+ [funimation] Add support for optional lang code in URLs (#28950) -+ [gdcvault] Add support for HTML5 videos -* [dispeak] Improve FLV extraction (#13513, #28970) -* [kaltura] Improve iframe extraction (#28969) -* [kaltura] Make embed code alternatives actually work -* [cda] Improve extraction (#28709, #28937) -* [twitter] Improve formats extraction from vmap URL (#28909) -* [xtube] Fix formats extraction (#28870) -* [svtplay] Improve extraction (#28507, #28876) -* [tv2dk] Fix extraction (#28888) - - -version 2021.04.26 - -Extractors -+ [xfileshare] Add support for wolfstream.tv (#28858) -* [francetvinfo] Improve video id extraction (#28792) -* [medaltv] Fix extraction (#28807) -* [tver] Redirect all downloads to Brightcove (#28849) -* [go] Improve video id extraction (#25207, #25216, #26058) -* [youtube] Fix lazy extractors (#28780) -+ [bbc] Extract description and timestamp from __INITIAL_DATA__ (#28774) -* [cbsnews] Fix extraction for python <3.6 (#23359) - - -version 2021.04.17 - -Core -+ [utils] Add support for experimental HTTP response status code - 308 Permanent Redirect (#27877, #28768) - -Extractors -+ [lbry] Add support for HLS videos (#27877, #28768) -* [youtube] Fix stretched ratio calculation -* [youtube] Improve stretch extraction (#28769) -* [youtube:tab] Improve grid extraction (#28725) -+ [youtube:tab] Detect series playlist on playlists page (#28723) -+ [youtube] Add more invidious instances (#28706) -* [pluralsight] Extend anti-throttling timeout (#28712) -* [youtube] Improve URL to extractor routing (#27572, #28335, #28742) -+ [maoritv] Add support for maoritelevision.com (#24552) -+ [youtube:tab] Pass innertube context and x-goog-visitor-id header along with - continuation requests (#28702) -* [mtv] Fix Viacom A/B Testing Video Player extraction (#28703) -+ [pornhub] Extract DASH and HLS formats from get_media end point (#28698) -* [cbssports] Fix extraction (#28682) -* [jamendo] Fix track extraction (#28686) -* [curiositystream] Fix format extraction (#26845, #28668) - - -version 2021.04.07 - -Core -* [extractor/common] Use compat_cookies_SimpleCookie for _get_cookies -+ [compat] Introduce compat_cookies_SimpleCookie -* [extractor/common] Improve JSON-LD author extraction -* [extractor/common] Fix _get_cookies on python 2 (#20673, #23256, #20326, - #28640) - -Extractors -* [youtube] Fix extraction of videos with restricted location (#28685) -+ [line] Add support for live.line.me (#17205, #28658) -* [vimeo] Improve extraction (#28591) -* [youku] Update ccode (#17852, #28447, #28460, #28648) -* [youtube] Prefer direct entry metadata over entry metadata from playlist - (#28619, #28636) -* [screencastomatic] Fix extraction (#11976, #24489) -+ [palcomp3] Add support for palcomp3.com (#13120) -+ [arnes] Add support for video.arnes.si (#28483) -+ [youtube:tab] Add support for hashtags (#28308) - - -version 2021.04.01 - -Extractors -* [youtube] Setup CONSENT cookie when needed (#28604) -* [vimeo] Fix password protected review extraction (#27591) -* [youtube] Improve age-restricted video extraction (#28578) - - -version 2021.03.31 - -Extractors -* [vlive] Fix inkey request (#28589) -* [francetvinfo] Improve video id extraction (#28584) -+ [instagram] Extract duration (#28469) -* [instagram] Improve title extraction (#28469) -+ [sbs] Add support for ondemand watch URLs (#28566) -* [youtube] Fix video's channel extraction (#28562) -* [picarto] Fix live stream extraction (#28532) -* [vimeo] Fix unlisted video extraction (#28414) -* [youtube:tab] Fix playlist/community continuation items extraction (#28266) -* [ard] Improve clip id extraction (#22724, #28528) - - -version 2021.03.25 - -Extractors -+ [zoom] Add support for zoom.us (#16597, #27002, #28531) -* [bbc] Fix BBC IPlayer Episodes/Group extraction (#28360) -* [youtube] Fix default value for youtube_include_dash_manifest (#28523) -* [zingmp3] Fix extraction (#11589, #16409, #16968, #27205) -+ [vgtv] Add support for new tv.aftonbladet.se URL schema (#28514) -+ [tiktok] Detect private videos (#28453) -* [vimeo:album] Fix extraction for albums with number of videos multiple - to page size (#28486) -* [vvvvid] Fix kenc format extraction (#28473) -* [mlb] Fix video extraction (#21241) -* [svtplay] Improve extraction (#28448) -* [applepodcasts] Fix extraction (#28445) -* [rtve] Improve extraction - + Extract all formats - * Fix RTVE Infantil extraction (#24851) - + Extract is_live and series - - -version 2021.03.14 - -Core -+ Introduce release_timestamp meta field (#28386) - -Extractors -+ [southpark] Add support for southparkstudios.com (#28413) -* [southpark] Fix extraction (#26763, #28413) -* [sportdeutschland] Fix extraction (#21856, #28425) -* [pinterest] Reduce the number of HLS format requests -* [peertube] Improve thumbnail extraction (#28419) -* [tver] Improve title extraction (#28418) -* [fujitv] Fix HLS formats extension (#28416) -* [shahid] Fix format extraction (#28383) -+ [lbry] Add support for channel filters (#28385) -+ [bandcamp] Extract release timestamp -+ [lbry] Extract release timestamp (#28386) -* [pornhub] Detect flagged videos -+ [pornhub] Extract formats from get_media end point (#28395) -* [bilibili] Fix video info extraction (#28341) -+ [cbs] Add support for Paramount+ (#28342) -+ [trovo] Add Origin header to VOD formats (#28346) -* [voxmedia] Fix volume embed extraction (#28338) - - -version 2021.03.03 - -Extractors -* [youtube:tab] Switch continuation to browse API (#28289, #28327) -* [9c9media] Fix extraction for videos with multiple ContentPackages (#28309) -+ [bbc] Add support for BBC Reel videos (#21870, #23660, #28268) - - -version 2021.03.02 - -Extractors -* [zdf] Rework extractors (#11606, #13473, #17354, #21185, #26711, #27068, - #27930, #28198, #28199, #28274) - * Generalize cross-extractor video ids for zdf based extractors - * Improve extraction - * Fix 3sat and phoenix -* [stretchinternet] Fix extraction (#28297) -* [urplay] Fix episode data extraction (#28292) -+ [bandaichannel] Add support for b-ch.com (#21404) -* [srgssr] Improve extraction (#14717, #14725, #27231, #28238) - + Extract subtitle - * Fix extraction for new videos - * Update srf download domains -* [vvvvid] Reduce season request payload size -+ [vvvvid] Extract series sublists playlist title (#27601, #27618) -+ [dplay] Extract Ad-Free uplynk URLs (#28160) -+ [wat] Detect DRM protected videos (#27958) -* [tf1] Improve extraction (#27980, #28040) -* [tmz] Fix and improve extraction (#24603, #24687, 28211) -+ [gedidigital] Add support for Gedi group sites (#7347, #26946) -* [youtube] Fix get_video_info request - - -version 2021.02.22 - -Core -+ [postprocessor/embedthumbnail] Recognize atomicparsley binary in lowercase - (#28112) - -Extractors -* [apa] Fix and improve extraction (#27750) -+ [youporn] Extract duration (#28019) -+ [peertube] Add support for canard.tube (#28190) -* [youtube] Fixup m4a_dash formats (#28165) -+ [samplefocus] Add support for samplefocus.com (#27763) -+ [vimeo] Add support for unlisted video source format extraction -* [viki] Improve extraction (#26522, #28203) - * Extract uploader URL and episode number - * Report login required error - + Extract 480p formats - * Fix API v4 calls -* [ninegag] Unescape title (#28201) -* [youtube] Improve URL regular expression (#28193) -+ [youtube] Add support for redirect.invidious.io (#28193) -+ [dplay] Add support for de.hgtv.com (#28182) -+ [dplay] Add support for discoveryplus.com (#24698) -+ [simplecast] Add support for simplecast.com (#24107) -* [youtube] Fix uploader extraction in flat playlist mode (#28045) -* [yandexmusic:playlist] Request missing tracks in chunks (#27355, #28184) -+ [storyfire] Add support for storyfire.com (#25628, #26349) -+ [zhihu] Add support for zhihu.com (#28177) -* [youtube] Fix controversial videos when authenticated with cookies (#28174) -* [ccma] Fix timestamp parsing in python 2 -+ [videopress] Add support for video.wordpress.com -* [kakao] Improve info extraction and detect geo restriction (#26577) -* [xboxclips] Fix extraction (#27151) -* [ard] Improve formats extraction (#28155) -+ [canvas] Add support for dagelijksekost.een.be (#28119) - - -version 2021.02.10 - -Extractors -* [youtube:tab] Improve grid continuation extraction (#28130) -* [ign] Fix extraction (#24771) -+ [xhamster] Extract format filesize -+ [xhamster] Extract formats from xplayer settings (#28114) -+ [youtube] Add support phone/tablet JS player (#26424) -* [archiveorg] Fix and improve extraction (#21330, #23586, #25277, #26780, - #27109, #27236, #28063) -+ [cda] Detect geo restricted videos (#28106) -* [urplay] Fix extraction (#28073, #28074) -* [youtube] Fix release date extraction (#28094) -+ [youtube] Extract abr and vbr (#28100) -* [youtube] Skip OTF formats (#28070) - - -version 2021.02.04.1 - -Extractors -* [youtube] Prefer DASH formats (#28070) -* [azmedien] Fix extraction (#28064) - - -version 2021.02.04 - -Extractors -* [pornhub] Implement lazy playlist extraction -* [svtplay] Fix video id extraction (#28058) -+ [pornhub] Add support for authentication (#18797, #21416, #24294) -* [pornhub:user] Improve paging -+ [pornhub:user] Add support for URLs unavailable via /videos page (#27853) -+ [bravotv] Add support for oxygen.com (#13357, #22500) -+ [youtube] Pass embed URL to get_video_info request -* [ccma] Improve metadata extraction (#27994) - + Extract age limit, alt title, categories, series and episode number - * Fix timestamp multiple subtitles extraction -* [egghead] Update API domain (#28038) -- [vidzi] Remove extractor (#12629) -* [vidio] Improve metadata extraction -* [youtube] Improve subtitles extraction -* [youtube] Fix chapter extraction fallback -* [youtube] Rewrite extractor - * Improve format sorting - * Remove unused code - * Fix series metadata extraction - * Fix trailer video extraction - * Improve error reporting - + Extract video location -+ [vvvvid] Add support for youtube embeds (#27825) -* [googledrive] Report download page errors (#28005) -* [vlive] Fix error message decoding for python 2 (#28004) -* [youtube] Improve DASH formats file size extraction -* [cda] Improve birth validation detection (#14022, #27929) -+ [awaan] Extract uploader id (#27963) -+ [medialaan] Add support DPG Media MyChannels based websites (#14871, #15597, - #16106, #16489) -* [abcnews] Fix extraction (#12394, #27920) -* [AMP] Fix upload date and timestamp extraction (#27970) -* [tv4] Relax URL regular expression (#27964) -+ [tv2] Add support for mtvuutiset.fi (#27744) -* [adn] Improve login warning reporting -* [zype] Fix uplynk id extraction (#27956) -+ [adn] Add support for authentication (#17091, #27841, #27937) - - -version 2021.01.24.1 - -Core -* Introduce --output-na-placeholder (#27896) - -Extractors -* [franceculture] Make thumbnail optional (#18807) -* [franceculture] Fix extraction (#27891, #27903) -* [njpwworld] Fix extraction (#27890) -* [comedycentral] Fix extraction (#27905) -* [wat] Fix format extraction (#27901) -+ [americastestkitchen:season] Add support for seasons (#27861) -+ [trovo] Add support for trovo.live (#26125) -+ [aol] Add support for yahoo videos (#26650) -* [yahoo] Fix single video extraction -* [lbry] Unescape lbry URI (#27872) -* [9gag] Fix and improve extraction (#23022) -* [americastestkitchen] Improve metadata extraction for ATK episodes (#27860) -* [aljazeera] Fix extraction (#20911, #27779) -+ [minds] Add support for minds.com (#17934) -* [ard] Fix title and description extraction (#27761) -+ [spotify] Add support for Spotify Podcasts (#27443) - - -version 2021.01.16 - -Core -* [YoutubeDL] Protect from infinite recursion due to recursively nested - playlists (#27833) -* [YoutubeDL] Ignore failure to create existing directory (#27811) -* [YoutubeDL] Raise syntax error for format selection expressions with multiple - + operators (#27803) - -Extractors -+ [animeondemand] Add support for lazy playlist extraction (#27829) -* [youporn] Restrict fallback download URL (#27822) -* [youporn] Improve height and tbr extraction (#20425, #23659) -* [youporn] Fix extraction (#27822) -+ [twitter] Add support for unified cards (#27826) -+ [twitch] Add Authorization header with OAuth token for GraphQL requests - (#27790) -* [mixcloud:playlist:base] Extract video id in flat playlist mode (#27787) -* [cspan] Improve info extraction (#27791) -* [adn] Improve info extraction -* [adn] Fix extraction (#26963, #27732) -* [youtube:search] Extract from all sections (#27604) -* [youtube:search] fix viewcount and try to extract all video sections (#27604) -* [twitch] Improve login error extraction -* [twitch] Fix authentication (#27743) -* [3qsdn] Improve extraction (#21058) -* [peertube] Extract formats from streamingPlaylists (#26002, #27586, #27728) -* [khanacademy] Fix extraction (#2887, #26803) -* [spike] Update Paramount Network feed URL (#27715) - - -version 2021.01.08 - -Core -* [downloader/hls] Disable decryption in tests (#27660) -+ [utils] Add a function to clean podcast URLs - -Extractors -* [rai] Improve subtitles extraction (#27698, #27705) -* [canvas] Match only supported VRT NU URLs (#27707) -+ [bibeltv] Add support for bibeltv.de (#14361) -+ [bfmtv] Add support for bfmtv.com (#16053, #26615) -+ [sbs] Add support for ondemand play and news embed URLs (#17650, #27629) -* [twitch] Drop legacy kraken API v5 code altogether and refactor -* [twitch:vod] Switch to GraphQL for video metadata -* [canvas] Fix VRT NU extraction (#26957, #27053) -* [twitch] Switch access token to GraphQL and refactor (#27646) -+ [rai] Detect ContentItem in iframe (#12652, #27673) -* [ketnet] Fix extraction (#27662) -+ [dplay] Add suport Discovery+ domains (#27680) -* [motherless] Improve extraction (#26495, #27450) -* [motherless] Fix recent videos upload date extraction (#27661) -* [nrk] Fix extraction for videos without a legalAge rating -- [googleplus] Remove extractor (#4955, #7400) -+ [applepodcasts] Add support for podcasts.apple.com (#25918) -+ [googlepodcasts] Add support for podcasts.google.com -+ [iheart] Add support for iheart.com (#27037) -* [acast] Clean podcast URLs -* [stitcher] Clean podcast URLs -+ [xfileshare] Add support for aparat.cam (#27651) -+ [twitter] Add support for summary card (#25121) -* [twitter] Try to use a Generic fallback for unknown twitter cards (#25982) -+ [stitcher] Add support for shows and show metadata extraction (#20510) -* [stv] Improve episode id extraction (#23083) - - -version 2021.01.03 - -Extractors -* [nrk] Improve series metadata extraction (#27473) -+ [nrk] Extract subtitles -* [nrk] Fix age limit extraction -* [nrk] Improve video id extraction -+ [nrk] Add support for podcasts (#27634, #27635) -* [nrk] Generalize and delegate all item extractors to nrk -+ [nrk] Add support for mp3 formats -* [nrktv] Switch to playback endpoint -* [vvvvid] Fix season metadata extraction (#18130) -* [stitcher] Fix extraction (#20811, #27606) -* [acast] Fix extraction (#21444, #27612, #27613) -+ [arcpublishing] Add support for arcpublishing.com (#2298, #9340, #17200) -+ [sky] Add support for Sports News articles and Brighcove videos (#13054) -+ [vvvvid] Extract akamai formats -* [vvvvid] Skip unplayable episodes (#27599) -* [yandexvideo] Fix extraction for Python 3.4 - - -version 2020.12.31 - -Core -* [utils] Accept only supported protocols in url_or_none -* [YoutubeDL] Allow format filtering using audio language (#16209) - -Extractors -+ [redditr] Extract all thumbnails (#27503) -* [vvvvid] Improve info extraction -+ [vvvvid] Add support for playlists (#18130, #27574) -+ [yandexdisk] Extract info from webpage -* [yandexdisk] Fix extraction (#17861, #27131) -* [yandexvideo] Use old API call as fallback -* [yandexvideo] Fix extraction (#25000) -- [nbc] Remove CSNNE extractor -* [nbc] Fix NBCSport VPlayer URL extraction (#16640) -+ [aenetworks] Add support for biography.com (#3863) -* [uktvplay] Match new video URLs (#17909) -* [sevenplay] Detect API errors -* [tenplay] Fix format extraction (#26653) -* [brightcove] Raise error for DRM protected videos (#23467, #27568) - - -version 2020.12.29 - -Extractors -* [youtube] Improve yt initial data extraction (#27524) -* [youtube:tab] Improve URL matching #27559) -* [youtube:tab] Restore retry on browse requests (#27313, #27564) -* [aparat] Fix extraction (#22285, #22611, #23348, #24354, #24591, #24904, - #25418, #26070, #26350, #26738, #27563) -- [brightcove] Remove sonyliv specific code -* [piksel] Improve format extraction -+ [zype] Add support for uplynk videos -+ [toggle] Add support for live.mewatch.sg (#27555) -+ [go] Add support for fxnow.fxnetworks.com (#13972, #22467, #23754, #26826) -* [teachable] Improve embed detection (#26923) -* [mitele] Fix free video extraction (#24624, #25827, #26757) -* [telecinco] Fix extraction -* [youtube] Update invidious.snopyta.org (#22667) -* [amcnetworks] Improve auth only video detection (#27548) -+ [generic] Add support for VHX Embeds (#27546) - - -version 2020.12.26 - -Extractors -* [instagram] Fix comment count extraction -+ [instagram] Add support for reel URLs (#26234, #26250) -* [bbc] Switch to media selector v6 (#23232, #23933, #26303, #26432, #26821, - #27538) -* [instagram] Improve thumbnail extraction -* [instagram] Fix extraction when authenticated (#22880, #26377, #26981, - #27422) -* [spankbang:playlist] Fix extraction (#24087) -+ [spankbang] Add support for playlist videos -* [pornhub] Improve like and dislike count extraction (#27356) -* [pornhub] Fix lq formats extraction (#27386, #27393) -+ [bongacams] Add support for bongacams.com (#27440) -* [youtube:tab] Extend URL regular expression (#27501) -* [theweatherchannel] Fix extraction (#25930, #26051) -+ [sprout] Add support for Universal Kids (#22518) -* [theplatform] Allow passing geo bypass countries from other extractors -+ [wistia] Add support for playlists (#27533) -+ [ctv] Add support for ctv.ca (#27525) -* [9c9media] Improve info extraction -* [youtube] Fix automatic captions extraction (#27162, #27388) -* [sonyliv] Fix title for movies -* [sonyliv] Fix extraction (#25667) -* [streetvoice] Fix extraction (#27455, #27492) -+ [facebook] Add support for watchparty pages (#27507) -* [cbslocal] Fix video extraction -+ [brightcove] Add another method to extract policyKey -* [mewatch] Relax URL regular expression (#27506) - - -version 2020.12.22 - -Core -* [common] Remove unwanted query params from unsigned akamai manifest URLs - -Extractors -- [tastytrade] Remove extractor (#25716) -* [niconico] Fix playlist extraction (#27428) -- [everyonesmixtape] Remove extractor -- [kanalplay] Remove extractor -* [arkena] Fix extraction -* [nba] Rewrite extractor -* [turner] Improve info extraction -* [youtube] Improve xsrf token extraction (#27442) -* [generic] Improve RSS age limit extraction -* [generic] Fix RSS itunes thumbnail extraction (#27405) -+ [redditr] Extract duration (#27426) -- [zaq1] Remove extractor -+ [asiancrush] Add support for retrocrush.tv -* [asiancrush] Fix extraction -- [noco] Remove extractor (#10864) -* [nfl] Fix extraction (#22245) -* [skysports] Relax URL regular expression (#27435) -+ [tv5unis] Add support for tv5unis.ca (#22399, #24890) -+ [videomore] Add support for more.tv (#27088) -+ [yandexmusic] Add support for music.yandex.com (#27425) -+ [nhk:program] Add support for audio programs and program clips -+ [nhk] Add support for NHK video programs (#27230) - - -version 2020.12.14 - -Core -* [extractor/common] Improve JSON-LD interaction statistic extraction (#23306) -* [downloader/hls] Delegate manifests with media initialization to ffmpeg -+ [extractor/common] Document duration meta field for playlists - -Extractors -* [mdr] Bypass geo restriction -* [mdr] Improve extraction (#24346, #26873) -* [yandexmusic:album] Improve album title extraction (#27418) -* [eporner] Fix view count extraction and make optional (#23306) -+ [eporner] Extend URL regular expression -* [eporner] Fix hash extraction and extend _VALID_URL (#27396) -* [slideslive] Use m3u8 entry protocol for m3u8 formats (#27400) -* [twitcasting] Fix format extraction and improve info extraction (#24868) -* [linuxacademy] Fix authentication and extraction (#21129, #26223, #27402) -* [itv] Clean description from HTML tags (#27399) -* [vlive] Sort live formats (#27404) -* [hotstart] Fix and improve extraction - * Fix format extraction (#26690) - + Extract thumbnail URL (#16079, #20412) - + Add support for country specific playlist URLs (#23496) - * Select the last id in video URL (#26412) -+ [youtube] Add some invidious instances (#27373) - - -version 2020.12.12 - -Core -* [YoutubeDL] Improve thumbnail filename deducing (#26010, #27244) - -Extractors -+ [ruutu] Extract more metadata -+ [ruutu] Detect non-free videos (#21154) -* [ruutu] Authenticate format URLs (#21031, #26782) -+ [ruutu] Add support for static.nelonenmedia.fi (#25412) -+ [ruutu] Extend URL regular expression (#24839) -+ [facebook] Add support archived live video URLs (#15859) -* [wdr] Improve overall extraction -+ [wdr] Extend subtitles extraction (#22672, #22723) -+ [facebook] Add support for videos attached to Relay based story pages - (#10795) -+ [wdr:page] Add support for kinder.wdr.de (#27350) -+ [facebook] Add another regular expression for handleServerJS -* [facebook] Fix embed page extraction -+ [facebook] Add support for Relay post pages (#26935) -+ [facebook] Add support for watch videos (#22795, #27062) -+ [facebook] Add support for group posts with multiple videos (#19131) -* [itv] Fix series metadata extraction (#26897) -- [itv] Remove old extraction method (#23177) -* [facebook] Redirect mobile URLs to desktop URLs (#24831, #25624) -+ [facebook] Add support for Relay based pages (#26823) -* [facebook] Try to reduce unnecessary tahoe requests -- [facebook] Remove hardcoded Chrome User-Agent (#18974, #25411, #26958, - #27329) -- [smotri] Remove extractor (#27358) -- [beampro] Remove extractor (#17290, #22871, #23020, #23061, #26099) - - -version 2020.12.09 - -Core -* [extractor/common] Fix inline HTML5 media tags processing (#27345) - -Extractors -* [youtube:tab] Improve identity token extraction (#27197) -* [youtube:tab] Make click tracking params on continuation optional -* [youtube:tab] Delegate inline playlists to tab-based playlists (27298) -+ [tubitv] Extract release year (#27317) -* [amcnetworks] Fix free content extraction (#20354) -+ [lbry:channel] Add support for channels (#25584) -+ [lbry] Add support for short and embed URLs -* [lbry] Fix channel metadata extraction -+ [telequebec] Add support for video.telequebec.tv (#27339) -* [telequebec] Fix extraction (#25733, #26883) -+ [youtube:tab] Capture and output alerts (#27340) -* [tvplay:home] Fix extraction (#21153) -* [americastestkitchen] Fix Extraction and add support - for Cook's Country and Cook's Illustrated (#17234, #27322) -+ [slideslive] Add support for yoda service videos and extract subtitles - (#27323) - - -version 2020.12.07 - -Core -* [extractor/common] Extract timestamp from Last-Modified header -+ [extractor/common] Add support for dl8-* media tags (#27283) -* [extractor/common] Fix media type extraction for HTML5 media tags - in start/end form - -Extractors -* [aenetworks] Fix extraction (#23363, #23390, #26795, #26985) - * Fix Fastly format extraction - + Add support for play and watch subdomains - + Extract series metadata -* [youtube] Improve youtu.be extraction in non-existing playlists (#27324) -+ [generic] Extract RSS video description, timestamp and itunes metadata - (#27177) -* [nrk] Reduce the number of instalments and episodes requests -* [nrk] Improve extraction - * Improve format extraction for old akamai formats - + Add is_live value to entry info dict - * Request instalments only when available - * Fix skole extraction -+ [peertube] Extract fps -+ [peertube] Recognize audio-only formats (#27295) - - -version 2020.12.05 - -Core -* [extractor/common] Improve Akamai HTTP format extraction - * Allow m3u8 manifest without an additional audio format - * Fix extraction for qualities starting with a number - -Extractors -* [teachable:course] Improve extraction (#24507, #27286) -* [nrk] Improve error extraction -* [nrktv:series] Improve extraction (#21926) -* [nrktv:season] Improve extraction -* [nrk] Improve format extraction and geo-restriction detection (#24221) -* [pornhub] Handle HTTP errors gracefully (#26414) -* [nrktv] Relax URL regular expression (#27299, #26185) -+ [zdf] Extract webm formats (#26659) -+ [gamespot] Extract DASH and HTTP formats -+ [tver] Add support for tver.jp (#26662, #27284) -+ [pornhub] Add support for pornhub.org (#27276) - - -version 2020.12.02 - -Extractors -+ [tva] Add support for qub.ca (#27235) -+ [toggle] Detect DRM protected videos (#16479, #20805) -+ [toggle] Add support for new MeWatch URLs (#27256) -* [youtube:tab] Extract channels only from channels tab (#27266) -+ [cspan] Extract info from jwplayer data (#3672, #3734, #10638, #13030, - #18806, #23148, #24461, #26171, #26800, #27263) -* [cspan] Pass Referer header with format's video URL (#26032, #25729) -* [youtube] Improve age-gated videos extraction (#27259) -+ [mediaset] Add support for movie URLs (#27240) -* [yandexmusic] Refactor -+ [yandexmusic] Add support for artist's tracks and albums (#11887, #22284) -* [yandexmusic:track] Fix extraction (#26449, #26669, #26747, #26748, #26762) - - -version 2020.11.29 - -Core -* [YoutubeDL] Write static debug to stderr and respect quiet for dynamic debug - (#14579, #22593) - -Extractors -* [drtv] Extend URL regular expression (#27243) -* [tiktok] Fix extraction (#20809, #22838, #22850, #25987, #26281, #26411, - #26639, #26776, #27237) -+ [ina] Add support for mobile URLs (#27229) -* [pornhub] Fix like and dislike count extraction (#27227, #27234) -* [youtube] Improve yt initial player response extraction (#27216) -* [videa] Fix extraction (#25650, #25973, #26301) - - -version 2020.11.26 - -Core -* [downloader/fragment] Set final file's mtime according to last fragment's - Last-Modified header (#11718, #18384, #27138) - -Extractors -+ [spreaker] Add support for spreaker.com (#13480, #13877) -* [vlive] Improve extraction for geo-restricted videos -+ [vlive] Add support for post URLs (#27122, #27123) -* [viki] Fix video API request (#27184) -* [bbc] Fix BBC Three clip extraction -* [bbc] Fix BBC News videos extraction -+ [medaltv] Add support for medal.tv (#27149) -* [youtube] Improve music metadata and license extraction (#26013) -* [nrk] Fix extraction -* [cda] Fix extraction (#17803, #24458, #24518, #26381) - - -version 2020.11.24 - -Core -+ [extractor/common] Add generic support for akamai HTTP format extraction - -Extractors -* [youtube:tab] Fix feeds extraction (#25695, #26452) -* [youtube:favorites] Restore extractor -* [youtube:tab] Fix some weird typo (#27157) -+ [pinterest] Add support for large collections (more than 25 pins) -+ [franceinter] Extract thumbnail (#27153) -+ [box] Add support for box.com (#5949) -+ [nytimes] Add support for cooking.nytimes.com (#27112, #27143) -* [lbry] Relax URL regular expression (#27144) -+ [rumble] Add support for embed pages (#10785) -+ [skyit] Add support for multiple Sky Italia websites (#26629) -+ [pinterest] Add support for pinterest.com (#25747) - - -version 2020.11.21.1 - -Core -* [downloader/http] Fix crash during urlopen caused by missing reason - of URLError -* [YoutubeDL] Fix --ignore-errors for playlists with generator-based entries - of url_transparent (#27064) - -Extractors -+ [svtplay] Add support for svt.se/barnkanalen (#24817) -+ [svt] Extract timestamp (#27130) -* [svtplay] Improve thumbnail extraction (#27130) -* [youtube] Fix error reason extraction (#27081) -* [youtube] Fix like and dislike count extraction (#25977) -+ [youtube:tab] Add support for current video and fix lives extraction (#27126) -* [infoq] Fix format extraction (#25984) -* [francetv] Update to fix thumbnail URL issue (#27120) -* [youtube] Improve yt initial data extraction (#27093) -+ [discoverynetworks] Add support new TLC/DMAX URLs (#27100) -* [rai] Fix protocol relative relinker URLs (#22766) -* [rai] Fix unavailable video format detection -* [rai] Improve extraction -* [rai] Fix extraction (#27077) -* [viki] Improve format extraction -* [viki] Fix stream extraction from MPD (#27092) -* [googledrive] Fix format extraction (#26979) -+ [amara] Add support for amara.org (#20618) -* [vimeo:album] Fix extraction (#27079) -* [mtv] Fix mgid extraction (#26841) - - -version 2020.11.19 - -Core -* [extractor/common] Output error for invalid URLs in _is_valid_url (#21400, - #24151, #25617, #25618, #25586, #26068, #27072) - -Extractors -* [youporn] Fix upload date extraction -* [youporn] Make comment count optional (#26986) -* [arte] Rework extractors - * Reimplement embed and playlist extractors to delegate to the single - entrypoint artetv extractor - * Improve embeds detection (#27057) -+ [arte] Extract m3u8 formats (#27061) -* [mgtv] Fix format extraction (#26415) -+ [lbry] Add support for odysee.com (#26806) -* [francetv] Improve info extraction -+ [francetv] Add fallback video URL extraction (#27047) - - -version 2020.11.18 - -Extractors -* [spiegel] Fix extraction (#24206, #24767) -* [youtube] Improve extraction - + Add support for --no-playlist (#27009) - * Improve playlist and mix extraction (#26390, #26509, #26534, #27011) - + Extract playlist uploader data -* [youtube:tab] Fix view count extraction (#27051) -* [malltv] Fix extraction (#27035) -+ [bandcamp] Extract playlist description (#22684) -* [urplay] Fix extraction (#26828) -* [youtube:tab] Fix playlist title extraction (#27015) -* [youtube] Fix chapters extraction (#26005) - - -version 2020.11.17 - -Core -* [utils] Skip ! prefixed code in js_to_json - -Extractors -* [youtube:tab] Fix extraction with cookies provided (#27005) -* [lrt] Fix extraction with empty tags (#20264) -+ [ndr:embed:base] Extract subtitles (#25447, #26106) -+ [servus] Add support for pm-wissen.com (#25869) -* [servus] Fix extraction (#26872, #26967, #26983, #27000) -* [xtube] Fix extraction (#26996) -* [lrt] Fix extraction -+ [lbry] Add support for lbry.tv -+ [condenast] Extract subtitles -* [condenast] Fix extraction -* [bandcamp] Fix extraction (#26681, #26684) -* [rai] Fix RaiPlay extraction (#26064, #26096) -* [vlive] Fix extraction -* [usanetwork] Fix extraction -* [nbc] Fix NBCNews/Today/MSNBC extraction -* [cnbc] Fix extraction - - -version 2020.11.12 - -Extractors -* [youtube] Rework extractors - - -version 2020.11.01 - -Core -* [utils] Don't attempt to coerce JS strings to numbers in js_to_json (#26851) -* [downloader/http] Properly handle missing message in SSLError (#26646) -* [downloader/http] Fix access to not yet opened stream in retry - -Extractors -* [youtube] Fix JS player URL extraction -* [ytsearch] Fix extraction (#26920) -* [afreecatv] Fix typo (#26970) -* [23video] Relax URL regular expression (#26870) -+ [ustream] Add support for video.ibm.com (#26894) -* [iqiyi] Fix typo (#26884) -+ [expressen] Add support for di.se (#26670) -* [iprima] Improve video id extraction (#26507, #26494) - - -version 2020.09.20 - -Core -* [extractor/common] Relax interaction count extraction in _json_ld -+ [extractor/common] Extract author as uploader for VideoObject in _json_ld -* [downloader/hls] Fix incorrect end byte in Range HTTP header for - media segments with EXT-X-BYTERANGE (#14748, #24512) -* [extractor/common] Handle ssl.CertificateError in _request_webpage (#26601) -* [downloader/http] Improve timeout detection when reading block of data - (#10935) -* [downloader/http] Retry download when urlopen times out (#10935, #26603) - -Extractors -* [redtube] Extend URL regular expression (#26506) -* [twitch] Refactor -* [twitch:stream] Switch to GraphQL and fix reruns (#26535) -+ [telequebec] Add support for brightcove videos (#25833) -* [pornhub] Extract metadata from JSON-LD (#26614) -* [pornhub] Fix view count extraction (#26621, #26614) - - -version 2020.09.14 - -Core -+ [postprocessor/embedthumbnail] Add support for non jpg/png thumbnails - (#25687, #25717) - -Extractors -* [rtlnl] Extend URL regular expression (#26549, #25821) -* [youtube] Fix empty description extraction (#26575, #26006) -* [srgssr] Extend URL regular expression (#26555, #26556, #26578) -* [googledrive] Use redirect URLs for source format (#18877, #23919, #24689, - #26565) -* [svtplay] Fix id extraction (#26576) -* [redbulltv] Improve support for rebull.com TV localized URLs (#22063) -+ [redbulltv] Add support for new redbull.com TV URLs (#22037, #22063) -* [soundcloud:pagedplaylist] Reduce pagination limit (#26557) - - -version 2020.09.06 - -Core -+ [utils] Recognize wav mimetype (#26463) - -Extractors -* [nrktv:episode] Improve video id extraction (#25594, #26369, #26409) -* [youtube] Fix age gate content detection (#26100, #26152, #26311, #26384) -* [youtube:user] Extend URL regular expression (#26443) -* [xhamster] Improve initials regular expression (#26526, #26353) -* [svtplay] Fix video id extraction (#26425, #26428, #26438) -* [twitch] Rework extractors (#12297, #20414, #20604, #21811, #21812, #22979, - #24263, #25010, #25553, #25606) - * Switch to GraphQL - + Add support for collections - + Add support for clips and collections playlists -* [biqle] Improve video ext extraction -* [xhamster] Fix extraction (#26157, #26254) -* [xhamster] Extend URL regular expression (#25789, #25804, #25927)) - - -version 2020.07.28 - -Extractors -* [youtube] Fix sigfunc name extraction (#26134, #26135, #26136, #26137) -* [youtube] Improve description extraction (#25937, #25980) -* [wistia] Restrict embed regular expression (#25969) -* [youtube] Prevent excess HTTP 301 (#25786) -+ [youtube:playlists] Extend URL regular expression (#25810) -+ [bellmedia] Add support for cp24.com clip URLs (#25764) -* [brightcove] Improve embed detection (#25674) - - -version 2020.06.16.1 - -Extractors -* [youtube] Force old layout (#25682, #25683, #25680, #25686) -* [youtube] Fix categories and improve tags extraction - - -version 2020.06.16 - -Extractors -* [youtube] Fix uploader id and uploader URL extraction -* [youtube] Improve view count extraction -* [youtube] Fix upload date extraction (#25677) -* [youtube] Fix thumbnails extraction (#25676) -* [youtube] Fix playlist and feed extraction (#25675) -+ [facebook] Add support for single-video ID links -+ [youtube] Extract chapters from JSON (#24819) -+ [kaltura] Add support for multiple embeds on a webpage (#25523) - - -version 2020.06.06 - -Extractors -* [tele5] Bypass geo restriction -+ [jwplatform] Add support for bypass geo restriction -* [tele5] Prefer jwplatform over nexx (#25533) -* [twitch:stream] Expect 400 and 410 HTTP errors from API -* [twitch:stream] Fix extraction (#25528) -* [twitch] Fix thumbnails extraction (#25531) -+ [twitch] Pass v5 Accept HTTP header (#25531) -* [brightcove] Fix subtitles extraction (#25540) -+ [malltv] Add support for sk.mall.tv (#25445) -* [periscope] Fix untitled broadcasts (#25482) -* [jwplatform] Improve embeds extraction (#25467) - - -version 2020.05.29 - -Core -* [postprocessor/ffmpeg] Embed series metadata with --add-metadata -* [utils] Fix file permissions in write_json_file (#12471, #25122) - -Extractors -* [ard:beta] Extend URL regular expression (#25405) -+ [youtube] Add support for more invidious instances (#25417) -* [giantbomb] Extend URL regular expression (#25222) -* [ard] Improve URL regular expression (#25134, #25198) -* [redtube] Improve formats extraction and extract m3u8 formats (#25311, - #25321) -* [indavideo] Switch to HTTPS for API request (#25191) -* [redtube] Improve title extraction (#25208) -* [vimeo] Improve format extraction and sorting (#25285) -* [soundcloud] Reduce API playlist page limit (#25274) -+ [youtube] Add support for yewtu.be (#25226) -* [mailru] Fix extraction (#24530, #25239) -* [bellator] Fix mgid extraction (#25195) - - -version 2020.05.08 - -Core -* [downloader/http] Request last data block of exact remaining size -* [downloader/http] Finish downloading once received data length matches - expected -* [extractor/common] Use compat_cookiejar_Cookie for _set_cookie to always - ensure cookie name and value are bytestrings on python 2 (#23256, #24776) -+ [compat] Introduce compat_cookiejar_Cookie -* [utils] Improve cookie files support - + Add support for UTF-8 in cookie files - * Skip malformed cookie file entries instead of crashing (invalid entry - length, invalid expires at) - -Extractors -* [youtube] Improve signature cipher extraction (#25187, #25188) -* [iprima] Improve extraction (#25138) -* [uol] Fix extraction (#22007) -+ [orf] Add support for more radio stations (#24938, #24968) -* [dailymotion] Fix typo -- [puhutv] Remove no longer available HTTP formats (#25124) - - -version 2020.05.03 - -Core -+ [extractor/common] Extract multiple JSON-LD entries -* [options] Clarify doc on --exec command (#19087, #24883) -* [extractor/common] Skip malformed ISM manifest XMLs while extracting - ISM formats (#24667) - -Extractors -* [crunchyroll] Fix and improve extraction (#25096, #25060) -* [youtube] Improve player id extraction -* [youtube] Use redirected video id if any (#25063) -* [yahoo] Fix GYAO Player extraction and relax URL regular expression - (#24178, #24778) -* [tvplay] Fix Viafree extraction (#15189, #24473, #24789) -* [tenplay] Relax URL regular expression (#25001) -+ [prosiebensat1] Extract series metadata -* [prosiebensat1] Improve extraction and remove 7tv.de support (#24948) -- [prosiebensat1] Remove 7tv.de support (#24948) -* [youtube] Fix DRM videos detection (#24736) -* [thisoldhouse] Fix video id extraction (#24548, #24549) -+ [soundcloud] Extract AAC format (#19173, #24708) -* [youtube] Skip broken multifeed videos (#24711) -* [nova:embed] Fix extraction (#24700) -* [motherless] Fix extraction (#24699) -* [twitch:clips] Extend URL regular expression (#24290, #24642) -* [tv4] Fix ISM formats extraction (#24667) -* [tele5] Fix extraction (#24553) -+ [mofosex] Add support for generic embeds (#24633) -+ [youporn] Add support for generic embeds -+ [spankwire] Add support for generic embeds (#24633) -* [spankwire] Fix extraction (#18924, #20648) - - -version 2020.03.24 - -Core -- [utils] Revert support for cookie files with spaces used instead of tabs - -Extractors -* [teachable] Update upskillcourses and gns3 domains -* [generic] Look for teachable embeds before wistia -+ [teachable] Extract chapter metadata (#24421) -+ [bilibili] Add support for player.bilibili.com (#24402) -+ [bilibili] Add support for new URL schema with BV ids (#24439, #24442) -* [limelight] Remove disabled API requests (#24255) -* [soundcloud] Fix download URL extraction (#24394) -+ [cbc:watch] Add support for authentication (#19160) -* [hellporno] Fix extraction (#24399) -* [xtube] Fix formats extraction (#24348) -* [ndr] Fix extraction (#24326) -* [nhk] Update m3u8 URL and use native HLS downloader (#24329) -- [nhk] Remove obsolete rtmp formats (#24329) -* [nhk] Relax URL regular expression (#24329) -- [vimeo] Revert fix showcase password protected video extraction (#24224) - - -version 2020.03.08 - -Core -+ [utils] Add support for cookie files with spaces used instead of tabs - -Extractors -+ [pornhub] Add support for pornhubpremium.com (#24288) -- [youtube] Remove outdated code and unnecessary requests -* [youtube] Improve extraction in 429 HTTP error conditions (#24283) -* [nhk] Update API version (#24270) - - -version 2020.03.06 - -Extractors -* [youtube] Fix age-gated videos support without login (#24248) -* [vimeo] Fix showcase password protected video extraction (#24224) -* [pornhub] Improve title extraction (#24184) -* [peertube] Improve extraction (#23657) -+ [servus] Add support for new URL schema (#23475, #23583, #24142) -* [vimeo] Fix subtitles URLs (#24209) - - -version 2020.03.01 - -Core -* [YoutubeDL] Force redirect URL to unicode on python 2 -- [options] Remove duplicate short option -v for --version (#24162) - -Extractors -* [xhamster] Fix extraction (#24205) -* [franceculture] Fix extraction (#24204) -+ [telecinco] Add support for article opening videos -* [telecinco] Fix extraction (#24195) -* [xtube] Fix metadata extraction (#21073, #22455) -* [youjizz] Fix extraction (#24181) -- Remove no longer needed compat_str around geturl -* [pornhd] Fix extraction (#24128) -+ [teachable] Add support for multiple videos per lecture (#24101) -+ [wistia] Add support for multiple generic embeds (#8347, 11385) -* [imdb] Fix extraction (#23443) -* [tv2dk:bornholm:play] Fix extraction (#24076) - - -version 2020.02.16 - -Core -* [YoutubeDL] Fix playlist entry indexing with --playlist-items (#10591, - #10622) -* [update] Fix updating via symlinks (#23991) -+ [compat] Introduce compat_realpath (#23991) - -Extractors -+ [npr] Add support for streams (#24042) -+ [24video] Add support for porn.24video.net (#23779, #23784) -- [jpopsuki] Remove extractor (#23858) -* [nova] Improve extraction (#23690) -* [nova:embed] Improve (#23690) -* [nova:embed] Fix extraction (#23672) -+ [abc:iview] Add support for 720p (#22907, #22921) -* [nytimes] Improve format sorting (#24010) -+ [toggle] Add support for mewatch.sg (#23895, #23930) -* [thisoldhouse] Fix extraction (#23951) -+ [popcorntimes] Add support for popcorntimes.tv (#23949) -* [sportdeutschland] Update to new API -* [twitch:stream] Lowercase channel id for stream request (#23917) -* [tv5mondeplus] Fix extraction (#23907, #23911) -* [tva] Relax URL regular expression (#23903) -* [vimeo] Fix album extraction (#23864) -* [viewlift] Improve extraction - * Fix extraction (#23851) - + Add support for authentication - + Add support for more domains -* [svt] Fix series extraction (#22297) -* [svt] Fix article extraction (#22897, #22919) -* [soundcloud] Improve private playlist/set tracks extraction (#3707) - - -version 2020.01.24 - -Extractors -* [youtube] Fix sigfunc name extraction (#23819) -* [stretchinternet] Fix extraction (#4319) -* [voicerepublic] Fix extraction -* [azmedien] Fix extraction (#23783) -* [businessinsider] Fix jwplatform id extraction (#22929, #22954) -+ [24video] Add support for 24video.vip (#23753) -* [ivi:compilation] Fix entries extraction (#23770) -* [ard] Improve extraction (#23761) - * Simplify extraction - + Extract age limit and series - * Bypass geo-restriction -+ [nbc] Add support for nbc multi network URLs (#23049) -* [americastestkitchen] Fix extraction -* [zype] Improve extraction - + Extract subtitles (#21258) - + Support URLs with alternative keys/tokens (#21258) - + Extract more metadata -* [orf:tvthek] Improve geo restricted videos detection (#23741) -* [soundcloud] Restore previews extraction (#23739) - - -version 2020.01.15 - -Extractors -* [yourporn] Fix extraction (#21645, #22255, #23459) -+ [canvas] Add support for new API endpoint (#17680, #18629) -* [ndr:base:embed] Improve thumbnails extraction (#23731) -+ [vodplatform] Add support for embed.kwikmotion.com domain -+ [twitter] Add support for promo_video_website cards (#23711) -* [orf:radio] Clean description and improve extraction -* [orf:fm4] Fix extraction (#23599) -* [safari] Fix kaltura session extraction (#23679, #23670) -* [lego] Fix extraction and extract subtitle (#23687) -* [cloudflarestream] Improve extraction - + Add support for bytehighway.net domain - + Add support for signed URLs - + Extract thumbnail -* [naver] Improve extraction - * Improve geo-restriction handling - + Extract automatic captions - + Extract uploader metadata - + Extract VLive HLS formats - * Improve metadata extraction -- [pandatv] Remove extractor (#23630) -* [dctp] Fix format extraction (#23656) -+ [scrippsnetworks] Add support for www.discovery.com videos -* [discovery] Fix anonymous token extraction (#23650) -* [nrktv:seriebase] Fix extraction (#23625, #23537) -* [wistia] Improve format extraction and extract subtitles (#22590) -* [vice] Improve extraction (#23631) -* [redtube] Detect private videos (#23518) - - -version 2020.01.01 - -Extractors -* [brightcove] Invalidate policy key cache on failing requests -* [pornhub] Improve locked videos detection (#22449, #22780) -+ [pornhub] Add support for m3u8 formats -* [pornhub] Fix extraction (#22749, #23082) -* [brightcove] Update policy key on failing requests -* [spankbang] Improve removed video detection (#23423) -* [spankbang] Fix extraction (#23307, #23423, #23444) -* [soundcloud] Automatically update client id on failing requests -* [prosiebensat1] Improve geo restriction handling (#23571) -* [brightcove] Cache brightcove player policy keys -* [teachable] Fail with error message if no video URL found -* [teachable] Improve locked lessons detection (#23528) -+ [scrippsnetworks] Add support for Scripps Networks sites (#19857, #22981) -* [mitele] Fix extraction (#21354, #23456) -* [soundcloud] Update client id (#23516) -* [mailru] Relax URL regular expressions (#23509) - - -version 2019.12.25 - -Core -* [utils] Improve str_to_int -+ [downloader/hls] Add ability to override AES decryption key URL (#17521) - -Extractors -* [mediaset] Fix parse formats (#23508) -+ [tv2dk:bornholm:play] Add support for play.tv2bornholm.dk (#23291) -+ [slideslive] Add support for url and vimeo service names (#23414) -* [slideslive] Fix extraction (#23413) -* [twitch:clips] Fix extraction (#23375) -+ [soundcloud] Add support for token protected embeds (#18954) -* [vk] Improve extraction - * Fix User Videos extraction (#23356) - * Extract all videos for lists with more than 1000 videos (#23356) - + Add support for video albums (#14327, #14492) -- [kontrtube] Remove extractor -- [videopremium] Remove extractor -- [musicplayon] Remove extractor (#9225) -+ [ufctv] Add support for ufcfightpass.imgdge.com and - ufcfightpass.imggaming.com (#23343) -+ [twitch] Extract m3u8 formats frame rate (#23333) -+ [imggaming] Add support for playlists and extract subtitles -+ [ufcarabia] Add support for UFC Arabia (#23312) -* [ufctv] Fix extraction -* [yahoo] Fix gyao brightcove player id (#23303) -* [vzaar] Override AES decryption key URL (#17521) -+ [vzaar] Add support for AES HLS manifests (#17521, #23299) -* [nrl] Fix extraction -* [teachingchannel] Fix extraction -* [nintendo] Fix extraction and partially add support for Nintendo Direct - videos (#4592) -+ [ooyala] Add better fallback values for domain and streams variables -+ [youtube] Add support youtubekids.com (#23272) -* [tv2] Detect DRM protection -+ [tv2] Add support for katsomo.fi and mtv.fi (#10543) -* [tv2] Fix tv2.no article extraction -* [msn] Improve extraction - + Add support for YouTube and NBCSports embeds - + Add support for articles with multiple videos - * Improve AOL embed support - * Improve format extraction -* [abcotvs] Relax URL regular expression and improve metadata extraction - (#18014) -* [channel9] Reduce response size -* [adobetv] Improve extraction - * Use OnDemandPagedList for list extractors - * Reduce show extraction requests - * Extract original video format and subtitles - + Add support for adobe tv embeds - - -version 2019.11.28 - -Core -+ [utils] Add generic caesar cipher and rot47 -* [utils] Handle rd-suffixed day parts in unified_strdate (#23199) - -Extractors -* [vimeo] Improve extraction - * Fix review extraction - * Fix ondemand extraction - * Make password protected player case as an expected error (#22896) - * Simplify channel based extractors code -- [openload] Remove extractor (#11999) -- [verystream] Remove extractor -- [streamango] Remove extractor (#15406) -* [dailymotion] Improve extraction - * Extract http formats included in m3u8 manifest - * Fix user extraction (#3553, #21415) - + Add support for User Authentication (#11491) - * Fix password protected videos extraction (#23176) - * Respect age limit option and family filter cookie value (#18437) - * Handle video url playlist query param - * Report allowed countries for geo-restricted videos -* [corus] Improve extraction - + Add support for Series Plus, W Network, YTV, ABC Spark, disneychannel.com - and disneylachaine.ca (#20861) - + Add support for self hosted videos (#22075) - * Detect DRM protection (#14910, #9164) -* [vivo] Fix extraction (#22328, #22279) -+ [bitchute] Extract upload date (#22990, #23193) -* [soundcloud] Update client id (#23214) - - -version 2019.11.22 - -Core -+ [extractor/common] Clean jwplayer description HTML tags -+ [extractor/common] Add data, headers and query to all major extract formats - methods - -Extractors -* [chaturbate] Fix extraction (#23010, #23012) -+ [ntvru] Add support for non relative file URLs (#23140) -* [vk] Fix wall audio thumbnails extraction (#23135) -* [ivi] Fix format extraction (#21991) -- [comcarcoff] Remove extractor -+ [drtv] Add support for new URL schema (#23059) -+ [nexx] Add support for Multi Player JS Setup (#23052) -+ [teamcoco] Add support for new videos (#23054) -* [soundcloud] Check if the soundtrack has downloads left (#23045) -* [facebook] Fix posts video data extraction (#22473) -- [addanime] Remove extractor -- [minhateca] Remove extractor -- [daisuki] Remove extractor -* [seeker] Fix extraction -- [revision3] Remove extractors -* [twitch] Fix video comments URL (#18593, #15828) -* [twitter] Improve extraction - + Add support for generic embeds (#22168) - * Always extract http formats for native videos (#14934) - + Add support for Twitter Broadcasts (#21369) - + Extract more metadata - * Improve VMap format extraction - * Unify extraction code for both twitter statuses and cards -+ [twitch] Add support for Clip embed URLs -* [lnkgo] Fix extraction (#16834) -* [mixcloud] Improve extraction - * Improve metadata extraction (#11721) - * Fix playlist extraction (#22378) - * Fix user mixes extraction (#15197, #17865) -+ [kinja] Add support for Kinja embeds (#5756, #11282, #22237, #22384) -* [onionstudios] Fix extraction -+ [hotstar] Pass Referer header to format requests (#22836) -* [dplay] Minimize response size -+ [patreon] Extract uploader_id and filesize -* [patreon] Minimize response size -* [roosterteeth] Fix login request (#16094, #22689) - - -version 2019.11.05 - -Extractors -+ [scte] Add support for learning.scte.org (#22975) -+ [msn] Add support for Vidible and AOL embeds (#22195, #22227) -* [myspass] Fix video URL extraction and improve metadata extraction (#22448) -* [jamendo] Improve extraction - * Fix album extraction (#18564) - * Improve metadata extraction (#18565, #21379) -* [mediaset] Relax URL guid matching (#18352) -+ [mediaset] Extract unprotected M3U and MPD manifests (#17204) -* [telegraaf] Fix extraction -+ [bellmedia] Add support for marilyn.ca videos (#22193) -* [stv] Fix extraction (#22928) -- [iconosquare] Remove extractor -- [keek] Remove extractor -- [gameone] Remove extractor (#21778) -- [flipagram] Remove extractor -- [bambuser] Remove extractor -* [wistia] Reduce embed extraction false positives -+ [wistia] Add support for inline embeds (#22931) -- [go90] Remove extractor -* [kakao] Remove raw request -+ [kakao] Extract format total bitrate -* [daum] Fix VOD and Clip extraction (#15015) -* [kakao] Improve extraction - + Add support for embed URLs - + Add support for Kakao Legacy vid based embed URLs - * Only extract fields used for extraction - * Strip description and extract tags -* [mixcloud] Fix cloudcast data extraction (#22821) -* [yahoo] Improve extraction - + Add support for live streams (#3597, #3779, #22178) - * Bypass cookie consent page for european domains (#16948, #22576) - + Add generic support for embeds (#20332) -* [tv2] Fix and improve extraction (#22787) -+ [tv2dk] Add support for TV2 DK sites -* [onet] Improve extraction … - + Add support for onet100.vod.pl - + Extract m3u8 formats - * Correct audio only format info -* [fox9] Fix extraction - - -version 2019.10.29 - -Core -* [utils] Actualize major IPv4 address blocks per country - -Extractors -+ [go] Add support for abc.com and freeform.com (#22823, #22864) -+ [mtv] Add support for mtvjapan.com -* [mtv] Fix extraction for mtv.de (#22113) -* [videodetective] Fix extraction -* [internetvideoarchive] Fix extraction -* [nbcnews] Fix extraction (#12569, #12576, #21703, #21923) -- [hark] Remove extractor -- [tutv] Remove extractor -- [learnr] Remove extractor -- [macgamestore] Remove extractor -* [la7] Update Kaltura service URL (#22358) -* [thesun] Fix extraction (#16966) -- [makertv] Remove extractor -+ [tenplay] Add support for 10play.com.au (#21446) -* [soundcloud] Improve extraction - * Improve format extraction (#22123) - + Extract uploader_id and uploader_url (#21916) - + Extract all known thumbnails (#19071, #20659) - * Fix extraction for private playlists (#20976) - + Add support for playlist embeds (#20976) - * Skip preview formats (#22806) -* [dplay] Improve extraction - + Add support for dplay.fi, dplay.jp and es.dplay.com (#16969) - * Fix it.dplay.com extraction (#22826) - + Extract creator, tags and thumbnails - * Handle playback API call errors -+ [discoverynetworks] Add support for dplay.co.uk -* [vk] Improve extraction - + Add support for Odnoklassniki embeds - + Extract more videos from user lists (#4470) - + Fix wall post audio extraction (#18332) - * Improve error detection (#22568) -+ [odnoklassniki] Add support for embeds -* [puhutv] Improve extraction - * Fix subtitles extraction - * Transform HLS URLs to HTTP URLs - * Improve metadata extraction -* [ceskatelevize] Skip DRM media -+ [facebook] Extract subtitles (#22777) -* [globo] Handle alternative hash signing method - - -version 2019.10.22 - -Core -* [utils] Improve subtitles_filename (#22753) - -Extractors -* [facebook] Bypass download rate limits (#21018) -+ [contv] Add support for contv.com -- [viewster] Remove extractor -* [xfileshare] Improve extractor (#17032, #17906, #18237, #18239) - * Update the list of domains - + Add support for aa-encoded video data - * Improve jwplayer format extraction - + Add support for Clappr sources -* [mangomolo] Fix video format extraction and add support for player URLs -* [audioboom] Improve metadata extraction -* [twitch] Update VOD URL matching (#22395, #22727) -- [mit] Remove support for video.mit.edu (#22403) -- [servingsys] Remove extractor (#22639) -* [dumpert] Fix extraction (#22428, #22564) -* [atresplayer] Fix extraction (#16277, #16716) - - -version 2019.10.16 - -Core -* [extractor/common] Make _is_valid_url more relaxed - -Extractors -* [vimeo] Improve album videos id extraction (#22599) -+ [globo] Extract subtitles (#22713) -* [bokecc] Improve player params extraction (#22638) -* [nexx] Handle result list (#22666) -* [vimeo] Fix VHX embed extraction -* [nbc] Switch to graphql API (#18581, #22693, #22701) -- [vessel] Remove extractor -- [promptfile] Remove extractor (#6239) -* [kaltura] Fix service URL extraction (#22658) -* [kaltura] Fix embed info strip (#22658) -* [globo] Fix format extraction (#20319) -* [redtube] Improve metadata extraction (#22492, #22615) -* [pornhub:uservideos:upload] Fix extraction (#22619) -+ [telequebec:squat] Add support for squat.telequebec.tv (#18503) -- [wimp] Remove extractor (#22088, #22091) -+ [gfycat] Extend URL regular expression (#22225) -+ [chaturbate] Extend URL regular expression (#22309) -* [peertube] Update instances (#22414) -+ [telequebec] Add support for coucou.telequebec.tv (#22482) -+ [xvideos] Extend URL regular expression (#22471) -- [youtube] Remove support for invidious.enkirton.net (#22543) -+ [openload] Add support for oload.monster (#22592) -* [nrktv:seriebase] Fix extraction (#22596) -+ [youtube] Add support for yt.lelux.fi (#22597) -* [orf:tvthek] Make manifest requests non fatal (#22578) -* [teachable] Skip login when already logged in (#22572) -* [viewlift] Improve extraction (#22545) -* [nonktube] Fix extraction (#22544) - - -version 2019.09.28 - -Core -* [YoutubeDL] Honour all --get-* options with --flat-playlist (#22493) - -Extractors -* [vk] Fix extraction (#22522) -* [heise] Fix kaltura embeds extraction (#22514) -* [ted] Check for resources validity and extract subtitled downloads (#22513) -+ [youtube] Add support for - owxfohz4kjyv25fvlqilyxast7inivgiktls3th44jhk3ej3i7ya.b32.i2p (#22292) -+ [nhk] Add support for clips -* [nhk] Fix video extraction (#22249, #22353) -* [byutv] Fix extraction (#22070) -+ [openload] Add support for oload.online (#22304) -+ [youtube] Add support for invidious.drycat.fr (#22451) -* [jwplatfom] Do not match video URLs (#20596, #22148) -* [youtube:playlist] Unescape playlist uploader (#22483) -+ [bilibili] Add support audio albums and songs (#21094) -+ [instagram] Add support for tv URLs -+ [mixcloud] Allow uppercase letters in format URLs (#19280) -* [brightcove] Delegate all supported legacy URLs to new extractor (#11523, - #12842, #13912, #15669, #16303) -* [hotstar] Use native HLS downloader by default -+ [hotstar] Extract more formats (#22323) -* [9now] Fix extraction (#22361) -* [zdf] Bypass geo restriction -+ [tv4] Extract series metadata -* [tv4] Fix extraction (#22443) - - -version 2019.09.12.1 - -Extractors -* [youtube] Remove quality and tbr for itag 43 (#22372) - - -version 2019.09.12 - -Extractors -* [youtube] Quick extraction tempfix (#22367, #22163) - - -version 2019.09.01 - -Core -+ [extractor/generic] Add support for squarespace embeds (#21294, #21802, - #21859) -+ [downloader/external] Respect mtime option for aria2c (#22242) - -Extractors -+ [xhamster:user] Add support for user pages (#16330, #18454) -+ [xhamster] Add support for more domains -+ [verystream] Add support for woof.tube (#22217) -+ [dailymotion] Add support for lequipe.fr (#21328, #22152) -+ [openload] Add support for oload.vip (#22205) -+ [bbccouk] Extend URL regular expression (#19200) -+ [youtube] Add support for invidious.nixnet.xyz and yt.elukerio.org (#22223) -* [safari] Fix authentication (#22161, #22184) -* [usanetwork] Fix extraction (#22105) -+ [einthusan] Add support for einthusan.ca (#22171) -* [youtube] Improve unavailable message extraction (#22117) -+ [piksel] Extract subtitles (#20506) - - -version 2019.08.13 - -Core -* [downloader/fragment] Fix ETA calculation of resumed download (#21992) -* [YoutubeDL] Check annotations availability (#18582) - -Extractors -* [youtube:playlist] Improve flat extraction (#21927) -* [youtube] Fix annotations extraction (#22045) -+ [discovery] Extract series meta field (#21808) -* [youtube] Improve error detection (#16445) -* [vimeo] Fix album extraction (#1933, #15704, #15855, #18967, #21986) -+ [roosterteeth] Add support for watch URLs -* [discovery] Limit video data by show slug (#21980) - - -version 2019.08.02 - -Extractors -+ [tvigle] Add support for HLS and DASH formats (#21967) -* [tvigle] Fix extraction (#21967) -+ [yandexvideo] Add support for DASH formats (#21971) -* [discovery] Use API call for video data extraction (#21808) -+ [mgtv] Extract format_note (#21881) -* [tvn24] Fix metadata extraction (#21833, #21834) -* [dlive] Relax URL regular expression (#21909) -+ [openload] Add support for oload.best (#21913) -* [youtube] Improve metadata extraction for age gate content (#21943) - - -version 2019.07.30 - -Extractors -* [youtube] Fix and improve title and description extraction (#21934) - - -version 2019.07.27 - -Extractors -+ [yahoo:japannews] Add support for yahoo.co.jp (#21698, #21265) -+ [discovery] Add support go.discovery.com URLs -* [youtube:playlist] Relax video regular expression (#21844) -* [generic] Restrict --default-search schemeless URLs detection pattern - (#21842) -* [vrv] Fix CMS signing query extraction (#21809) - - -version 2019.07.16 - -Extractors -+ [asiancrush] Add support for yuyutv.com, midnightpulp.com and cocoro.tv - (#21281, #21290) -* [kaltura] Check source format URL (#21290) -* [ctsnews] Fix YouTube embeds extraction (#21678) -+ [einthusan] Add support for einthusan.com (#21748, #21775) -+ [youtube] Add support for invidious.mastodon.host (#21777) -+ [gfycat] Extend URL regular expression (#21779, #21780) -* [youtube] Restrict is_live extraction (#21782) - - -version 2019.07.14 - -Extractors -* [porn91] Fix extraction (#21312) -+ [yandexmusic] Extract track number and disk number (#21421) -+ [yandexmusic] Add support for multi disk albums (#21420, #21421) -* [lynda] Handle missing subtitles (#20490, #20513) -+ [youtube] Add more invidious instances to URL regular expression (#21694) -* [twitter] Improve uploader id extraction (#21705) -* [spankbang] Fix and improve metadata extraction -* [spankbang] Fix extraction (#21763, #21764) -+ [dlive] Add support for dlive.tv (#18080) -+ [livejournal] Add support for livejournal.com (#21526) -* [roosterteeth] Fix free episode extraction (#16094) -* [dbtv] Fix extraction -* [bellator] Fix extraction -- [rudo] Remove extractor (#18430, #18474) -* [facebook] Fallback to twitter:image meta for thumbnail extraction (#21224) -* [bleacherreport] Fix Bleacher Report CMS extraction -* [espn] Fix fivethirtyeight.com extraction -* [5tv] Relax video URL regular expression and support https URLs -* [youtube] Fix is_live extraction (#21734) -* [youtube] Fix authentication (#11270) - - -version 2019.07.12 - -Core -+ [adobepass] Add support for AT&T U-verse (mso ATT) (#13938, #21016) - -Extractors -+ [mgtv] Pass Referer HTTP header for format URLs (#21726) -+ [beeg] Add support for api/v6 v2 URLs without t argument (#21701) -* [voxmedia:volume] Improvevox embed extraction (#16846) -* [funnyordie] Move extraction to VoxMedia extractor (#16846) -* [gameinformer] Fix extraction (#8895, #15363, #17206) -* [funk] Fix extraction (#17915) -* [packtpub] Relax lesson URL regular expression (#21695) -* [packtpub] Fix extraction (#21268) -* [philharmoniedeparis] Relax URL regular expression (#21672) -* [peertube] Detect embed URLs in generic extraction (#21666) -* [mixer:vod] Relax URL regular expression (#21657, #21658) -+ [lecturio] Add support id based URLs (#21630) -+ [go] Add site info for disneynow (#21613) -* [ted] Restrict info regular expression (#21631) -* [twitch:vod] Actualize m3u8 URL (#21538, #21607) -* [vzaar] Fix videos with empty title (#21606) -* [tvland] Fix extraction (#21384) -* [arte] Clean extractor (#15583, #21614) - - -version 2019.07.02 - -Core -+ [utils] Introduce random_user_agent and use as default User-Agent (#21546) - -Extractors -+ [vevo] Add support for embed.vevo.com URLs (#21565) -+ [openload] Add support for oload.biz (#21574) -* [xiami] Update API base URL (#21575) -* [yourporn] Fix extraction (#21585) -+ [acast] Add support for URLs with episode id (#21444) -+ [dailymotion] Add support for DM.player embeds -* [soundcloud] Update client id - - -version 2019.06.27 - -Extractors -+ [go] Add support for disneynow.com (#21528) -* [mixer:vod] Relax URL regular expression (#21531, #21536) -* [drtv] Relax URL regular expression -* [fusion] Fix extraction (#17775, #21269) -- [nfb] Remove extractor (#21518) -+ [beeg] Add support for api/v6 v2 URLs (#21511) -+ [brightcove:new] Add support for playlists (#21331) -+ [openload] Add support for oload.life (#21495) -* [vimeo:channel,group] Make title extraction non fatal -* [vimeo:likes] Implement extrator in terms of channel extractor (#21493) -+ [pornhub] Add support for more paged video sources -+ [pornhub] Add support for downloading single pages and search pages (#15570) -* [pornhub] Rework extractors (#11922, #16078, #17454, #17936) -+ [youtube] Add another signature function pattern -* [tf1] Fix extraction (#21365, #21372) -* [crunchyroll] Move Accept-Language workaround to video extractor since - it causes playlists not to list any videos -* [crunchyroll:playlist] Fix and relax title extraction (#21291, #21443) - - -version 2019.06.21 - -Core -* [utils] Restrict parse_codecs and add theora as known vcodec (#21381) - -Extractors -* [youtube] Update signature function patterns (#21469, #21476) -* [youtube] Make --write-annotations non fatal (#21452) -+ [sixplay] Add support for rtlmost.hu (#21405) -* [youtube] Hardcode codec metadata for av01 video only formats (#21381) -* [toutv] Update client key (#21370) -+ [biqle] Add support for new embed domain -* [cbs] Improve DRM protected videos detection (#21339) - - -version 2019.06.08 - -Core -* [downloader/common] Improve rate limit (#21301) -* [utils] Improve strip_or_none -* [extractor/common] Strip src attribute for HTML5 entries code (#18485, - #21169) - -Extractors -* [ted] Fix playlist extraction (#20844, #21032) -* [vlive:playlist] Fix video extraction when no playlist is found (#20590) -+ [vlive] Add CH+ support (#16887, #21209) -+ [openload] Add support for oload.website (#21329) -+ [tvnow] Extract HD formats (#21201) -+ [redbulltv] Add support for rrn:content URLs (#21297) -* [youtube] Fix average rating extraction (#21304) -+ [bitchute] Extract HTML5 formats (#21306) -* [cbsnews] Fix extraction (#9659, #15397) -* [vvvvid] Relax URL regular expression (#21299) -+ [prosiebensat1] Add support for new API (#21272) -+ [vrv] Extract adaptive_hls formats (#21243) -* [viki] Switch to HTTPS (#21001) -* [LiveLeak] Check if the original videos exist (#21206, #21208) -* [rtp] Fix extraction (#15099) -* [youtube] Improve DRM protected videos detection (#1774) -+ [srgssrplay] Add support for popupvideoplayer URLs (#21155) -+ [24video] Add support for porno.24video.net (#21194) -+ [24video] Add support for 24video.site (#21193) -- [pornflip] Remove extractor -- [criterion] Remove extractor (#21195) -* [pornhub] Use HTTPS (#21061) -* [bitchute] Fix uploader extraction (#21076) -* [streamcloud] Reduce waiting time to 6 seconds (#21092) -- [novamov] Remove extractors (#21077) -+ [openload] Add support for oload.press (#21135) -* [vivo] Fix extraction (#18906, #19217) - - -version 2019.05.20 - -Core -+ [extractor/common] Move workaround for applying first Set-Cookie header - into a separate _apply_first_set_cookie_header method - -Extractors -* [safari] Fix authentication (#21090) -* [vk] Use _apply_first_set_cookie_header -* [vrt] Fix extraction (#20527) -+ [canvas] Add support for vrtnieuws and sporza site ids and extract - AES HLS formats -+ [vrv] Extract captions (#19238) -* [tele5] Improve video id extraction -* [tele5] Relax URL regular expression (#21020, #21063) -* [svtplay] Update API URL (#21075) -+ [yahoo:gyao] Add X-User-Agent header to dam proxy requests (#21071) - - -version 2019.05.11 - -Core -* [utils] Transliterate "þ" as "th" (#20897) - -Extractors -+ [cloudflarestream] Add support for videodelivery.net (#21049) -+ [byutv] Add support for DVR videos (#20574, #20676) -+ [gfycat] Add support for URLs with tags (#20696, #20731) -+ [openload] Add support for verystream.com (#20701, #20967) -* [youtube] Use sp field value for signature field name (#18841, #18927, - #21028) -+ [yahoo:gyao] Extend URL regular expression (#21008) -* [youtube] Fix channel id extraction (#20982, #21003) -+ [sky] Add support for news.sky.com (#13055) -+ [youtube:entrylistbase] Retry on 5xx HTTP errors (#20965) -+ [francetvinfo] Extend video id extraction (#20619, #20740) -* [4tube] Update token hosts (#20918) -* [hotstar] Move to API v2 (#20931) -* [fox] Fix API error handling under python 2 (#20925) -+ [redbulltv] Extend URL regular expression (#20922) - - -version 2019.04.30 - -Extractors -* [openload] Use real Chrome versions (#20902) -- [youtube] Remove info el for get_video_info request -* [youtube] Improve extraction robustness -- [dramafever] Remove extractor (#20868) -* [adn] Fix subtitle extraction (#12724) -+ [ccc] Extract creator (#20355) -+ [ccc:playlist] Add support for media.ccc.de playlists (#14601, #20355) -+ [sverigesradio] Add support for sverigesradio.se (#18635) -+ [cinemax] Add support for cinemax.com -* [sixplay] Try extracting non-DRM protected manifests (#20849) -+ [youtube] Extract Youtube Music Auto-generated metadata (#20599, #20742) -- [wrzuta] Remove extractor (#20684, #20801) -* [twitch] Prefer source format (#20850) -+ [twitcasting] Add support for private videos (#20843) -* [reddit] Validate thumbnail URL (#20030) -* [yandexmusic] Fix track URL extraction (#20820) - - -version 2019.04.24 - -Extractors -* [youtube] Fix extraction (#20758, #20759, #20761, #20762, #20764, #20766, - #20767, #20769, #20771, #20768, #20770) -* [toutv] Fix extraction and extract series info (#20757) -+ [vrv] Add support for movie listings (#19229) -+ [youtube] Print error when no data is available (#20737) -+ [soundcloud] Add support for new rendition and improve extraction (#20699) -+ [ooyala] Add support for geo verification proxy -+ [nrl] Add support for nrl.com (#15991) -+ [vimeo] Extract live archive source format (#19144) -+ [vimeo] Add support for live streams and improve info extraction (#19144) -+ [ntvcojp] Add support for cu.ntv.co.jp -+ [nhk] Extract RTMPT format -+ [nhk] Add support for audio URLs -+ [udemy] Add another course id extraction pattern (#20491) -+ [openload] Add support for oload.services (#20691) -+ [openload] Add support for openloed.co (#20691, #20693) -* [bravotv] Fix extraction (#19213) - - -version 2019.04.17 - -Extractors -* [openload] Randomize User-Agent (#20688) -+ [openload] Add support for oladblock domains (#20471) -* [adn] Fix subtitle extraction (#12724) -+ [aol] Add support for localized websites -+ [yahoo] Add support GYAO episode URLs -+ [yahoo] Add support for streaming.yahoo.co.jp (#5811, #7098) -+ [yahoo] Add support for gyao.yahoo.co.jp -* [aenetworks] Fix history topic extraction and extract more formats -+ [cbs] Extract smpte and vtt subtitles -+ [streamango] Add support for streamcherry.com (#20592) -+ [yourporn] Add support for sxyprn.com (#20646) -* [mgtv] Fix extraction (#20650) -* [linkedin:learning] Use urljoin for form action URL (#20431) -+ [gdc] Add support for kaltura embeds (#20575) -* [dispeak] Improve mp4 bitrate extraction -* [kaltura] Sanitize embed URLs -* [jwplatfom] Do not match manifest URLs (#20596) -* [aol] Restrict URL regular expression and improve format extraction -+ [tiktok] Add support for new URL schema (#20573) -+ [stv:player] Add support for player.stv.tv (#20586) - - -version 2019.04.07 - -Core -+ [downloader/external] Pass rtmp_conn to ffmpeg - -Extractors -+ [ruutu] Add support for audio podcasts (#20473, #20545) -+ [xvideos] Extract all thumbnails (#20432) -+ [platzi] Add support for platzi.com (#20562) -* [dvtv] Fix extraction (#18514, #19174) -+ [vrv] Add basic support for individual movie links (#19229) -+ [bfi:player] Add support for player.bfi.org.uk (#19235) -* [hbo] Fix extraction and extract subtitles (#14629, #13709) -* [youtube] Extract srv[1-3] subtitle formats (#20566) -* [adultswim] Fix extraction (#18025) -* [teamcoco] Fix extraction and add support for subdomains (#17099, #20339) -* [adn] Fix subtitle compatibility with ffmpeg -* [adn] Fix extraction and add support for positioning styles (#20549) -* [vk] Use unique video id (#17848) -* [newstube] Fix extraction -* [rtl2] Actualize extraction -+ [adobeconnect] Add support for adobeconnect.com (#20283) -+ [gaia] Add support for authentication (#14605) -+ [mediasite] Add support for dashed ids and named catalogs (#20531) - - -version 2019.04.01 - -Core -* [utils] Improve int_or_none and float_or_none (#20403) -* Check for valid --min-sleep-interval when --max-sleep-interval is specified - (#20435) - -Extractors -+ [weibo] Extend URL regular expression (#20496) -+ [xhamster] Add support for xhamster.one (#20508) -+ [mediasite] Add support for catalogs (#20507) -+ [teamtreehouse] Add support for teamtreehouse.com (#9836) -+ [ina] Add support for audio URLs -* [ina] Improve extraction -* [cwtv] Fix episode number extraction (#20461) -* [npo] Improve DRM detection -+ [pornhub] Add support for DASH formats (#20403) -* [svtplay] Update API endpoint (#20430) - - -version 2019.03.18 - -Core -* [extractor/common] Improve HTML5 entries extraction -+ [utils] Introduce parse_bitrate -* [update] Hide update URLs behind redirect -* [extractor/common] Fix url meta field for unfragmented DASH formats (#20346) - -Extractors -+ [yandexvideo] Add extractor -* [openload] Improve embed detection -+ [corus] Add support for bigbrothercanada.ca (#20357) -+ [orf:radio] Extract series (#20012) -+ [cbc:watch] Add support for gem.cbc.ca (#20251, #20359) -- [anysex] Remove extractor (#19279) -+ [ciscolive] Add support for new URL schema (#20320, #20351) -+ [youtube] Add support for invidiou.sh (#20309) -- [anitube] Remove extractor (#20334) -- [ruleporn] Remove extractor (#15344, #20324) -* [npr] Fix extraction (#10793, #13440) -* [biqle] Fix extraction (#11471, #15313) -* [viddler] Modernize -* [moevideo] Fix extraction -* [primesharetv] Remove extractor -* [hypem] Modernize and extract more metadata (#15320) -* [veoh] Fix extraction -* [escapist] Modernize -- [videomega] Remove extractor (#10108) -+ [beeg] Add support for beeg.porn (#20306) -* [vimeo:review] Improve config url extraction and extract original format - (#20305) -* [fox] Detect geo restriction and authentication errors (#20208) - - -version 2019.03.09 - -Core -* [extractor/common] Use compat_etree_Element -+ [compat] Introduce compat_etree_Element -* [extractor/common] Fallback url to base URL for DASH formats -* [extractor/common] Do not fail on invalid data while parsing F4M manifest - in non fatal mode -* [extractor/common] Return MPD manifest as format's url meta field (#20242) -* [utils] Strip #HttpOnly_ prefix from cookies files (#20219) - -Extractors -* [francetv:site] Relax video id regular expression (#20268) -* [toutv] Detect invalid login error -* [toutv] Fix authentication (#20261) -+ [urplay] Extract timestamp (#20235) -+ [openload] Add support for oload.space (#20246) -* [facebook] Improve uploader extraction (#20250) -* [bbc] Use compat_etree_Element -* [crunchyroll] Use compat_etree_Element -* [npo] Improve ISM extraction -* [rai] Improve extraction (#20253) -* [paramountnetwork] Fix mgid extraction (#20241) -* [libsyn] Improve extraction (#20229) -+ [youtube] Add more invidious instances to URL regular expression (#20228) -* [spankbang] Fix extraction (#20023) -* [espn] Extend URL regular expression (#20013) -* [sixplay] Handle videos with empty assets (#20016) -+ [vimeo] Add support for Vimeo Pro portfolio protected videos (#20070) - - -version 2019.03.01 - -Core -+ [downloader/external] Add support for rate limit and retries for wget -* [downloader/external] Fix infinite retries for curl (#19303) - -Extractors -* [npo] Fix extraction (#20084) -* [francetv:site] Extend video id regex (#20029, #20071) -+ [periscope] Extract width and height (#20015) -* [servus] Fix extraction (#19297) -* [bbccouk] Make subtitles non fatal (#19651) -* [metacafe] Fix family filter bypass (#19287) - - -version 2019.02.18 - -Extractors -* [tvp:website] Fix and improve extraction -+ [tvp] Detect unavailable videos -* [tvp] Fix description extraction and make thumbnail optional -+ [linuxacademy] Add support for linuxacademy.com (#12207) -* [bilibili] Update keys (#19233) -* [udemy] Extend URL regular expressions (#14330, #15883) -* [udemy] Update User-Agent and detect captcha (#14713, #15839, #18126) -* [noovo] Fix extraction (#19230) -* [rai] Relax URL regular expression (#19232) -+ [vshare] Pass Referer to download request (#19205, #19221) -+ [openload] Add support for oload.live (#19222) -* [imgur] Use video id as title fallback (#18590) -+ [twitch] Add new source format detection approach (#19193) -* [tvplayhome] Fix video id extraction (#19190) -* [tvplayhome] Fix episode metadata extraction (#19190) -* [rutube:embed] Fix extraction (#19163) -+ [rutube:embed] Add support private videos (#19163) -+ [soundcloud] Extract more metadata -+ [trunews] Add support for trunews.com (#19153) -+ [linkedin:learning] Extract chapter_number and chapter_id (#19162) - - -version 2019.02.08 - -Core -* [utils] Improve JSON-LD regular expression (#18058) -* [YoutubeDL] Fallback to ie_key of matching extractor while making - download archive id when no explicit ie_key is provided (#19022) - -Extractors -+ [malltv] Add support for mall.tv (#18058, #17856) -+ [spankbang:playlist] Add support for playlists (#19145) -* [spankbang] Extend URL regular expression -* [trutv] Fix extraction (#17336) -* [toutv] Fix authentication (#16398, #18700) -* [pornhub] Fix tags and categories extraction (#13720, #19135) -* [pornhd] Fix formats extraction -+ [pornhd] Extract like count (#19123, #19125) -* [radiocanada] Switch to the new media requests (#19115) -+ [teachable] Add support for courses.workitdaily.com (#18871) -- [vporn] Remove extractor (#16276) -+ [soundcloud:pagedplaylist] Add ie and title to entries (#19022, #19086) -+ [drtuber] Extract duration (#19078) -* [soundcloud] Fix paged playlists extraction, add support for albums and update client id -* [soundcloud] Update client id -* [drtv] Improve preference (#19079) -+ [openload] Add support for openload.pw and oload.pw (#18930) -+ [openload] Add support for oload.info (#19073) -* [crackle] Authorize media detail request (#16931) - - -version 2019.01.30.1 - -Core -* [postprocessor/ffmpeg] Fix avconv processing broken in #19025 (#19067) - - -version 2019.01.30 - -Core -* [postprocessor/ffmpeg] Do not copy Apple TV chapter tracks while embedding - subtitles (#19024, #19042) -* [postprocessor/ffmpeg] Disable "Last message repeated" messages (#19025) - -Extractors -* [yourporn] Fix extraction and extract duration (#18815, #18852, #19061) -* [drtv] Improve extraction (#19039) - + Add support for EncryptedUri videos - + Extract more metadata - * Fix subtitles extraction -+ [fox] Add support for locked videos using cookies (#19060) -* [fox] Fix extraction for free videos (#19060) -+ [zattoo] Add support for tv.salt.ch (#19059) - - -version 2019.01.27 - -Core -+ [extractor/common] Extract season in _json_ld -* [postprocessor/ffmpeg] Fallback to ffmpeg/avconv for audio codec detection - (#681) - -Extractors -* [vice] Fix extraction for locked videos (#16248) -+ [wakanim] Detect DRM protected videos -+ [wakanim] Add support for wakanim.tv (#14374) -* [usatoday] Fix extraction for videos with custom brightcove partner id - (#18990) -* [drtv] Fix extraction (#18989) -* [nhk] Extend URL regular expression (#18968) -* [go] Fix Adobe Pass requests for Disney Now (#18901) -+ [openload] Add support for oload.club (#18969) - - -version 2019.01.24 - -Core -* [YoutubeDL] Fix negation for string operators in format selection (#18961) - - -version 2019.01.23 - -Core -* [utils] Fix urljoin for paths with non-http(s) schemes -* [extractor/common] Improve jwplayer relative URL handling (#18892) -+ [YoutubeDL] Add negation support for string comparisons in format selection - expressions (#18600, #18805) -* [extractor/common] Improve HLS video-only format detection (#18923) - -Extractors -* [crunchyroll] Extend URL regular expression (#18955) -* [pornhub] Bypass scrape detection (#4822, #5930, #7074, #10175, #12722, - #17197, #18338 #18842, #18899) -+ [vrv] Add support for authentication (#14307) -* [videomore:season] Fix extraction -* [videomore] Improve extraction (#18908) -+ [tnaflix] Pass Referer in metadata request (#18925) -* [radiocanada] Relax DRM check (#18608, #18609) -* [vimeo] Fix video password verification for videos protected by - Referer HTTP header -+ [hketv] Add support for hkedcity.net (#18696) -+ [streamango] Add support for fruithosts.net (#18710) -+ [instagram] Add support for tags (#18757) -+ [odnoklassniki] Detect paid videos (#18876) -* [ted] Correct acodec for HTTP formats (#18923) -* [cartoonnetwork] Fix extraction (#15664, #17224) -* [vimeo] Fix extraction for password protected player URLs (#18889) - - -version 2019.01.17 - -Extractors -* [youtube] Extend JS player signature function name regular expressions - (#18890, #18891, #18893) - - -version 2019.01.16 - -Core -+ [test/helper] Add support for maxcount and count collection len checkers -* [downloader/hls] Fix uplynk ad skipping (#18824) -* [postprocessor/ffmpeg] Improve ffmpeg version parsing (#18813) - -Extractors -* [youtube] Skip unsupported adaptive stream type (#18804) -+ [youtube] Extract DASH formats from player response (#18804) -* [funimation] Fix extraction (#14089) -* [skylinewebcams] Fix extraction (#18853) -+ [curiositystream] Add support for non app URLs -+ [bitchute] Check formats (#18833) -* [wistia] Extend URL regular expression (#18823) -+ [playplustv] Add support for playplus.com (#18789) - - -version 2019.01.10 - -Core -* [extractor/common] Use episode name as title in _json_ld -+ [extractor/common] Add support for movies in _json_ld -* [postprocessor/ffmpeg] Embed subtitles with non-standard language codes - (#18765) -+ [utils] Add language codes replaced in 1989 revision of ISO 639 - to ISO639Utils (#18765) - -Extractors -* [youtube] Extract live HLS URL from player response (#18799) -+ [outsidetv] Add support for outsidetv.com (#18774) -* [jwplatform] Use JW Platform Delivery API V2 and add support for more URLs -+ [fox] Add support National Geographic (#17985, #15333, #14698) -+ [playplustv] Add support for playplus.tv (#18789) -* [globo] Set GLBID cookie manually (#17346) -+ [gaia] Add support for gaia.com (#14605) -* [youporn] Fix title and description extraction (#18748) -+ [hungama] Add support for hungama.com (#17402, #18771) -* [dtube] Fix extraction (#18741) -* [tvnow] Fix and rework extractors and prepare for a switch to the new API - (#17245, #18499) -* [carambatv:page] Fix extraction (#18739) - - -version 2019.01.02 - -Extractors -* [discovery] Use geo verification headers (#17838) -+ [packtpub] Add support for subscription.packtpub.com (#18718) -* [yourporn] Fix extraction (#18583) -+ [acast:channel] Add support for play.acast.com (#18587) -+ [extractors] Add missing age limits (#18621) -+ [rmcdecouverte] Add support for live stream -* [rmcdecouverte] Bypass geo restriction -* [rmcdecouverte] Update URL regular expression (#18595, 18697) -* [manyvids] Fix extraction (#18604, #18614) -* [bitchute] Fix extraction (#18567) - - -version 2018.12.31 - -Extractors -+ [bbc] Add support for another embed pattern (#18643) -+ [npo:live] Add support for npostart.nl (#18644) -* [beeg] Fix extraction (#18610, #18626) -* [youtube] Unescape HTML for series (#18641) -+ [youtube] Extract more format metadata -* [youtube] Detect DRM protected videos (#1774) -* [youtube] Relax HTML5 player regular expressions (#18465, #18466) -* [youtube] Extend HTML5 player regular expression (#17516) -+ [liveleak] Add support for another embed type and restore original - format extraction -+ [crackle] Extract ISM and HTTP formats -+ [twitter] Pass Referer with card request (#18579) -* [mediasite] Extend URL regular expression (#18558) -+ [lecturio] Add support for lecturio.de (#18562) -+ [discovery] Add support for Scripps Networks watch domains (#17947) - - -version 2018.12.17 - -Extractors -* [ard:beta] Improve geo restricted videos extraction -* [ard:beta] Fix subtitles extraction -* [ard:beta] Improve extraction robustness -* [ard:beta] Relax URL regular expression (#18441) -* [acast] Add support for embed.acast.com and play.acast.com (#18483) -* [iprima] Relax URL regular expression (#18515, #18540) -* [vrv] Fix initial state extraction (#18553) -* [youtube] Fix mark watched (#18546) -+ [safari] Add support for learning.oreilly.com (#18510) -* [youtube] Fix multifeed extraction (#18531) -* [lecturio] Improve subtitles extraction (#18488) -* [uol] Fix format URL extraction (#18480) -+ [ard:mediathek] Add support for classic.ardmediathek.de (#18473) - - -version 2018.12.09 - -Core -* [YoutubeDL] Keep session cookies in cookie file between runs -* [YoutubeDL] Recognize session cookies with expired set to 0 (#12929) - -Extractors -+ [teachable] Add support for teachable platform sites (#5451, #18150, #18272) -+ [aenetworks] Add support for historyvault.com (#18460) -* [imgur] Improve gallery and album detection and extraction (#9133, #16577, - #17223, #18404) -* [iprima] Relax URL regular expression (#18453) -* [hotstar] Fix video data extraction (#18386) -* [ard:mediathek] Fix title and description extraction (#18349, #18371) -* [xvideos] Switch to HTTPS (#18422, #18427) -+ [lecturio] Add support for lecturio.com (#18405) -+ [nrktv:series] Add support for extra materials -* [nrktv:season,series] Fix extraction (#17159, #17258) -* [nrktv] Relax URL regular expression (#18304, #18387) -* [yourporn] Fix extraction (#18424, #18425) -* [tbs] Fix info extraction (#18403) -+ [gamespot] Add support for review URLs - - -version 2018.12.03 - -Core -* [utils] Fix random_birthday to generate existing dates only (#18284) - -Extractors -+ [tiktok] Add support for tiktok.com (#18108, #18135) -* [pornhub] Use actual URL host for requests (#18359) -* [lynda] Fix authentication (#18158, #18217) -* [gfycat] Update API endpoint (#18333, #18343) -+ [hotstar] Add support for alternative app state layout (#18320) -* [azmedien] Fix extraction (#18334, #18336) -+ [vimeo] Add support for VHX (Vimeo OTT) (#14835) -* [joj] Fix extraction (#18280, #18281) -+ [wistia] Add support for fast.wistia.com (#18287) - - -version 2018.11.23 - -Core -+ [setup.py] Add more relevant classifiers - -Extractors -* [mixcloud] Fallback to hardcoded decryption key (#18016) -* [nbc:news] Fix article extraction (#16194) -* [foxsports] Fix extraction (#17543) -* [loc] Relax regular expression and improve formats extraction -+ [ciscolive] Add support for ciscolive.cisco.com (#17984) -* [nzz] Relax kaltura regex (#18228) -* [sixplay] Fix formats extraction -* [bitchute] Improve title extraction -* [kaltura] Limit requested MediaEntry fields -+ [americastestkitchen] Add support for zype embeds (#18225) -+ [pornhub] Add pornhub.net alias -* [nova:embed] Fix extraction (#18222) - - -version 2018.11.18 - -Extractors -+ [wwe] Extract subtitles -+ [wwe] Add support for playlists (#14781) -+ [wwe] Add support for wwe.com (#14781, #17450) -* [vk] Detect geo restriction (#17767) -* [openload] Use original host during extraction (#18211) -* [atvat] Fix extraction (#18041) -+ [rte] Add support for new API endpoint (#18206) -* [tnaflixnetwork:embed] Fix extraction (#18205) -* [picarto] Use API and add token support (#16518) -+ [zype] Add support for player.zype.com (#18143) -* [vivo] Fix extraction (#18139) -* [ruutu] Update API endpoint (#18138) - - -version 2018.11.07 - -Extractors -+ [youtube] Add another JS signature function name regex (#18091, #18093, - #18094) -* [facebook] Fix tahoe request (#17171) -* [cliphunter] Fix extraction (#18083) -+ [youtube:playlist] Add support for invidio.us (#18077) -* [zattoo] Arrange API hosts for derived extractors (#18035) -+ [youtube] Add fallback metadata extraction from videoDetails (#18052) - - -version 2018.11.03 - -Core -* [extractor/common] Ensure response handle is not prematurely closed before - it can be read if it matches expected_status (#17195, #17846, #17447) - -Extractors -* [laola1tv:embed] Set correct stream access URL scheme (#16341) -+ [ehftv] Add support for ehftv.com (#15408) -* [azmedien] Adopt to major site redesign (#17745, #17746) -+ [twitcasting] Add support for twitcasting.tv (#17981) -* [orf:tvthek] Fix extraction (#17737, #17956, #18024) -+ [openload] Add support for oload.fun (#18045) -* [njpwworld] Fix authentication (#17427) -+ [linkedin:learning] Add support for linkedin.com/learning (#13545) -* [theplatform] Improve error detection (#13222) -* [cnbc] Simplify extraction (#14280, #17110) -+ [cbnc] Add support for new URL schema (#14193) -* [aparat] Improve extraction and extract more metadata (#17445, #18008) -* [aparat] Fix extraction - - -version 2018.10.29 - -Core -+ [extractor/common] Add validation for JSON-LD URLs - -Extractors -+ [sportbox] Add support for matchtv.ru -* [sportbox] Fix extraction (#17978) -* [screencast] Fix extraction (#14590, #14617, #17990) -+ [openload] Add support for oload.icu -+ [ivi] Add support for ivi.tv -* [crunchyroll] Improve extraction failsafeness (#17991) -* [dailymail] Fix formats extraction (#17976) -* [viewster] Reduce format requests -* [cwtv] Handle API errors (#17905) -+ [rutube] Use geo verification headers (#17897) -+ [brightcove:legacy] Add fallbacks to brightcove:new (#13912) -- [tv3] Remove extractor (#10461, #15339) -* [ted] Fix extraction for HTTP and RTMP formats (#5941, #17572, #17894) -+ [openload] Add support for oload.cc (#17823) -+ [patreon] Extract post_file URL (#17792) -* [patreon] Fix extraction (#14502, #10471) - - -version 2018.10.05 - -Extractors -* [pluralsight] Improve authentication (#17762) -* [dailymotion] Fix extraction (#17699) -* [crunchyroll] Switch to HTTPS for RpcApi (#17749) -+ [philharmoniedeparis] Add support for pad.philharmoniedeparis.fr (#17705) -* [philharmoniedeparis] Fix extraction (#17705) -+ [jamendo] Add support for licensing.jamendo.com (#17724) -+ [openload] Add support for oload.cloud (#17710) -* [pluralsight] Fix subtitles extraction (#17726, #17728) -+ [vimeo] Add another config regular expression (#17690) -* [spike] Fix Paramount Network extraction (#17677) -* [hotstar] Fix extraction (#14694, #14931, #17637) - - -version 2018.09.26 - -Extractors -* [pluralsight] Fix subtitles extraction (#17671) -* [mediaset] Improve embed support (#17668) -+ [youtube] Add support for invidio.us (#17613) -+ [zattoo] Add support for more zattoo platform sites -* [zattoo] Fix extraction (#17175, #17542) - - -version 2018.09.18 - -Core -+ [extractor/common] Introduce channel meta fields - -Extractors -* [adobepass] Don't pollute default headers dict -* [udemy] Don't pollute default headers dict -* [twitch] Don't pollute default headers dict -* [youtube] Don't pollute default query dict (#17593) -* [crunchyroll] Prefer hardsubless formats and formats in locale language -* [vrv] Make format ids deterministic -* [vimeo] Fix ondemand playlist extraction (#14591) -+ [pornhub] Extract upload date (#17574) -+ [porntube] Extract channel meta fields -+ [vimeo] Extract channel meta fields -+ [youtube] Extract channel meta fields (#9676, #12939) -* [porntube] Fix extraction (#17541) -* [asiancrush] Fix extraction (#15630) -+ [twitch:clips] Extend URL regular expression (#17559) -+ [vzaar] Add support for HLS -* [tube8] Fix metadata extraction (#17520) -* [eporner] Extract JSON-LD (#17519) - - -version 2018.09.10 - -Core -+ [utils] Properly recognize AV1 codec (#17506) - -Extractors -+ [iprima] Add support for prima.iprima.cz (#17514) -+ [tele5] Add support for tele5.de (#7805, #7922, #17331, #17414) -* [nbc] Fix extraction of percent encoded URLs (#17374) - - -version 2018.09.08 - -Extractors -* [youtube] Fix extraction (#17457, #17464) -+ [pornhub:uservideos] Add support for new URLs (#17388) -* [iprima] Confirm adult check (#17437) -* [slideslive] Make check for video service name case-insensitive (#17429) -* [radiojavan] Fix extraction (#17151) -* [generic] Skip unsuccessful jwplayer extraction (#16735) - - -version 2018.09.01 - -Core -* [utils] Skip remote IP addresses non matching to source address' IP version - when creating a connection (#13422, #17362) - -Extractors -+ [ard] Add support for one.ard.de (#17397) -* [niconico] Fix extraction on python3 (#17393, #17407) -* [ard] Extract f4m formats -* [crunchyroll] Parse vilos media data (#17343) -+ [ard] Add support for Beta ARD Mediathek -+ [bandcamp] Extract more metadata (#13197) -* [internazionale] Fix extraction of non-available-abroad videos (#17386) - - -version 2018.08.28 - -Extractors -+ [youtube:playlist] Add support for music album playlists (OLAK5uy_ prefix) - (#17361) -* [bitchute] Fix extraction by pass custom User-Agent (#17360) -* [webofstories:playlist] Fix extraction (#16914) -+ [tvplayhome] Add support for new tvplay URLs (#17344) -+ [generic] Allow relative src for videojs embeds (#17324) -+ [xfileshare] Add support for vidto.se (#17317) -+ [vidzi] Add support for vidzi.nu (#17316) -+ [nova:embed] Add support for media.cms.nova.cz (#17282) - - -version 2018.08.22 - -Core -* [utils] Use pure browser header for User-Agent (#17236) - -Extractors -+ [kinopoisk] Add support for kinopoisk.ru (#17283) -+ [yourporn] Add support for yourporn.sexy (#17298) -+ [go] Add support for disneynow.go.com (#16299, #17264) -+ [6play] Add support for play.rtl.hr (#17249) -* [anvato] Fallback to generic API key for access-key-to-API-key lookup - (#16788, #17254) -* [lci] Fix extraction (#17274) -* [bbccouk] Extend id URL regular expression (#17270) -* [cwtv] Fix extraction (#17256) -* [nova] Fix extraction (#17241) -+ [generic] Add support for expressen embeds -* [raywenderlich] Adapt to site redesign (#17225) -+ [redbulltv] Add support redbull.com tv URLs (#17218) -+ [bitchute] Add support for bitchute.com (#14052) -+ [clyp] Add support for token protected media (#17184) -* [imdb] Fix extension extraction (#17167) - - -version 2018.08.04 - -Extractors -* [funk:channel] Improve byChannelAlias extraction (#17142) -* [twitch] Fix authentication (#17024, #17126) -* [twitch:vod] Improve URL regular expression (#17135) -* [watchbox] Fix extraction (#17107) -* [pbs] Fix extraction (#17109) -* [theplatform] Relax URL regular expression (#16181, #17097) -+ [viqeo] Add support for viqeo.tv (#17066) - - -version 2018.07.29 - -Extractors -* [crunchyroll:playlist] Restrict URL regular expression (#17069, #17076) -+ [pornhub] Add support for subtitles (#16924, #17088) -* [ceskatelevize] Use https for API call (#16997, #16999) -* [dailymotion:playlist] Fix extraction (#16894) -* [ted] Improve extraction -* [ted] Fix extraction for videos without nativeDownloads (#16756, #17085) -* [telecinco] Fix extraction (#17080) -* [mitele] Reduce number of requests -* [rai] Return non HTTP relinker URL intact (#17055) -* [vk] Fix extraction for inline only videos (#16923) -* [streamcloud] Fix extraction (#17054) -* [facebook] Fix tahoe player extraction with authentication (#16655) -+ [puhutv] Add support for puhutv.com (#12712, #16010, #16269) - - -version 2018.07.21 - -Core -+ [utils] Introduce url_or_none -* [utils] Allow JSONP without function name (#17028) -+ [extractor/common] Extract DASH and MSS formats from SMIL manifests - -Extractors -+ [bbc] Add support for BBC Radio Play pages (#17022) -* [iwara] Fix download URLs (#17026) -* [vrtnu] Relax title extraction and extract JSON-LD (#17018) -+ [viu] Pass Referer and Origin headers and area id (#16992) -+ [vimeo] Add another config regular expression (#17013) -+ [facebook] Extract view count (#16942) -* [dailymotion] Improve description extraction (#16984) -* [slutload] Fix and improve extraction (#17001) -* [mediaset] Fix extraction (#16977) -+ [theplatform] Add support for theplatform TLD customization (#16977) -* [imgur] Relax URL regular expression (#16987) -* [pornhub] Improve extraction and extract all formats (#12166, #15891, #16262, - #16959) - - -version 2018.07.10 - -Core -* [utils] Share JSON-LD regular expression -* [downloader/dash] Improve error handling (#16927) - -Extractors -+ [nrktv] Add support for new season and serie URL schema -+ [nrktv] Add support for new episode URL schema (#16909) -+ [frontendmasters] Add support for frontendmasters.com (#3661, #16328) -* [funk] Fix extraction (#16918) -* [watchbox] Fix extraction (#16904) -* [dplayit] Sort formats -* [dplayit] Fix extraction (#16901) -* [youtube] Improve login error handling (#13822) - - -version 2018.07.04 - -Core -* [extractor/common] Properly escape % in MPD templates (#16867) -* [extractor/common] Use source URL as Referer for HTML5 entries (16849) -* Prefer ffmpeg over avconv by default (#8622) - -Extractors -* [pluralsight] Switch to graphql (#16889, #16895, #16896, #16899) -* [lynda] Simplify login and improve error capturing (#16891) -+ [go90] Add support for embed URLs (#16873) -* [go90] Detect geo restriction error and pass geo verification headers - (#16874) -* [vlive] Fix live streams extraction (#16871) -* [npo] Fix typo (#16872) -+ [mediaset] Add support for new videos and extract all formats (#16568) -* [dctptv] Restore extraction based on REST API (#16850) -* [svt] Improve extraction and add support for pages (#16802) -* [porncom] Fix extraction (#16808) - - -version 2018.06.25 - -Extractors -* [joj] Relax URL regular expression (#16771) -* [brightcove] Workaround sonyliv DRM protected videos (#16807) -* [motherless] Fix extraction (#16786) -* [itv] Make SOAP request non fatal and extract metadata from webpage (#16780) -- [foxnews:insider] Remove extractor (#15810) -+ [foxnews] Add support for iframe embeds (#15810, #16711) - - -version 2018.06.19 - -Core -+ [extractor/common] Introduce expected_status in _download_* methods - for convenient accept of HTTP requests failed with non 2xx status codes -+ [compat] Introduce compat_integer_types - -Extractors -* [peertube] Improve generic support (#16733) -+ [6play] Use geo verification headers -* [rtbf] Fix extraction for python 3.2 -* [vgtv] Improve HLS formats extraction -+ [vgtv] Add support for www.aftonbladet.se/tv URLs -* [bbccouk] Use expected_status -* [markiza] Expect 500 HTTP status code -* [tvnow] Try all clear manifest URLs (#15361) - - -version 2018.06.18 - -Core -* [downloader/rtmp] Fix downloading in verbose mode (#16736) - -Extractors -+ [markiza] Add support for markiza.sk (#16750) -* [wat] Try all supported adaptive URLs -+ [6play] Add support for rtlplay.be and extract hd usp formats -+ [rtbf] Add support for audio and live streams (#9638, #11923) -+ [rtbf] Extract HLS, DASH and all HTTP formats -+ [rtbf] Extract subtitles -+ [rtbf] Fixup specific HTTP URLs (#16101) -+ [expressen] Add support for expressen.se -* [vidzi] Fix extraction (#16678) -* [pbs] Improve extraction (#16623, #16684) -* [bilibili] Restrict cid regular expression (#16638, #16734) - - -version 2018.06.14 - -Core -* [downloader/http] Fix retry on error when streaming to stdout (#16699) - -Extractors -+ [discoverynetworks] Add support for disco-api videos (#16724) -+ [dailymotion] Add support for password protected videos (#9789) -+ [abc:iview] Add support for livestreams (#12354) -* [abc:iview] Fix extraction (#16704) -+ [crackle] Add support for sonycrackle.com (#16698) -+ [tvnet] Add support for tvnet.gov.vn (#15462) -* [nrk] Update API hosts and try all previously known ones (#16690) -* [wimp] Fix Youtube embeds extraction - - -version 2018.06.11 - -Extractors -* [npo] Extend URL regular expression and add support for npostart.nl (#16682) -+ [inc] Add support for another embed schema (#16666) -* [tv4] Fix format extraction (#16650) -+ [nexx] Add support for free cdn (#16538) -+ [pbs] Add another cove id pattern (#15373) -+ [rbmaradio] Add support for 192k format (#16631) - - -version 2018.06.04 - -Extractors -+ [camtube] Add support for camtube.co -+ [twitter:card] Extract guest token (#16609) -+ [chaturbate] Use geo verification headers -+ [bbc] Add support for bbcthree (#16612) -* [youtube] Move metadata extraction after video availability check -+ [youtube] Extract track and artist -+ [safari] Add support for new URL schema (#16614) -* [adn] Fix extraction - - -version 2018.06.02 - -Core -* [utils] Improve determine_ext - -Extractors -+ [facebook] Add support for tahoe player videos (#15441, #16554) -* [cbc] Improve extraction (#16583, #16593) -* [openload] Improve ext extraction (#16595) -+ [twitter:card] Add support for another endpoint (#16586) -+ [openload] Add support for oload.win and oload.download (#16592) -* [audimedia] Fix extraction (#15309) -+ [francetv] Add support for sport.francetvinfo.fr (#15645) -* [mlb] Improve extraction (#16587) -- [nhl] Remove old extractors -* [rbmaradio] Check formats availability (#16585) - - -version 2018.05.30 - -Core -* [downloader/rtmp] Generalize download messages and report time elapsed - on finish -* [downloader/rtmp] Gracefully handle live streams interrupted by user - -Extractors -* [teamcoco] Fix extraction for full episodes (#16573) -* [spiegel] Fix info extraction (#16538) -+ [apa] Add support for apa.at (#15041, #15672) -+ [bellmedia] Add support for bnnbloomberg.ca (#16560) -+ [9c9media] Extract MPD formats and subtitles -* [cammodels] Use geo verification headers -+ [ufctv] Add support for authentication (#16542) -+ [cammodels] Add support for cammodels.com (#14499) -* [utils] Fix style id extraction for namespaced id attribute in dfxp2srt - (#16551) -* [soundcloud] Detect format extension (#16549) -* [cbc] Fix playlist title extraction (#16502) -+ [tumblr] Detect and report sensitive media (#13829) -+ [tumblr] Add support for authentication (#15133) - - -version 2018.05.26 - -Core -* [utils] Improve parse_age_limit - -Extractors -* [audiomack] Stringify video id (#15310) -* [izlesene] Fix extraction (#16233, #16271, #16407) -+ [indavideo] Add support for generic embeds (#11989) -* [indavideo] Fix extraction (#11221) -* [indavideo] Sign download URLs (#16174) -+ [peertube] Add support for PeerTube based sites (#16301, #16329) -* [imgur] Fix extraction (#16537) -+ [hidive] Add support for authentication (#16534) -+ [nbc] Add support for stream.nbcsports.com (#13911) -+ [viewlift] Add support for hoichoi.tv (#16536) -* [go90] Extract age limit and detect DRM protection(#10127) -* [viewlift] fix extraction for snagfilms.com (#15766) -* [globo] Improve extraction (#4189) - * Add support for authentication - * Simplify URL signing - * Extract DASH and MSS formats -* [leeco] Fix extraction (#16464) -* [teamcoco] Add fallback for format extraction (#16484) -* [teamcoco] Improve URL regular expression (#16484) -* [imdb] Improve extraction (#4085, #14557) - - -version 2018.05.18 - -Extractors -* [vimeo:likes] Relax URL regular expression and fix single page likes - extraction (#16475) -* [pluralsight] Fix clip id extraction (#16460) -+ [mychannels] Add support for mychannels.com (#15334) -- [moniker] Remove extractor (#15336) -* [pbs] Fix embed data extraction (#16474) -+ [mtv] Add support for paramountnetwork.com and bellator.com (#15418) -* [youtube] Fix hd720 format position -* [dailymotion] Remove fragment part from m3u8 URLs (#8915) -* [3sat] Improve extraction (#15350) - * Extract all formats - * Extract more format metadata - * Improve format sorting - * Use hls native downloader - * Detect and bypass geo-restriction -+ [dtube] Add support for d.tube (#15201) -* [options] Fix typo (#16450) -* [youtube] Improve format filesize extraction (#16453) -* [youtube] Make uploader extraction non fatal (#16444) -* [youtube] Fix extraction for embed restricted live streams (#16433) -* [nbc] Improve info extraction (#16440) -* [twitch:clips] Fix extraction (#16429) -* [redditr] Relax URL regular expression (#16426, #16427) -* [mixcloud] Bypass throttling for HTTP formats (#12579, #16424) -+ [nick] Add support for nickjr.de (#13230) -* [teamcoco] Fix extraction (#16374) - - -version 2018.05.09 - -Core -* [YoutubeDL] Ensure ext exists for automatic captions -* Introduce --geo-bypass-ip-block - -Extractors -+ [udemy] Extract asset captions -+ [udemy] Extract stream URLs (#16372) -+ [businessinsider] Add support for businessinsider.com (#16387, #16388, #16389) -+ [cloudflarestream] Add support for cloudflarestream.com (#16375) -* [watchbox] Fix extraction (#16356) -* [discovery] Extract Affiliate/Anonymous Auth Token from cookies (#14954) -+ [itv:btcc] Add support for itv.com/btcc (#16139) -* [tunein] Use live title for live streams (#16347) -* [itv] Improve extraction (#16253) - - -version 2018.05.01 - -Core -* [downloader/fragment] Restart download if .ytdl file is corrupt (#16312) -+ [extractor/common] Extract interaction statistic -+ [utils] Add merge_dicts -+ [extractor/common] Add _download_json_handle - -Extractors -* [kaltura] Improve iframe embeds detection (#16337) -+ [udemy] Extract outputs renditions (#16289, #16291, #16320, #16321, #16334, - #16335) -+ [zattoo] Add support for zattoo.com and mobiltv.quickline.com (#14668, #14676) -* [yandexmusic] Convert release_year to int -* [udemy] Override _download_webpage_handle instead of _download_webpage -* [xiami] Override _download_webpage_handle instead of _download_webpage -* [yandexmusic] Override _download_webpage_handle instead of _download_webpage -* [youtube] Correctly disable polymer on all requests (#16323, #16326) -* [generic] Prefer enclosures over links in RSS feeds (#16189) -+ [redditr] Add support for old.reddit.com URLs (#16274) -* [nrktv] Update API host (#16324) -+ [imdb] Extract all formats (#16249) -+ [vimeo] Extract JSON-LD (#16295) -* [funk:channel] Improve extraction (#16285) - - -version 2018.04.25 - -Core -* [utils] Fix match_str for boolean meta fields -+ [Makefile] Add support for pandoc 2 and disable smart extension (#16251) -* [YoutubeDL] Fix typo in media extension compatibility checker (#16215) - -Extractors -+ [openload] Recognize IPv6 stream URLs (#16136, #16137, #16205, #16246, - #16250) -+ [twitch] Extract is_live according to status (#16259) -* [pornflip] Relax URL regular expression (#16258) -- [etonline] Remove extractor (#16256) -* [breakcom] Fix extraction (#16254) -+ [youtube] Add ability to authenticate with cookies -* [youtube:feed] Implement lazy playlist extraction (#10184) -+ [svt] Add support for TV channel live streams (#15279, #15809) -* [ccma] Fix video extraction (#15931) -* [rentv] Fix extraction (#15227) -+ [nick] Add support for nickjr.nl (#16230) -* [extremetube] Fix metadata extraction -+ [keezmovies] Add support for generic embeds (#16134, #16154) -* [nexx] Extract new azure URLs (#16223) -* [cbssports] Fix extraction (#16217) -* [kaltura] Improve embeds detection (#16201) -* [instagram:user] Fix extraction (#16119) -* [cbs] Skip DRM asset types (#16104) - - -version 2018.04.16 - -Extractors -* [smotri:broadcast] Fix extraction (#16180) -+ [picarto] Add support for picarto.tv (#6205, #12514, #15276, #15551) -* [vine:user] Fix extraction (#15514, #16190) -* [pornhub] Relax URL regular expression (#16165) -* [cbc:watch] Re-acquire device token when expired (#16160) -+ [fxnetworks] Add support for https theplatform URLs (#16125, #16157) -+ [instagram:user] Add request signing (#16119) -+ [twitch] Add support for mobile URLs (#16146) - - -version 2018.04.09 - -Core -* [YoutubeDL] Do not save/restore console title while simulate (#16103) -* [extractor/common] Relax JSON-LD context check (#16006) - -Extractors -+ [generic] Add support for tube8 embeds -+ [generic] Add support for share-videos.se embeds (#16089, #16115) -* [odnoklassniki] Extend URL regular expression (#16081) -* [steam] Bypass mature content check (#16113) -+ [acast] Extract more metadata -* [acast] Fix extraction (#16118) -* [instagram:user] Fix extraction (#16119) -* [drtuber] Fix title extraction (#16107, #16108) -* [liveleak] Extend URL regular expression (#16117) -+ [openload] Add support for oload.xyz -* [openload] Relax stream URL regular expression -* [openload] Fix extraction (#16099) -+ [svtplay:series] Add support for season URLs -+ [svtplay:series] Add support for series (#11130, #16059) - - -version 2018.04.03 - -Extractors -+ [tvnow] Add support for shows (#15837) -* [dramafever] Fix authentication (#16067) -* [afreecatv] Use partial view only when necessary (#14450) -+ [afreecatv] Add support for authentication (#14450) -+ [nationalgeographic] Add support for new URL schema (#16001, #16054) -* [xvideos] Fix thumbnail extraction (#15978, #15979) -* [medialaan] Fix vod id (#16038) -+ [openload] Add support for oload.site (#16039) -* [naver] Fix extraction (#16029) -* [dramafever] Partially switch to API v5 (#16026) -* [abc:iview] Unescape title and series meta fields (#15994) -* [videa] Extend URL regular expression (#16003) - - -version 2018.03.26.1 - -Core -+ [downloader/external] Add elapsed time to progress hook (#10876) -* [downloader/external,fragment] Fix download finalization when writing file - to stdout (#10809, #10876, #15799) - -Extractors -* [vrv] Fix extraction on python2 (#15928) -* [afreecatv] Update referrer (#15947) -+ [24video] Add support for 24video.sexy (#15973) -* [crackle] Bypass geo restriction -* [crackle] Fix extraction (#15969) -+ [lenta] Add support for lenta.ru (#15953) -+ [instagram:user] Add pagination (#15934) -* [youku] Update ccode (#15939) -* [libsyn] Adapt to new page structure - - -version 2018.03.20 - -Core -* [extractor/common] Improve thumbnail extraction for HTML5 entries -* Generalize XML manifest processing code and improve XSPF parsing -+ [extractor/common] Add _download_xml_handle -+ [extractor/common] Add support for relative URIs in _parse_xspf (#15794) - -Extractors -+ [7plus] Extract series metadata (#15862, #15906) -* [9now] Bypass geo restriction (#15920) -* [cbs] Skip unavailable assets (#13490, #13506, #15776) -+ [canalc2] Add support for HTML5 videos (#15916, #15919) -+ [ceskatelevize] Add support for iframe embeds (#15918) -+ [prosiebensat1] Add support for galileo.tv (#15894) -+ [generic] Add support for xfileshare embeds (#15879) -* [bilibili] Switch to v2 playurl API -* [bilibili] Fix and improve extraction (#15048, #15430, #15622, #15863) -* [heise] Improve extraction (#15496, #15784, #15026) -* [instagram] Fix user videos extraction (#15858) - - -version 2018.03.14 - -Extractors -* [soundcloud] Update client id (#15866) -+ [tennistv] Add support for tennistv.com -+ [line] Add support for tv.line.me (#9427) -* [xnxx] Fix extraction (#15817) -* [njpwworld] Fix authentication (#15815) - - -version 2018.03.10 - -Core -* [downloader/hls] Skip uplynk ad fragments (#15748) - -Extractors -* [pornhub] Don't override session cookies (#15697) -+ [raywenderlich] Add support for videos.raywenderlich.com (#15251) -* [funk] Fix extraction and rework extractors (#15792) -* [nexx] Restore reverse engineered approach -+ [heise] Add support for kaltura embeds (#14961, #15728) -+ [tvnow] Extract series metadata (#15774) -* [ruutu] Continue formats extraction on NOT-USED URLs (#15775) -* [vrtnu] Use redirect URL for building video JSON URL (#15767, #15769) -* [vimeo] Modernize login code and improve error messaging -* [archiveorg] Fix extraction (#15770, #15772) -+ [hidive] Add support for hidive.com (#15494) -* [afreecatv] Detect deleted videos -* [afreecatv] Fix extraction (#15755) -* [vice] Fix extraction and rework extractors (#11101, #13019, #13622, #13778) -+ [vidzi] Add support for vidzi.si (#15751) -* [npo] Fix typo - - -version 2018.03.03 - -Core -+ [utils] Add parse_resolution -Revert respect --prefer-insecure while updating - -Extractors -+ [yapfiles] Add support for yapfiles.ru (#15726, #11085) -* [spankbang] Fix formats extraction (#15727) -* [adn] Fix extraction (#15716) -+ [toggle] Extract DASH and ISM formats (#15721) -+ [nickelodeon] Add support for nickelodeon.com.tr (#15706) -* [npo] Validate and filter format URLs (#15709) - - -version 2018.02.26 - -Extractors -* [udemy] Use custom User-Agent (#15571) - - -version 2018.02.25 - -Core -* [postprocessor/embedthumbnail] Skip embedding when there aren't any - thumbnails (#12573) -* [extractor/common] Improve jwplayer subtitles extraction (#15695) - -Extractors -+ [vidlii] Add support for vidlii.com (#14472, #14512, #14779) -+ [streamango] Capture and output error messages -* [streamango] Fix extraction (#14160, #14256) -+ [telequebec] Add support for emissions (#14649, #14655) -+ [telequebec:live] Add support for live streams (#15688) -+ [mailru:music] Add support for mail.ru/music (#15618) -* [aenetworks] Switch to akamai HLS formats (#15612) -* [ytsearch] Fix flat title extraction (#11260, #15681) - - -version 2018.02.22 - -Core -+ [utils] Fixup some common URL typos in sanitize_url (#15649) -* Respect --prefer-insecure while updating (#15497) - -Extractors -* [vidio] Fix HLS URL extraction (#15675) -+ [nexx] Add support for arc.nexx.cloud URLs -* [nexx] Switch to arc API (#15652) -* [redtube] Fix duration extraction (#15659) -+ [sonyliv] Respect referrer (#15648) -+ [brightcove:new] Use referrer for formats' HTTP headers -+ [cbc] Add support for olympics.cbc.ca (#15535) -+ [fusion] Add support for fusion.tv (#15628) -* [npo] Improve quality metadata extraction -* [npo] Relax URL regular expression (#14987, #14994) -+ [npo] Capture and output error message -+ [pornhub] Add support for channels (#15613) -* [youtube] Handle shared URLs with generic extractor (#14303) - - -version 2018.02.11 - -Core -+ [YoutubeDL] Add support for filesize_approx in format selector (#15550) - -Extractors -+ [francetv] Add support for live streams (#13689) -+ [francetv] Add support for zouzous.fr and ludo.fr (#10454, #13087, #13103, - #15012) -* [francetv] Separate main extractor and rework others to delegate to it -* [francetv] Improve manifest URL signing (#15536) -+ [francetv] Sign m3u8 manifest URLs (#15565) -+ [veoh] Add support for embed URLs (#15561) -* [afreecatv] Fix extraction (#15556) -* [periscope] Use accessVideoPublic endpoint (#15554) -* [discovery] Fix auth request (#15542) -+ [6play] Extract subtitles (#15541) -* [newgrounds] Fix metadata extraction (#15531) -+ [nbc] Add support for stream.nbcolympics.com (#10295) -* [dvtv] Fix live streams extraction (#15442) - - -version 2018.02.08 - -Extractors -+ [myvi] Extend URL regular expression -+ [myvi:embed] Add support for myvi.tv embeds (#15521) -+ [prosiebensat1] Extend URL regular expression (#15520) -* [pokemon] Relax URL regular expression and extend title extraction (#15518) -+ [gameinformer] Use geo verification headers -* [la7] Fix extraction (#15501, #15502) -* [gameinformer] Fix brightcove id extraction (#15416) -+ [afreecatv] Pass referrer to video info request (#15507) -+ [telebruxelles] Add support for live streams -* [telebruxelles] Relax URL regular expression -* [telebruxelles] Fix extraction (#15504) -* [extractor/common] Respect secure schemes in _extract_wowza_formats - - -version 2018.02.04 - -Core -* [downloader/http] Randomize HTTP chunk size -+ [downloader/http] Add ability to pass downloader options via info dict -* [downloader/http] Fix 302 infinite loops by not reusing requests -+ Document http_chunk_size - -Extractors -+ [brightcove] Pass embed page URL as referrer (#15486) -+ [youtube] Enforce using chunked HTTP downloading for DASH formats - - -version 2018.02.03 - -Core -+ Introduce --http-chunk-size for chunk-based HTTP downloading -+ Add support for IronPython -* [downloader/ism] Fix Python 3.2 support - -Extractors -* [redbulltv] Fix extraction (#15481) -* [redtube] Fix metadata extraction (#15472) -* [pladform] Respect platform id and extract HLS formats (#15468) -- [rtlnl] Remove progressive formats (#15459) -* [6play] Do no modify asset URLs with a token (#15248) -* [nationalgeographic] Relax URL regular expression -* [dplay] Relax URL regular expression (#15458) -* [cbsinteractive] Fix data extraction (#15451) -+ [amcnetworks] Add support for sundancetv.com (#9260) - - -version 2018.01.27 - -Core -* [extractor/common] Improve _json_ld for articles -* Switch codebase to use compat_b64decode -+ [compat] Add compat_b64decode - -Extractors -+ [seznamzpravy] Add support for seznam.cz and seznamzpravy.cz (#14102, #14616) -* [dplay] Bypass geo restriction -+ [dplay] Add support for disco-api videos (#15396) -* [youtube] Extract precise error messages (#15284) -* [teachertube] Capture and output error message -* [teachertube] Fix and relax thumbnail extraction (#15403) -+ [prosiebensat1] Add another clip id regular expression (#15378) -* [tbs] Update tokenizer url (#15395) -* [mixcloud] Use compat_b64decode (#15394) -- [thesixtyone] Remove extractor (#15341) - - -version 2018.01.21 - -Core -* [extractor/common] Improve jwplayer DASH formats extraction (#9242, #15187) -* [utils] Improve scientific notation handling in js_to_json (#14789) - -Extractors -+ [southparkdk] Add support for southparkstudios.nu -+ [southpark] Add support for collections (#14803) -* [franceinter] Fix upload date extraction (#14996) -+ [rtvs] Add support for rtvs.sk (#9242, #15187) -* [restudy] Fix extraction and extend URL regular expression (#15347) -* [youtube:live] Improve live detection (#15365) -+ [springboardplatform] Add support for springboardplatform.com -* [prosiebensat1] Add another clip id regular expression (#15290) -- [ringtv] Remove extractor (#15345) - - -version 2018.01.18 - -Extractors -* [soundcloud] Update client id (#15306) -- [kamcord] Remove extractor (#15322) -+ [spiegel] Add support for nexx videos (#15285) -* [twitch] Fix authentication and error capture (#14090, #15264) -* [vk] Detect more errors due to copyright complaints (#15259) - - -version 2018.01.14 - -Extractors -* [youtube] Fix live streams extraction (#15202) -* [wdr] Bypass geo restriction -* [wdr] Rework extractors (#14598) -+ [wdr] Add support for wdrmaus.de/elefantenseite (#14598) -+ [gamestar] Add support for gamepro.de (#3384) -* [viafree] Skip rtmp formats (#15232) -+ [pandoratv] Add support for mobile URLs (#12441) -+ [pandoratv] Add support for new URL format (#15131) -+ [ximalaya] Add support for ximalaya.com (#14687) -+ [digg] Add support for digg.com (#15214) -* [limelight] Tolerate empty pc formats (#15150, #15151, #15207) -* [ndr:embed:base] Make separate formats extraction non fatal (#15203) -+ [weibo] Add extractor (#15079) -+ [ok] Add support for live streams -* [canalplus] Fix extraction (#15072) -* [bilibili] Fix extraction (#15188) - - -version 2018.01.07 - -Core -* [utils] Fix youtube-dl under PyPy3 on Windows -* [YoutubeDL] Output python implementation in debug header - -Extractors -+ [jwplatform] Add support for multiple embeds (#15192) -* [mitele] Fix extraction (#15186) -+ [motherless] Add support for groups (#15124) -* [lynda] Relax URL regular expression (#15185) -* [soundcloud] Fallback to avatar picture for thumbnail (#12878) -* [youku] Fix list extraction (#15135) -* [openload] Fix extraction (#15166) -* [lynda] Skip invalid subtitles (#15159) -* [twitch] Pass video id to url_result when extracting playlist (#15139) -* [rtve.es:alacarta] Fix extraction of some new URLs -* [acast] Fix extraction (#15147) - - -version 2017.12.31 - -Core -+ [extractor/common] Add container meta field for formats extracted - in _parse_mpd_formats (#13616) -+ [downloader/hls] Use HTTP headers for key request -* [common] Use AACL as the default fourcc when AudioTag is 255 -* [extractor/common] Fix extraction of DASH formats with the same - representation id (#15111) - -Extractors -+ [slutload] Add support for mobile URLs (#14806) -* [abc:iview] Bypass geo restriction -* [abc:iview] Fix extraction (#14711, #14782, #14838, #14917, #14963, #14985, - #15035, #15057, #15061, #15071, #15095, #15106) -* [openload] Fix extraction (#15118) -- [sandia] Remove extractor -- [collegerama] Remove extractor -+ [mediasite] Add support for sites based on Mediasite Video Platform (#5428, - #11185, #14343) -+ [ufctv] Add support for ufc.tv (#14520) -* [pluralsight] Fix missing first line of subtitles (#11118) -* [openload] Fallback on f-page extraction (#14665, #14879) -* [vimeo] Improve password protected videos extraction (#15114) -* [aws] Fix canonical/signed headers generation on python 2 (#15102) - - -version 2017.12.28 - -Extractors -+ [internazionale] Add support for internazionale.it (#14973) -* [playtvak] Relax video regular expression and make description optional - (#15037) -+ [filmweb] Add support for filmweb.no (#8773, #10368) -+ [23video] Add support for 23video.com -+ [espn] Add support for fivethirtyeight.com (#6864) -+ [umg:de] Add support for universal-music.de (#11582, #11584) -+ [espn] Add support for espnfc and extract more formats (#8053) -* [youku] Update ccode (#14880) -+ [openload] Add support for oload.stream (#15070) -* [youku] Fix list extraction (#15065) - - -version 2017.12.23 - -Core -* [extractor/common] Move X-Forwarded-For setup code into _request_webpage -+ [YoutubeDL] Add support for playlist_uploader and playlist_uploader_id in - output template (#11427, #15018) -+ [extractor/common] Introduce uploader, uploader_id and uploader_url - meta fields for playlists (#11427, #15018) -* [downloader/fragment] Encode filename of fragment being removed (#15020) -+ [utils] Add another date format pattern (#14999) - -Extractors -+ [kaltura] Add another embed pattern for entry_id -+ [7plus] Add support for 7plus.com.au (#15043) -* [animeondemand] Relax login error regular expression -+ [shahid] Add support for show pages (#7401) -+ [youtube] Extract uploader, uploader_id and uploader_url for playlists - (#11427, #15018) -* [afreecatv] Improve format extraction (#15019) -+ [cspan] Add support for audio only pages and catch page errors (#14995) -+ [mailru] Add support for embed URLs (#14904) -* [crunchyroll] Future-proof XML element checks (#15013) -* [cbslocal] Fix timestamp extraction (#14999, #15000) -* [discoverygo] Correct TTML subtitle extension -* [vk] Make view count optional (#14979) -* [disney] Skip Apple FairPlay formats (#14982) -* [voot] Fix format extraction (#14758) - - -version 2017.12.14 - -Core -* [postprocessor/xattr] Clarify NO_SPACE message (#14970) -* [downloader/http] Return actual download result from real_download (#14971) - -Extractors -+ [itv] Extract more subtitles and duration -* [itv] Improve extraction (#14944) -+ [byutv] Add support for geo restricted videos -* [byutv] Fix extraction (#14966, #14967) -+ [bbccouk] Fix extraction for 320k HLS streams -+ [toutv] Add support for special video URLs (#14179) -* [discovery] Fix free videos extraction (#14157, #14954) -* [tvnow] Fix extraction (#7831) -+ [nickelodeon:br] Add support for nickelodeon brazil websites (#14893) -* [nick] Improve extraction (#14876) -* [tbs] Fix extraction (#13658) - - -version 2017.12.10 - -Core -+ [utils] Add sami mimetype to mimetype2ext - -Extractors -* [culturebox] Improve video id extraction (#14947) -* [twitter] Improve extraction (#14197) -+ [udemy] Extract more HLS formats -* [udemy] Improve course id extraction (#14938) -+ [stretchinternet] Add support for portal.stretchinternet.com (#14576) -* [ellentube] Fix extraction (#14407, #14570) -+ [raiplay:playlist] Add support for playlists (#14563) -* [sonyliv] Bypass geo restriction -* [sonyliv] Extract higher quality formats (#14922) -* [fox] Extract subtitles -+ [fox] Add support for Adobe Pass authentication (#14205, #14489) -- [dailymotion:cloud] Remove extractor (#6794) -* [xhamster] Fix thumbnail extraction (#14780) -+ [xhamster] Add support for mobile URLs (#14780) -* [generic] Don't pass video id as mpd id while extracting DASH (#14902) -* [ard] Skip invalid stream URLs (#14906) -* [porncom] Fix metadata extraction (#14911) -* [pluralsight] Detect agreement request (#14913) -* [toutv] Fix login (#14614) - - -version 2017.12.02 - -Core -+ [downloader/fragment] Commit part file after each fragment -+ [extractor/common] Add durations for DASH fragments with bare SegmentURLs -+ [extractor/common] Add support for DASH manifests with SegmentLists with - bare SegmentURLs (#14844) -+ [utils] Add hvc1 codec code to parse_codecs - -Extractors -* [xhamster] Fix extraction (#14884) -* [youku] Update ccode (#14872) -* [mnet] Fix format extraction (#14883) -+ [xiami] Add Referer header to API request -* [mtv] Correct scc extension in extracted subtitles (#13730) -* [vvvvid] Fix extraction for kenc videos (#13406) -+ [br] Add support for BR Mediathek videos (#14560, #14788) -+ [daisuki] Add support for motto.daisuki.com (#14681) -* [odnoklassniki] Fix API metadata request (#14862) -* [itv] Fix HLS formats extraction -+ [pbs] Add another media id regular expression - - -version 2017.11.26 - -Core -* [extractor/common] Use final URL when dumping request (#14769) - -Extractors -* [fczenit] Fix extraction -- [firstpost] Remove extractor -* [freespeech] Fix extraction -* [nexx] Extract more formats -+ [openload] Add support for openload.link (#14763) -* [empflix] Relax URL regular expression -* [empflix] Fix extraction -* [tnaflix] Don't modify download URLs (#14811) -- [gamersyde] Remove extractor -* [francetv:generationwhat] Fix extraction -+ [massengeschmacktv] Add support for Massengeschmack TV -* [fox9] Fix extraction -* [faz] Fix extraction and add support for Perform Group embeds (#14714) -+ [performgroup] Add support for performgroup.com -+ [jwplatform] Add support for iframes (#14828) -* [culturebox] Fix extraction (#14827) -* [youku] Fix extraction; update ccode (#14815) -* [livestream] Make SMIL extraction non fatal (#14792) -+ [drtuber] Add support for mobile URLs (#14772) -+ [spankbang] Add support for mobile URLs (#14771) -* [instagram] Fix description, timestamp and counters extraction (#14755) - - -version 2017.11.15 - -Core -* [common] Skip Apple FairPlay m3u8 manifests (#14741) -* [YoutubeDL] Fix playlist range optimization for --playlist-items (#14740) - -Extractors -* [vshare] Capture and output error message -* [vshare] Fix extraction (#14473) -* [crunchyroll] Extract old RTMP formats -* [tva] Fix extraction (#14736) -* [gamespot] Lower preference of HTTP formats (#14652) -* [instagram:user] Fix extraction (#14699) -* [ccma] Fix typo (#14730) -- Remove sensitive data from logging in messages -* [instagram:user] Fix extraction (#14699) -+ [gamespot] Add support for article URLs (#14652) -* [gamespot] Skip Brightcove Once HTTP formats (#14652) -* [cartoonnetwork] Update tokenizer_src (#14666) -+ [wsj] Recognize another URL pattern (#14704) -* [pandatv] Update API URL and sign format URLs (#14693) -* [crunchyroll] Use old login method (#11572) - - -version 2017.11.06 - -Core -+ [extractor/common] Add protocol for f4m formats -* [f4m] Prefer baseURL for relative URLs (#14660) -* [extractor/common] Respect URL query in _extract_wowza_formats (14645) - -Extractors -+ [hotstar:playlist] Add support for playlists (#12465) -* [hotstar] Bypass geo restriction (#14672) -- [22tracks] Remove extractor (#11024, #14628) -+ [skysport] Sdd support ooyala videos protected with embed_token (#14641) -* [gamespot] Extract formats referenced with new data fields (#14652) -* [spankbang] Detect unavailable videos (#14644) - - -version 2017.10.29 - -Core -* [extractor/common] Prefix format id for audio only HLS formats -+ [utils] Add support for zero years and months in parse_duration - -Extractors -* [egghead] Fix extraction (#14388) -+ [fxnetworks] Extract series metadata (#14603) -+ [younow] Add support for younow.com (#9255, #9432, #12436) -* [dctptv] Fix extraction (#14599) -* [youtube] Restrict embed regular expression (#14600) -* [vimeo] Restrict iframe embed regular expression (#14600) -* [soundgasm] Improve extraction (#14588) -- [myvideo] Remove extractor (#8557) -+ [nbc] Add support for classic-tv videos (#14575) -+ [vrtnu] Add support for cookies authentication and simplify (#11873) -+ [canvas] Add support for vrt.be/vrtnu (#11873) -* [twitch:clips] Fix title extraction (#14566) -+ [ndtv] Add support for sub-sites (#14534) -* [dramafever] Fix login error message extraction -+ [nick] Add support for more nickelodeon sites (no, dk, se, ch, fr, es, pt, - ro, hu) (#14553) - - -version 2017.10.20 - -Core -* [downloader/fragment] Report warning instead of error on inconsistent - download state -* [downloader/hls] Fix total fragments count when ad fragments exist - -Extractors -* [parliamentliveuk] Fix extraction (#14524) -* [soundcloud] Update client id (#14546) -+ [servus] Add support for servus.com (#14362) -+ [unity] Add support for unity3d.com (#14528) -* [youtube] Replace youtube redirect URLs in description (#14517) -* [pbs] Restrict direct video URL regular expression (#14519) -* [drtv] Respect preference for direct HTTP formats (#14509) -+ [eporner] Add support for embed URLs (#14507) -* [arte] Capture and output error message -* [niconico] Improve uploader metadata extraction robustness (#14135) - - -version 2017.10.15.1 - -Core -* [downloader/hls] Ignore anvato ad fragments (#14496) -* [downloader/fragment] Output ad fragment count - -Extractors -* [scrippsnetworks:watch] Bypass geo restriction -+ [anvato] Add ability to bypass geo restriction -* [redditr] Fix extraction for URLs with query (#14495) - - -version 2017.10.15 - -Core -+ [common] Add support for jwplayer youtube embeds - -Extractors -* [scrippsnetworks:watch] Fix extraction (#14389) -* [anvato] Process master m3u8 manifests -* [youtube] Fix relative URLs in description -* [spike] Bypass geo restriction -+ [howstuffworks] Add support for more domains -* [infoq] Fix http format downloading -+ [rtlnl] Add support for another type of embeds -+ [onionstudios] Add support for bulbs-video embeds -* [udn] Fix extraction -* [shahid] Fix extraction (#14448) -* [kaltura] Ignore Widevine encrypted video (.wvm) (#14471) -* [vh1] Fix extraction (#9613) - - -version 2017.10.12 - -Core -* [YoutubeDL] Improve _default_format_spec (#14461) - -Extractors -* [steam] Fix extraction (#14067) -+ [funk] Add support for funk.net (#14464) -+ [nexx] Add support for shortcuts and relax domain id extraction -+ [voxmedia] Add support for recode.net (#14173) -+ [once] Add support for vmap URLs -+ [generic] Add support for channel9 embeds (#14469) -* [tva] Fix extraction (#14328) -+ [tubitv] Add support for new URL format (#14460) -- [afreecatv:global] Remove extractor -- [youtube:shared] Removed extractor (#14420) -+ [slideslive] Add support for slideslive.com (#2680) -+ [facebook] Support thumbnails (#14416) -* [vvvvid] Fix episode number extraction (#14456) -* [hrti:playlist] Relax URL regular expression -* [wdr] Relax media link regular expression (#14447) -* [hrti] Relax URL regular expression (#14443) -* [fox] Delegate extraction to uplynk:preplay (#14147) -+ [youtube] Add support for hooktube.com (#14437) - - -version 2017.10.07 - -Core -* [YoutubeDL] Ignore duplicates in --playlist-items -* [YoutubeDL] Fix out of range --playlist-items for iterable playlists and - reduce code duplication (#14425) -+ [utils] Use cache in OnDemandPagedList by default -* [postprocessor/ffmpeg] Convert to opus using libopus (#14381) - -Extractors -* [reddit] Sort formats (#14430) -* [lnkgo] Relax URL regular expression (#14423) -* [pornflip] Extend URL regular expression (#14405, #14406) -+ [xtube] Add support for embed URLs (#14417) -+ [xvideos] Add support for embed URLs and improve extraction (#14409) -* [beeg] Fix extraction (#14403) -* [tvn24] Relax URL regular expression (#14395) -* [nbc] Fix extraction (#13651, #13715, #14137, #14198, #14312, #14314, #14378, - #14392, #14414, #14419, #14431) -+ [ketnet] Add support for videos without direct sources (#14377) -* [canvas] Generalize mediazone.vrt.be extractor and rework canvas and een -+ [afreecatv] Add support for adult videos (#14376) - - -version 2017.10.01 - -Core -* [YoutubeDL] Document youtube_include_dash_manifest - -Extractors -+ [tvp] Add support for new URL schema (#14368) -+ [generic] Add support for single format Video.js embeds (#14371) -* [yahoo] Bypass geo restriction for brightcove (#14210) -* [yahoo] Use extracted brightcove account id (#14210) -* [rtve:alacarta] Fix extraction (#14290) -+ [yahoo] Add support for custom brightcove embeds (#14210) -+ [generic] Add support for Video.js embeds -+ [gfycat] Add support for /gifs/detail URLs (#14322) -* [generic] Fix infinite recursion for twitter:player URLs (#14339) -* [xhamsterembed] Fix extraction (#14308) - - -version 2017.09.24 - -Core -+ [options] Accept lrc as a subtitle conversion target format (#14292) -* [utils] Fix handling raw TTML subtitles (#14191) - -Extractors -* [24video] Fix timestamp extraction and make non fatal (#14295) -+ [24video] Add support for 24video.adult (#14295) -+ [kakao] Add support for tv.kakao.com (#12298, #14007) -+ [twitter] Add support for URLs without user id (#14270) -+ [americastestkitchen] Add support for americastestkitchen.com (#10764, - #13996) -* [generic] Fix support for multiple HTML5 videos on one page (#14080) -* [mixcloud] Fix extraction (#14088, #14132) -+ [lynda] Add support for educourse.ga (#14286) -* [beeg] Fix extraction (#14275) -* [nbcsports:vplayer] Correct theplatform URL (#13873) -* [twitter] Fix duration extraction (#14141) -* [tvplay] Bypass geo restriction -+ [heise] Add support for YouTube embeds (#14109) -+ [popcorntv] Add support for popcorntv.it (#5914, #14211) -* [viki] Update app data (#14181) -* [morningstar] Relax URL regular expression (#14222) -* [openload] Fix extraction (#14225, #14257) -* [noovo] Fix extraction (#14214) -* [dailymotion:playlist] Relax URL regular expression (#14219) -+ [twitch] Add support for go.twitch.tv URLs (#14215) -* [vgtv] Relax URL regular expression (#14223) - - -version 2017.09.15 - -Core -* [downloader/fragment] Restart inconsistent incomplete fragment downloads - (#13731) -* [YoutubeDL] Download raw subtitles files (#12909, #14191) - -Extractors -* [condenast] Fix extraction (#14196, #14207) -+ [orf] Add support for f4m stories -* [tv4] Relax URL regular expression (#14206) -* [animeondemand] Bypass geo restriction -+ [animeondemand] Add support for flash videos (#9944) - - -version 2017.09.11 - -Extractors -* [rutube:playlist] Fix suitable (#14166) - - -version 2017.09.10 - -Core -+ [utils] Introduce bool_or_none -* [YoutubeDL] Ensure dir existence for each requested format (#14116) - -Extractors -* [fox] Fix extraction (#14147) -* [rutube] Use bool_or_none -* [rutube] Rework and generalize playlist extractors (#13565) -+ [rutube:playlist] Add support for playlists (#13534, #13565) -+ [radiocanada] Add fallback for title extraction (#14145) -* [vk] Use dedicated YouTube embeds extraction routine -* [vice] Use dedicated YouTube embeds extraction routine -* [cracked] Use dedicated YouTube embeds extraction routine -* [chilloutzone] Use dedicated YouTube embeds extraction routine -* [abcnews] Use dedicated YouTube embeds extraction routine -* [youtube] Separate methods for embeds extraction -* [redtube] Fix formats extraction (#14122) -* [arte] Relax unavailability check (#14112) -+ [manyvids] Add support for preview videos from manyvids.com (#14053, #14059) -* [vidme:user] Relax URL regular expression (#14054) -* [bpb] Fix extraction (#14043, #14086) -* [soundcloud] Fix download URL with private tracks (#14093) -* [aliexpress:live] Add support for live.aliexpress.com (#13698, #13707) -* [viidea] Capture and output lecture error message (#14099) -* [radiocanada] Skip unsupported platforms (#14100) - - -version 2017.09.02 - -Extractors -* [youtube] Force old layout for each webpage (#14068, #14072, #14074, #14076, - #14077, #14079, #14082, #14083, #14094, #14095, #14096) -* [youtube] Fix upload date extraction (#14065) -+ [charlierose] Add support for episodes (#14062) -+ [bbccouk] Add support for w-prefixed ids (#14056) -* [googledrive] Extend URL regular expression (#9785) -+ [googledrive] Add support for source format (#14046) -* [pornhd] Fix extraction (#14005) - - -version 2017.08.27.1 - -Extractors - -* [youtube] Fix extraction with --youtube-skip-dash-manifest enabled (#14037) - - -version 2017.08.27 - -Core -+ [extractor/common] Extract height and format id for HTML5 videos (#14034) -* [downloader/http] Rework HTTP downloader (#506, #809, #2849, #4240, #6023, - #8625, #9483) - * 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 - * Show error description on retry - -Extractors -* [generic] Lower preference for extraction from LD-JSON -* [rai] Fix audio formats extraction (#14024) -* [youtube] Fix controversy videos extraction (#14027, #14029) -* [mixcloud] Fix extraction (#14015, #14020) - - -version 2017.08.23 - -Core -+ [extractor/common] Introduce _parse_xml -* [extractor/common] Make HLS and DASH extraction in_parse_html5_media_entries - non fatal (#13970) -* [utils] Fix unescapeHTML for misformed string like "&a"" (#13935) - -Extractors -* [cbc:watch] Bypass geo restriction (#13993) -* [toutv] Relax DRM check (#13994) -+ [googledrive] Add support for subtitles (#13619, #13638) -* [pornhub] Relax uploader regular expression (#13906, #13975) -* [bandcamp:album] Extract track titles (#13962) -+ [bbccouk] Add support for events URLs (#13893) -+ [liveleak] Support multi-video pages (#6542) -+ [liveleak] Support another liveleak embedding pattern (#13336) -* [cda] Fix extraction (#13935) -+ [laola1tv] Add support for tv.ittf.com (#13965) -* [mixcloud] Fix extraction (#13958, #13974, #13980, #14003) - - -version 2017.08.18 - -Core -* [YoutubeDL] Sanitize byte string format URLs (#13951) -+ [extractor/common] Add support for float durations in _parse_mpd_formats - (#13919) - -Extractors -* [arte] Detect unavailable videos (#13945) -* [generic] Convert redirect URLs to unicode strings (#13951) -* [udemy] Fix paid course detection (#13943) -* [pluralsight] Use RPC API for course extraction (#13937) -+ [clippit] Add support for clippituser.tv -+ [qqmusic] Support new URL schemes (#13805) -* [periscope] Renew HLS extraction (#13917) -* [mixcloud] Extract decrypt key - - -version 2017.08.13 - -Core -* [YoutubeDL] Make sure format id is not empty -* [extractor/common] Make _family_friendly_search optional -* [extractor/common] Respect source's type attribute for HTML5 media (#13892) - -Extractors -* [pornhub:playlistbase] Skip videos from drop-down menu (#12819, #13902) -+ [fourtube] Add support pornerbros.com (#6022) -+ [fourtube] Add support porntube.com (#7859, #13901) -+ [fourtube] Add support fux.com -* [limelight] Improve embeds detection (#13895) -+ [reddit] Add support for v.redd.it and reddit.com (#13847) -* [aparat] Extract all formats (#13887) -* [mixcloud] Fix play info decryption (#13885) -+ [generic] Add support for vzaar embeds (#13876) - - -version 2017.08.09 - -Core -* [utils] Skip missing params in cli_bool_option (#13865) - -Extractors -* [xxxymovies] Fix title extraction (#13868) -+ [nick] Add support for nick.com.pl (#13860) -* [mixcloud] Fix play info decryption (#13867) -* [20min] Fix embeds extraction (#13852) -* [dplayit] Fix extraction (#13851) -+ [niconico] Support videos with multiple formats (#13522) -+ [niconico] Support HTML5-only videos (#13806) - - -version 2017.08.06 - -Core -* Use relative paths for DASH fragments (#12990) - -Extractors -* [pluralsight] Fix format selection -- [mpora] Remove extractor (#13826) -+ [voot] Add support for voot.com (#10255, #11644, #11814, #12350, #13218) -* [vlive:channel] Limit number of videos per page to 100 (#13830) -* [podomatic] Extend URL regular expression (#13827) -* [cinchcast] Extend URL regular expression -* [yandexdisk] Relax URL regular expression (#13824) -* [vidme] Extract DASH and HLS formats -- [teamfour] Remove extractor (#13782) -* [pornhd] Fix extraction (#13783) -* [udemy] Fix subtitles extraction (#13812) -* [mlb] Extend URL regular expression (#13740, #13773) -+ [pbs] Add support for new URL schema (#13801) -* [nrktv] Update API host (#13796) - - -version 2017.07.30.1 - -Core -* [downloader/hls] Use redirect URL as manifest base (#13755) -* [options] Correctly hide login info from debug outputs (#13696) - -Extractors -+ [watchbox] Add support for watchbox.de (#13739) -- [clipfish] Remove extractor -+ [youjizz] Fix extraction (#13744) -+ [generic] Add support for another ooyala embed pattern (#13727) -+ [ard] Add support for lives (#13771) -* [soundcloud] Update client id -+ [soundcloud:trackstation] Add support for track stations (#13733) -* [svtplay] Use geo verification proxy for API request -* [svtplay] Update API URL (#13767) -+ [yandexdisk] Add support for yadi.sk (#13755) -+ [megaphone] Add support for megaphone.fm -* [amcnetworks] Make rating optional (#12453) -* [cloudy] Fix extraction (#13737) -+ [nickru] Add support for nickelodeon.ru -* [mtv] Improve thumbnail extraction -* [nick] Automate geo-restriction bypass (#13711) -* [niconico] Improve error reporting (#13696) - - -version 2017.07.23 - -Core -* [YoutubeDL] Improve default format specification (#13704) -* [YoutubeDL] Do not override id, extractor and extractor_key for - url_transparent entities -* [extractor/common] Fix playlist_from_matches - -Extractors -* [itv] Fix production id extraction (#13671, #13703) -* [vidio] Make duration non fatal and fix typo -* [mtv] Skip missing video parts (#13690) -* [sportbox:embed] Fix extraction -+ [npo] Add support for npo3.nl URLs (#13695) -* [dramafever] Remove video id from title (#13699) -+ [egghead:lesson] Add support for lessons (#6635) -* [funnyordie] Extract more metadata (#13677) -* [youku:show] Fix playlist extraction (#13248) -+ [dispeak] Recognize sevt subdomain (#13276) -* [adn] Improve error reporting (#13663) -* [crunchyroll] Relax series and season regular expression (#13659) -+ [spiegel:article] Add support for nexx iframe embeds (#13029) -+ [nexx:embed] Add support for iframe embeds -* [nexx] Improve JS embed extraction -+ [pearvideo] Add support for pearvideo.com (#13031) - - -version 2017.07.15 - -Core -* [YoutubeDL] Don't expand environment variables in meta fields (#13637) - -Extractors -* [spiegeltv] Delegate extraction to nexx extractor (#13159) -+ [nexx] Add support for nexx.cloud (#10807, #13465) -* [generic] Fix rutube embeds extraction (#13641) -* [karrierevideos] Fix title extraction (#13641) -* [youtube] Don't capture YouTube Red ad for creator meta field (#13621) -* [slideshare] Fix extraction (#13617) -+ [5tv] Add another video URL pattern (#13354, #13606) -* [drtv] Make HLS and HDS extraction non fatal -* [ted] Fix subtitles extraction (#13628, #13629) -* [vine] Make sure the title won't be empty -+ [twitter] Support HLS streams in vmap URLs -+ [periscope] Support pscp.tv URLs in embedded frames -* [twitter] Extract mp4 urls via mobile API (#12726) -* [niconico] Fix authentication error handling (#12486) -* [giantbomb] Extract m3u8 formats (#13626) -+ [vlive:playlist] Add support for playlists (#13613) - - -version 2017.07.09 - -Core -+ [extractor/common] Add support for AMP tags in _parse_html5_media_entries -+ [utils] Support attributes with no values in get_elements_by_attribute - -Extractors -+ [dailymail] Add support for embeds -+ [joj] Add support for joj.sk (#13268) -* [abc.net.au:iview] Extract more formats (#13492, #13489) -* [egghead:course] Fix extraction (#6635, #13370) -+ [cjsw] Add support for cjsw.com (#13525) -+ [eagleplatform] Add support for referrer protected videos (#13557) -+ [eagleplatform] Add support for another embed pattern (#13557) -* [veoh] Extend URL regular expression (#13601) -* [npo:live] Fix live stream id extraction (#13568, #13605) -* [googledrive] Fix height extraction (#13603) -+ [dailymotion] Add support for new layout (#13580) -- [yam] Remove extractor -* [xhamster] Extract all formats and fix duration extraction (#13593) -+ [xhamster] Add support for new URL schema (#13593) -* [espn] Extend URL regular expression (#13244, #13549) -* [kaltura] Fix typo in subtitles extraction (#13569) -* [vier] Adapt extraction to redesign (#13575) - - -version 2017.07.02 - -Core -* [extractor/common] Improve _json_ld - -Extractors -+ [thisoldhouse] Add more fallbacks for video id -* [thisoldhouse] Fix video id extraction (#13540, #13541) -* [xfileshare] Extend format regular expression (#13536) -* [ted] Fix extraction (#13535) -+ [tastytrade] Add support for tastytrade.com (#13521) -* [dplayit] Relax video id regular expression (#13524) -+ [generic] Extract more generic metadata (#13527) -+ [bbccouk] Capture and output error message (#13501, #13518) -* [cbsnews] Relax video info regular expression (#13284, #13503) -+ [facebook] Add support for plugin video embeds and multiple embeds (#13493) -* [soundcloud] Switch to https for API requests (#13502) -* [pandatv] Switch to https for API and download URLs -+ [pandatv] Add support for https URLs (#13491) -+ [niconico] Support sp subdomain (#13494) - - -version 2017.06.25 - -Core -+ [adobepass] Add support for DIRECTV NOW (mso ATTOTT) (#13472) -* [YoutubeDL] Skip malformed formats for better extraction robustness - -Extractors -+ [wsj] Add support for barrons.com (#13470) -+ [ign] Add another video id pattern (#13328) -+ [raiplay:live] Add support for live streams (#13414) -+ [redbulltv] Add support for live videos and segments (#13486) -+ [onetpl] Add support for videos embedded via pulsembed (#13482) -* [ooyala] Make more robust -* [ooyala] Skip empty format URLs (#13471, #13476) -* [hgtv.com:show] Fix typo - - -version 2017.06.23 - -Core -* [adobepass] Fix extraction on older python 2.6 - -Extractors -* [youtube] Adapt to new automatic captions rendition (#13467) -* [hgtv.com:show] Relax video config regular expression (#13279, #13461) -* [drtuber] Fix formats extraction (#12058) -* [youporn] Fix upload date extraction -* [youporn] Improve formats extraction -* [youporn] Fix title extraction (#13456) -* [googledrive] Fix formats sorting (#13443) -* [watchindianporn] Fix extraction (#13411, #13415) -+ [vimeo] Add fallback mp4 extension for original format -+ [ruv] Add support for ruv.is (#13396) -* [viu] Fix extraction on older python 2.6 -* [pandora.tv] Fix upload_date extraction (#12846) -+ [asiancrush] Add support for asiancrush.com (#13420) - - -version 2017.06.18 - -Core -* [downloader/common] Use utils.shell_quote for debug command line -* [utils] Use compat_shlex_quote in shell_quote -* [postprocessor/execafterdownload] Encode command line (#13407) -* [compat] Fix compat_shlex_quote on Windows (#5889, #10254) -* [postprocessor/metadatafromtitle] Fix missing optional meta fields processing - in --metadata-from-title (#13408) -* [extractor/common] Fix json dumping with --geo-bypass -+ [extractor/common] Improve jwplayer subtitles extraction -+ [extractor/common] Improve jwplayer formats extraction (#13379) - -Extractors -* [polskieradio] Fix extraction (#13392) -+ [xfileshare] Add support for fastvideo.me (#13385) -* [bilibili] Fix extraction of videos with double quotes in titles (#13387) -* [4tube] Fix extraction (#13381, #13382) -+ [disney] Add support for disneychannel.de (#13383) -* [npo] Improve URL regular expression (#13376) -+ [corus] Add support for showcase.ca -+ [corus] Add support for history.ca (#13359) - - -version 2017.06.12 - -Core -* [utils] Handle compat_HTMLParseError in extract_attributes (#13349) -+ [compat] Introduce compat_HTMLParseError -* [utils] Improve unified_timestamp -* [extractor/generic] Ensure format id is unicode string -* [extractor/common] Return unicode string from _match_id -+ [YoutubeDL] Sanitize more fields (#13313) - -Extractors -+ [xfileshare] Add support for rapidvideo.tv (#13348) -* [xfileshare] Modernize and pass Referer -+ [rutv] Add support for testplayer.vgtrk.com (#13347) -+ [newgrounds] Extract more metadata (#13232) -+ [newgrounds:playlist] Add support for playlists (#10611) -* [newgrounds] Improve formats and uploader extraction (#13346) -* [msn] Fix formats extraction -* [turbo] Ensure format id is string -* [sexu] Ensure height is int -* [jove] Ensure comment count is int -* [golem] Ensure format id is string -* [gfycat] Ensure filesize is int -* [foxgay] Ensure height is int -* [flickr] Ensure format id is string -* [sohu] Fix numeric fields -* [safari] Improve authentication detection (#13319) -* [liveleak] Ensure height is int (#13313) -* [streamango] Make title optional (#13292) -* [rtlnl] Improve URL regular expression (#13295) -* [tvplayer] Fix extraction (#13291) - - -version 2017.06.05 - -Core -* [YoutubeDL] Don't emit ANSI escape codes on Windows (#13270) - -Extractors -+ [bandcamp:weekly] Add support for bandcamp weekly (#12758) -* [pornhub:playlist] Fix extraction (#13281) -- [godtv] Remove extractor (#13175) -* [safari] Fix typo (#13252) -* [youtube] Improve chapters extraction (#13247) -* [1tv] Lower preference for HTTP formats (#13246) -* [francetv] Relax URL regular expression -* [drbonanza] Fix extraction (#13231) -* [packtpub] Fix authentication (#13240) - - -version 2017.05.29 - -Extractors -* [youtube] Fix DASH MPD extraction for videos with non-encrypted format URLs - (#13211) -* [xhamster] Fix uploader and like/dislike count extraction (#13216)) -+ [xhamster] Extract categories (#11728) -+ [abcnews] Add support for embed URLs (#12851) -* [gaskrank] Fix extraction (#12493) -* [medialaan] Fix videos with missing videoUrl (#12774) -* [dvtv] Fix playlist support -+ [dvtv] Add support for DASH and HLS formats (#3063) -+ [beam:vod] Add support for beam.pro/mixer.com VODs (#13032)) -* [cbsinteractive] Relax URL regular expression (#13213) -* [adn] Fix formats extraction -+ [youku] Extract more metadata (#10433) -* [cbsnews] Fix extraction (#13205) - - -version 2017.05.26 - -Core -+ [utils] strip_jsonp() can recognize more patterns -* [postprocessor/ffmpeg] Fix metadata filename handling on Python 2 (#13182) - -Extractors -+ [youtube] DASH MPDs with cipher signatures are recognized now (#11381) -+ [bbc] Add support for authentication -* [tudou] Merge into youku extractor (#12214) -* [youku:show] Fix extraction -* [youku] Fix extraction (#13191) -* [udemy] Fix extraction for outputs' format entries without URL (#13192) -* [vimeo] Fix formats' sorting (#13189) -* [cbsnews] Fix extraction for 60 Minutes videos (#12861) - - -version 2017.05.23 - -Core -+ [downloader/external] Pass -loglevel to ffmpeg downloader (#13183) -+ [adobepass] Add support for Bright House Networks (#13149) - -Extractors -+ [streamcz] Add support for subtitles (#13174) -* [youtube] Fix DASH manifest signature decryption (#8944, #13156) -* [toggle] Relax URL regular expression (#13172) -* [toypics] Fix extraction (#13077) -* [njpwworld] Fix extraction (#13162, #13169) -+ [hitbox] Add support for smashcast.tv (#13154) -* [mitele] Update app key regular expression (#13158) - - -version 2017.05.18.1 - -Core -* [jsinterp] Fix typo and cleanup regular expressions (#13134) - - -version 2017.05.18 - -Core -+ [jsinterp] Add support for quoted names and indexers (#13123, #13124, #13125, - #13126, #13128, #13129, #13130, #13131, #13132) -+ [extractor/common] Add support for schemeless URLs in _extract_wowza_formats - (#13088, #13092) -+ [utils] Recognize more audio codecs (#13081) - -Extractors -+ [vier] Extract more metadata (#12539) -* [vier] Improve extraction (#12801) - + Add support for authentication - * Bypass authentication when no credentials provided - * Improve extraction robustness -* [dailymail] Fix sources extraction (#13057) -* [dailymotion] Extend URL regular expression (#13079) - - -version 2017.05.14 - -Core -+ [extractor/common] Respect Width and Height attributes in ISM manifests -+ [postprocessor/metadatafromtitle] Add support regular expression syntax for - --metadata-from-title (#13065) - -Extractors -+ [mediaset] Add support for video.mediaset.it (#12708, #12964) -* [orf:radio] Fix extraction (#11643, #12926) -* [aljazeera] Extend URL regular expression (#13053) -* [imdb] Relax URL regular expression (#13056) -+ [francetv] Add support for mobile.france.tv (#13068) -+ [upskill] Add support for upskillcourses.com (#13043) -* [thescene] Fix extraction (#13061) -* [condenast] Improve embed support -* [liveleak] Fix extraction (#12053) -+ [douyu] Support Douyu shows (#12228) -* [myspace] Improve URL regular expression (#13040) -* [adultswim] Use desktop platform in assets URL (#13041) - - -version 2017.05.09 - -Core -* [YoutubeDL] Force --restrict-filenames when no locale is set on all python - versions (#13027) - -Extractors -* [francetv] Adapt to site redesign (#13034) -+ [packtpub] Add support for authentication (#12622) -* [drtv] Lower preference for SignLanguage formats (#13013, #13016) -+ [cspan] Add support for brightcove live embeds (#13028) -* [vrv] Extract DASH formats and subtitles -* [funimation] Fix authentication (#13021) -* [adultswim] Fix extraction (#8640, #10950, #11042, #12121) - + Add support for Adobe Pass authentication - + Add support for live streams - + Add support for show pages -* [turner] Extract thumbnail, is_live and strip description -+ [nonktube] Add support for nonktube.com (#8647, #13024) -+ [nuevo] Pass headers to _extract_nuevo -* [nbc] Improve extraction (#12364) - - -version 2017.05.07 - -Common -* [extractor/common] Fix typo in _extract_akamai_formats -+ [postprocessor/ffmpeg] Embed chapters into media file with --add-metadata -+ [extractor/common] Introduce chapters meta field - -Extractors -* [youtube] Fix authentication (#12820, #12927, #12973, #12992, #12993, #12995, - #13003) -* [bilibili] Fix video downloading (#13001) -* [rmcdecouverte] Fix extraction (#12937) -* [theplatform] Extract chapters -* [bandcamp] Fix thumbnail extraction (#12980) -* [pornhub] Extend URL regular expression (#12996) -+ [youtube] Extract chapters -+ [nrk] Extract chapters -+ [vice] Add support for ooyala embeds in article pages -+ [vice] Support vice articles (#12968) -* [vice] Fix extraction for non en_us videos (#12967) -* [gdcvault] Fix extraction for some videos (#12733) -* [pbs] Improve multipart video support (#12981) -* [laola1tv] Fix extraction (#12880) -+ [cda] Support birthday verification (#12789) -* [leeco] Fix extraction (#12974) -+ [pbs] Extract chapters -* [amp] Improve thumbnail and subtitles extraction -* [foxsports] Fix extraction (#12945) -- [coub] Remove comment count extraction (#12941) - - -version 2017.05.01 - -Core -+ [extractor/common] Extract view count from JSON-LD -* [utils] Improve unified_timestamp -+ [utils] Add video/mp2t to mimetype2ext -* [downloader/external] Properly handle live stream downloading cancellation - (#8932) -+ [utils] Add support for unicode whitespace in clean_html on python 2 (#12906) - -Extractors -* [infoq] Make audio format extraction non fatal (#12938) -* [brightcove] Allow whitespace around attribute names in embedded code -+ [zaq1] Add support for zaq1.pl (#12693) -+ [xvideos] Extract duration (#12828) -* [vevo] Fix extraction (#12879) -+ [noovo] Add support for noovo.ca (#12792) -+ [washingtonpost] Add support for embeds (#12699) -* [yandexmusic:playlist] Fix extraction for python 3 (#12888) -* [anvato] Improve extraction (#12913) - * Promote to regular shortcut based extractor - * Add mcp to access key mapping table - * Add support for embeds extraction - * Add support for anvato embeds in generic extractor -* [xtube] Fix extraction for older FLV videos (#12734) -* [tvplayer] Fix extraction (#12908) - - -version 2017.04.28 - -Core -+ [adobepass] Use geo verification headers for all requests -- [downloader/fragment] Remove assert for resume_len when no fragments - downloaded -+ [extractor/common] Add manifest_url for explicit group rendition formats -* [extractor/common] Fix manifest_url for m3u8 formats -- [extractor/common] Don't list master m3u8 playlists in format list (#12832) - -Extractor -* [aenetworks] Fix extraction for shows with single season -+ [go] Add support for Disney, DisneyJunior and DisneyXD show pages -* [youtube] Recognize new locale-based player URLs (#12885) -+ [streamable] Add support for new embedded URL schema (#12844) -* [arte:+7] Relax URL regular expression (#12837) - - -version 2017.04.26 - -Core -* Introduce --keep-fragments for keeping fragments of fragmented download - on disk after download is finished -* [YoutubeDL] Fix output template for missing timestamp (#12796) -* [socks] Handle cases where credentials are required but missing -* [extractor/common] Improve HLS extraction (#12211) - * Extract m3u8 parsing to separate method - * Improve rendition groups extraction - * Build stream name according stream GROUP-ID - * Ignore reference to AUDIO group without URI when stream has no CODECS - * Use float for scaled tbr in _parse_m3u8_formats -* [utils] Add support for TTML styles in dfxp2srt -* [downloader/hls] No need to download keys for fragments that have been - already downloaded -* [downloader/fragment] Improve fragment downloading - * Resume immediately - * Don't concatenate fragments and decrypt them on every resume - * Optimize disk storage usage, don't store intermediate fragments on disk - * Store bookkeeping download state file -+ [extractor/common] Add support for multiple getters in try_get -+ [extractor/common] Add support for video of WebPage context in _json_ld - (#12778) -+ [extractor/common] Relax JWPlayer regular expression and remove - duplicate URLs (#12768) - -Extractors -* [iqiyi] Fix extraction of Yule videos -* [vidio] Improve extraction and sort formats -+ [brightcove] Match only video elements with data-video-id attribute -* [iqiyi] Fix playlist detection (#12504) -- [azubu] Remove extractor (#12813) -* [porn91] Fix extraction (#12814) -* [vidzi] Fix extraction (#12793) -+ [amp] Extract error message (#12795) -+ [xfileshare] Add support for gorillavid.com and daclips.com (#12776) -* [instagram] Fix extraction (#12777) -+ [generic] Support Brightcove videos in