[x] I've verified that I'm running youtube-dl version 2020.05.08
[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
[x] I've searched the bugtracker for similar issues including closed ones
Verbose log
I'm using a provider that doesn't have a MSO login. It fails with --cookies:
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['--verbose', 'https://www.nbc.com/the-profit/video/an-inside-look-kota-longboards/4117074', '--cookies', 'D:\\path\\to\\cookies.txt']
[debug] Encodings: locale cp1252, fs mbcs, out cp437, pref cp1252
[debug] youtube-dl version 2020.05.08
[debug] Python version 3.4.4 (CPython) - Windows-10-10.0.17763
[debug] exe versions: ffmpeg N-91481-gb8c4d2b2ed, ffprobe N-91481-gb8c4d2b2ed
[debug] Proxy map: {}
[NBC] 4117074: Downloading JSON metadata
ERROR: This video is only available for users of participating TV providers. Use --ap-mso to specify Adobe Pass Multiple-system operator Identifier and --ap-username and --ap-password or --netrc to provide account credentials.
Traceback (most recent call last):
File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmp4z7swgz7\build\youtube_dl\YoutubeDL.py", line 797, in extract_info
File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmp4z7swgz7\build\youtube_dl\extractor\common.py", line 530, in extract
File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmp4z7swgz7\build\youtube_dl\extractor\nbc.py", line 142, in _real_extract
File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmp4z7swgz7\build\youtube_dl\extractor\adobepass.py", line 1414, in _extract_mvpd_auth
File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmp4z7swgz7\build\youtube_dl\extractor\adobepass.py", line 1379, in raise_mvpd_required
youtube_dl.utils.ExtractorError: This video is only available for users of participating TV providers. Use --ap-mso to specify Adobe Pass Multiple-system operator Identifier and --ap-username and --ap-password or --netrc to provide account credentials.
Since this is just a page with an embedded ThePlayer iframe, document.getElementById('player').src reveals the source to the actual player instance:
The real log:
@dstftw this isn't a ffmpeg bug. I believe there are three things going on:
youtube-dl is telling ffmpeg to download ads. As you can see from the output above I did not pass --include-ads. This is not a ffmpeg bug.
It appears ThePlatform is splitting the program into multiple m3u8 files; the first one contains an ad, the program, and another ad. It looks like the program is just the original content that airs before the first commercial break. So I would expect the next m3u8 to contain the next segment of the program and another ad.
The 9 second video is probably due to the fact my media player doesn't realize that this is 3 different clips joined together. ffmpeg is effectively concating what is being piped in to it: a 480p ad, 1080p content, and a 720p ad. One video stream cannot be multiple resolutions, so my media player stops when the 480p stream ends, even though the video stream continues.
Checklist
Verbose log
I'm using a provider that doesn't have a MSO login. It fails with
--cookies
:Since this is just a page with an embedded
ThePlayer
iframe,document.getElementById('player').src
reveals the source to the actual player instance: The real log:ffmpeg downloads about 8 minutes worth of video (should be just over 40); when playing back in a video player only one or two ads are seen.
Notice
HLS request for url 'https://tvecnbchls.nbcuni.com/tve-adstitch...
which should not be downloadedThe workaround from https://github.com/ytdl-org/youtube-dl/issues/22693#issuecomment-541477289 does not work