Repository: yt-dlp
Issue: [itv] Broken
Labels: account-needed,site-bug

### Checklist

- [X] I'm reporting a bug unrelated to a specific site
- [X] I've verified that I'm running yt-dlp version **2022.01.21**. ([update instructions](https://github.com/yt-dlp/yt-dlp#update))
- [X] I've checked that all provided URLs are alive and playable in a browser
- [X] I've checked that all URLs and arguments with special characters are [properly quoted or escaped](https://github.com/ytdl-org/youtube-dl#video-url-contains-an-ampersand-and-im-getting-some-strange-output-1-2839-or-v-is-not-recognized-as-an-internal-or-external-command)
- [X] I've searched the [bugtracker](https://github.com/yt-dlp/yt-dlp/issues?q=) for similar issues including closed ones. DO NOT post duplicates
- [X] I've read the [guidelines for opening an issue](https://github.com/yt-dlp/yt-dlp/blob/master/CONTRIBUTING.md#opening-an-issue)

### Description

Hi, I have trouble downloading `itv` videos. Specifically this video - https://www.itv.com/hub/gordon-gino-and-fred-road-trip/2a5838a0009

I use Surfshark set to `UK`

The command is `yt-dlp --username <username> --password <password> https://www.itv.com/hub/gordon-gino-and-fred-road-trip/2a5838a0009 --verbose`

I'm able to stream the video on browser with the credentials. yt-dlp downloaded 4.2% of the video and then ends up throwing these errors when re-run

### Verbose log

```shell
[debug] Command-line config: ['--username', 'PRIVATE', '--password', 'PRIVATE', 'https://www.itv.com/hub/gordon-gino-and-fred-road-trip/2a5838a0009', '--verbose', '-Uv']
[debug] Encodings: locale UTF-8, fs utf-8, out utf-8, err utf-8, pref UTF-8
[debug] yt-dlp version 2022.01.21 [f20d607b0]
[debug] Python version 3.10.1 (CPython 64bit) - macOS-12.1-arm64-arm-64bit
[debug] exe versions: none
[debug] Optional libraries: Cryptodome, mutagen, sqlite, websockets
[debug] Proxy map: {}
Latest version: 2022.01.21, Current version: 2022.01.21
yt-dlp is up to date (2022.01.21)
[debug] Using fake IP 25.120.50.87 (GB) as X-Forwarded-For
[debug] [ITV] Extracting URL: https://www.itv.com/hub/gordon-gino-and-fred-road-trip/2a5838a0009
[ITV] 2a5838a0009: Downloading webpage
[ITV] 2a5838a0009: Downloading JSON metadata
[ITV] 2a5838a0009: Downloading m3u8 information
[debug] Formats sorted by: hasvid, ie_pref, lang, quality, res, fps, hdr:12(7), vcodec:vp9.2(10), acodec, filesize, fs_approx, tbr, vbr, abr, asr, proto, vext, aext, hasaud, source, id
[debug] Default format spec: best/bestvideo+bestaudio
[info] 2a5838a0009: Downloading 1 format(s): hls-1908
[debug] Invoking downloader on "https://itvpnpmobile.content.itv.com/2-5838-0009-001/6/1/VAR003/2-5838-0009-001_6_1_VAR003.ism/2-5838-0009-001_6_1_VAR003-audio=96000-video=1703916.m3u8"
[hlsnative] Downloading m3u8 manifest
ERROR: unable to download video data: <urlopen error EOF occurred in violation of protocol (_ssl.c:997)>
Traceback (most recent call last):
  File "/opt/homebrew/Cellar/python@3.10/3.10.1/Frameworks/Python.framework/Versions/3.10/lib/python3.10/urllib/request.py", line 1348, in do_open
    h.request(req.get_method(), req.selector, req.data, headers,
  File "/opt/homebrew/Cellar/python@3.10/3.10.1/Frameworks/Python.framework/Versions/3.10/lib/python3.10/http/client.py", line 1282, in request
    self._send_request(method, url, body, headers, encode_chunked)
  File "/opt/homebrew/Cellar/python@3.10/3.10.1/Frameworks/Python.framework/Versions/3.10/lib/python3.10/http/client.py", line 1328, in _send_request
    self.endheaders(body, encode_chunked=encode_chunked)
  File "/opt/homebrew/Cellar/python@3.10/3.10.1/Frameworks/Python.framework/Versions/3.10/lib/python3.10/http/client.py", line 1277, in endheaders
    self._send_output(message_body, encode_chunked=encode_chunked)
  File "/opt/homebrew/Cellar/python@3.10/3.10.1/Frameworks/Python.framework/Versions/3.10/lib/python3.10/http/client.py", line 1037, in _send_output
    self.send(msg)
  File "/opt/homebrew/Cellar/python@3.10/3.10.1/Frameworks/Python.framework/Versions/3.10/lib/python3.10/http/client.py", line 975, in send
    self.connect()
  File "/opt/homebrew/Cellar/python@3.10/3.10.1/Frameworks/Python.framework/Versions/3.10/lib/python3.10/http/client.py", line 1454, in connect
    self.sock = self._context.wrap_socket(self.sock,
  File "/opt/homebrew/Cellar/python@3.10/3.10.1/Frameworks/Python.framework/Versions/3.10/lib/python3.10/ssl.py", line 512, in wrap_socket
    return self.sslsocket_class._create(
  File "/opt/homebrew/Cellar/python@3.10/3.10.1/Frameworks/Python.framework/Versions/3.10/lib/python3.10/ssl.py", line 1070, in _create
    self.do_handshake()
  File "/opt/homebrew/Cellar/python@3.10/3.10.1/Frameworks/Python.framework/Versions/3.10/lib/python3.10/ssl.py", line 1341, in do_handshake
    self._sslobj.do_handshake()
ssl.SSLEOFError: EOF occurred in violation of protocol (_ssl.c:997)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/opt/homebrew/Cellar/yt-dlp/2022.1.21/libexec/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 3054, in process_info
    success, real_download = self.dl(temp_filename, info_dict)
  File "/opt/homebrew/Cellar/yt-dlp/2022.1.21/libexec/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 2769, in dl
    return fd.download(name, new_info, subtitle)
  File "/opt/homebrew/Cellar/yt-dlp/2022.1.21/libexec/lib/python3.10/site-packages/yt_dlp/downloader/common.py", line 440, in download
    ret = self.real_download(filename, info_dict)
  File "/opt/homebrew/Cellar/yt-dlp/2022.1.21/libexec/lib/python3.10/site-packages/yt_dlp/downloader/hls.py", line 68, in real_download
    urlh = self.ydl.urlopen(self._prepare_url(info_dict, man_url))
  File "/opt/homebrew/Cellar/yt-dlp/2022.1.21/libexec/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 3526, in urlopen
    return self._opener.open(req, timeout=self._socket_timeout)
  File "/opt/homebrew/Cellar/python@3.10/3.10.1/Frameworks/Python.framework/Versions/3.10/lib/python3.10/urllib/request.py", line 519, in open
    response = self._open(req, data)
  File "/opt/homebrew/Cellar/python@3.10/3.10.1/Frameworks/Python.framework/Versions/3.10/lib/python3.10/urllib/request.py", line 536, in _open
    result = self._call_chain(self.handle_open, protocol, protocol +
  File "/opt/homebrew/Cellar/python@3.10/3.10.1/Frameworks/Python.framework/Versions/3.10/lib/python3.10/urllib/request.py", line 496, in _call_chain
    result = func(*args)
  File "/opt/homebrew/Cellar/yt-dlp/2022.1.21/libexec/lib/python3.10/site-packages/yt_dlp/utils.py", line 1506, in https_open
    return self.do_open(functools.partial(
  File "/opt/homebrew/Cellar/python@3.10/3.10.1/Frameworks/Python.framework/Versions/3.10/lib/python3.10/urllib/request.py", line 1351, in do_open
    raise URLError(err)
urllib.error.URLError: <urlopen error EOF occurred in violation of protocol (_ssl.c:997)>
```