Repository: yt-dlp
Issue: Twitch sub-only VOD 2fa
Labels: site-enhancement

### Checklist

- [X] I'm reporting a feature request
- [X] I've verified that I'm running yt-dlp version **2021.11.10.1**. ([update instructions](https://github.com/yt-dlp/yt-dlp#update))
- [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

New Feature: Add ability to input Login Verification Code for Twitch sub-only VODs.

When trying to download Twitch sub-only VODs, you get prompted for either a validation code (sent via email) or for captcha or both. Without this, even with cookies and login info, you cannot access the video. 

```
PS > yt-dlp https://www.twitch.tv/videos/1209571635 -Uv --username redacted --password redacted --cookies-from-browser vivaldi
[debug] Command-line config: ['https://www.twitch.tv/videos/1209571635', '-Uv', '--username', 'PRIVATE', '--password', 'PRIVATE', '--cookies-from-browser', 'vivaldi']
[Cookies] Extracting cookies from vivaldi
[debug] Extracting cookies from: "C:\Users\redacted\AppData\Local\Vivaldi\User Data\Default\Cookies"
[Cookies] Extracted 3212 cookies from vivaldi
[debug] Encodings: locale cp1252, fs utf-8, out utf-8, err utf-8, pref cp1252
[debug] yt-dlp version 2021.11.10.1
[debug] Python version 3.9.7 (CPython 64bit) - Windows-10-10.0.19043-SP0
[debug] exe versions: ffmpeg 4.4.1-essentials_build-www.gyan.dev (setts), ffprobe 4.4.1-essentials_build-www.gyan.dev
[debug] Optional libraries: Cryptodome, mutagen, sqlite, websockets
[debug] Proxy map: {}
yt-dlp is up to date (2021.11.10.1)
[twitch:vod] Downloading login page
[twitch:vod] Logging in
ERROR: [twitch:vod] 1209571635: Unable to login. Twitch said: Please enter a Login Verification Code.
Traceback (most recent call last):
  File "C:\Python39\lib\site-packages\yt_dlp\extractor\common.py", line 593, in extract
    self.initialize()
  File "C:\Python39\lib\site-packages\yt_dlp\extractor\common.py", line 501, in initialize
    self._real_initialize()
  File "C:\Python39\lib\site-packages\yt_dlp\extractor\twitch.py", line 58, in _real_initialize
    self._login()
  File "C:\Python39\lib\site-packages\yt_dlp\extractor\twitch.py", line 109, in _login
    redirect_page, handle = login_step(
  File "C:\Python39\lib\site-packages\yt_dlp\extractor\twitch.py", line 90, in login_step
    fail(error)
  File "C:\Python39\lib\site-packages\yt_dlp\extractor\twitch.py", line 66, in fail
    raise ExtractorError(
yt_dlp.utils.ExtractorError: Unable to login. Twitch said: Please enter a Login Verification Code.
Traceback (most recent call last):
  File "C:\Python39\lib\site-packages\yt_dlp\extractor\common.py", line 593, in extract
    self.initialize()
  File "C:\Python39\lib\site-packages\yt_dlp\extractor\common.py", line 501, in initialize
    self._real_initialize()
  File "C:\Python39\lib\site-packages\yt_dlp\extractor\twitch.py", line 58, in _real_initialize
    self._login()
  File "C:\Python39\lib\site-packages\yt_dlp\extractor\twitch.py", line 109, in _login
    redirect_page, handle = login_step(
  File "C:\Python39\lib\site-packages\yt_dlp\extractor\twitch.py", line 90, in login_step
    fail(error)
  File "C:\Python39\lib\site-packages\yt_dlp\extractor\twitch.py", line 66, in fail
    raise ExtractorError(
yt_dlp.utils.ExtractorError: Unable to login. Twitch said: Please enter a Login Verification Code.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Python39\lib\site-packages\yt_dlp\YoutubeDL.py", line 1311, in wrapper
    return func(self, *args, **kwargs)
  File "C:\Python39\lib\site-packages\yt_dlp\YoutubeDL.py", line 1336, in __extract_info
    ie_result = ie.extract(url)
  File "C:\Python39\lib\site-packages\yt_dlp\extractor\common.py", line 621, in extract
    raise type(e)(e.msg, **kwargs)
yt_dlp.utils.ExtractorError: [twitch:vod] 1209571635: Unable to login. Twitch said: Please enter a Login Verification Code.
```

```
PS > yt-dlp https://www.twitch.tv/videos/1209571635 -Uv --username redacted --password redacted --cookies-from-browser vivaldi
[debug] Command-line config: ['https://www.twitch.tv/videos/1209571635', '-Uv', '--username', 'PRIVATE', '--password', 'PRIVATE', '--cookies-from-browser', 'vivaldi']
[Cookies] Extracting cookies from vivaldi
[debug] Extracting cookies from: "C:\Users\redacted\AppData\Local\Vivaldi\User Data\Default\Cookies"
[Cookies] Extracted 3213 cookies from vivaldi
[debug] Encodings: locale cp1252, fs utf-8, out utf-8, err utf-8, pref cp1252
[debug] yt-dlp version 2021.11.10.1
[debug] Python version 3.9.7 (CPython 64bit) - Windows-10-10.0.19043-SP0
[debug] exe versions: ffmpeg 4.4.1-essentials_build-www.gyan.dev (setts), ffprobe 4.4.1-essentials_build-www.gyan.dev
[debug] Optional libraries: Cryptodome, mutagen, sqlite, websockets
[debug] Proxy map: {}
yt-dlp is up to date (2021.11.10.1)
[twitch:vod] Downloading login page
[twitch:vod] Logging in
ERROR: [twitch:vod] 1209571635: Unable to login. Twitch said: Please complete the CAPTCHA correctly.
Traceback (most recent call last):
  File "C:\Python39\lib\site-packages\yt_dlp\extractor\common.py", line 593, in extract
    self.initialize()
  File "C:\Python39\lib\site-packages\yt_dlp\extractor\common.py", line 501, in initialize
    self._real_initialize()
  File "C:\Python39\lib\site-packages\yt_dlp\extractor\twitch.py", line 58, in _real_initialize
    self._login()
  File "C:\Python39\lib\site-packages\yt_dlp\extractor\twitch.py", line 109, in _login
    redirect_page, handle = login_step(
  File "C:\Python39\lib\site-packages\yt_dlp\extractor\twitch.py", line 90, in login_step
    fail(error)
  File "C:\Python39\lib\site-packages\yt_dlp\extractor\twitch.py", line 66, in fail
    raise ExtractorError(
yt_dlp.utils.ExtractorError: Unable to login. Twitch said: Please complete the CAPTCHA correctly.
Traceback (most recent call last):
  File "C:\Python39\lib\site-packages\yt_dlp\extractor\common.py", line 593, in extract
    self.initialize()
  File "C:\Python39\lib\site-packages\yt_dlp\extractor\common.py", line 501, in initialize
    self._real_initialize()
  File "C:\Python39\lib\site-packages\yt_dlp\extractor\twitch.py", line 58, in _real_initialize
    self._login()
  File "C:\Python39\lib\site-packages\yt_dlp\extractor\twitch.py", line 109, in _login
    redirect_page, handle = login_step(
  File "C:\Python39\lib\site-packages\yt_dlp\extractor\twitch.py", line 90, in login_step
    fail(error)
  File "C:\Python39\lib\site-packages\yt_dlp\extractor\twitch.py", line 66, in fail
    raise ExtractorError(
yt_dlp.utils.ExtractorError: Unable to login. Twitch said: Please complete the CAPTCHA correctly.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Python39\lib\site-packages\yt_dlp\YoutubeDL.py", line 1311, in wrapper
    return func(self, *args, **kwargs)
  File "C:\Python39\lib\site-packages\yt_dlp\YoutubeDL.py", line 1336, in __extract_info
    ie_result = ie.extract(url)
  File "C:\Python39\lib\site-packages\yt_dlp\extractor\common.py", line 621, in extract
    raise type(e)(e.msg, **kwargs)
yt_dlp.utils.ExtractorError: [twitch:vod] 1209571635: Unable to login. Twitch said: Please complete the CAPTCHA correctly.
```