It's
this problem.
yt-dl has extraction and downloading phases. Subtitles are fetched like metadata in the extraction phase, so using the Python network stack with its 2011-ish SSL; ITV, he no like. The media files are fetched in the downloading phase, where
--prefer-ffmpeg
or
--external-downloader
apply, so allowing the TLS-1.2-challenged Python 2.7.1/OpenSSL 0.0.9 (IIRC) stack to be bypassed.
Let's bypass the old stack for extraction too, by spawning the latest
wget that, like
ffmpeg, has been linked with OpenSSL 1.1.1. Make sure you have
that version installed.
Acquire
fakehttp.py
from
here and put it in the yt-dl extractor directory with
extractor/itv.py
. Edit the latter by adding the import line from the linked post before line 22 (
class ITVIE(InfoExtractor):
). Profit?