[Question] CBS - No video formats found, only impacts some videos.
See original GitHub issueChecklist
- I’m asking a question
- I’ve looked through the README and FAQ for similar questions
- I’ve searched the bugtracker for similar questions including closed ones
Question
Hello, I figured I would ask this as a question and rather than a ‘Broken site support’ as I am not sure if the site is really broken or if something else is going on. I am using the latest 2021.04.11 release of yt-dlp.
As an example I’m looking at two videos from the cbs.com website one video is working and one video is providing an error that “No video formats found”. Both videos work fine in the browser and do not require an account. Looking at the .mpd files (attached below) I can’t seem to identify something that is drastically different between the two files as I’m trying to understand why one works and one does not.
What seems to be happening is that when a video is first posted to cbs.com (regardless of show) yt-dlp gives the error “No video formats found”, but then after a week or two, the video seems to be able to be downloaded with yt-dlp without issue. I am not sure if CBS changes something on their end after a period of time.
If this is DRM related totally understand and I’m not looking for how to bypass, it just seemed odd to me that DRM would only be applied for a short period of time and then removed. What I would like to understand is if it is DRM related, how does one identify that DRM is actually the issue?
Below are the verbose logs: Working
yt-dlp -v -s "https://www.cbs.com/shows/the-neighborhood/video/xqDR2B_ysdrUkqnTDu7pUktg9U_yBlN1/the-neighborhood-welcome-to-the-treehouse/"
[debug] Command-line config: ['-v', '-s', 'https://www.cbs.com/shows/the-neighborhood/video/xqDR2B_ysdrUkqnTDu7pUktg9U_yBlN1/the-neighborhood-welcome-to-the-treehouse/']
[debug] Loading archive file None
[debug] Encodings: locale UTF-8, fs utf-8, out utf-8, pref UTF-8
[debug] yt-dlp version 2021.04.11
[debug] Python version 3.9.4 (CPython 64bit) - macOS-11.2.3-x86_64-i386-64bit
[debug] exe versions: ffmpeg 4.3.2, ffprobe 4.3.2
[debug] Proxy map: {}
[CBS] xqDR2B_ysdrUkqnTDu7pUktg9U_yBlN1: Downloading XML
[CBS] xqDR2B_ysdrUkqnTDu7pUktg9U_yBlN1: Downloading StreamPack SMIL data
[CBS] xqDR2B_ysdrUkqnTDu7pUktg9U_yBlN1: Downloading m3u8 information
[debug] Formats sorted by: hasvid, ie_pref, lang, quality, res, fps, vcodec:vp9.2(10), acodec, filesize, fs_approx, tbr, vbr, abr, asr, proto, vext, aext, hasaud, source, id
[CBS] xqDR2B_ysdrUkqnTDu7pUktg9U_yBlN1: Downloading JSON metadata
[debug] Default format spec: bestvideo*+bestaudio/best
[info] Downloading format(s) hls-4550
Not Working
yt-dlp -v -s "https://www.cbs.com/shows/the-neighborhood/video/CIjLEg0RBLnXWQy_Dt_nuJR3sjqnrSWq/the-neighborhood-welcome-to-the-art-class/"
[debug] Command-line config: ['-v', '-s', 'https://www.cbs.com/shows/the-neighborhood/video/CIjLEg0RBLnXWQy_Dt_nuJR3sjqnrSWq/the-neighborhood-welcome-to-the-art-class/']
[debug] Loading archive file None
[debug] Encodings: locale UTF-8, fs utf-8, out utf-8, pref UTF-8
[debug] yt-dlp version 2021.04.11
[debug] Python version 3.9.4 (CPython 64bit) - macOS-11.2.3-x86_64-i386-64bit
[debug] exe versions: ffmpeg 4.3.2, ffprobe 4.3.2
[debug] Proxy map: {}
[CBS] CIjLEg0RBLnXWQy_Dt_nuJR3sjqnrSWq: Downloading XML
ERROR: No video formats found; please report this issue on https://github.com/yt-dlp/yt-dlp . Make sure you are using the latest version; see https://github.com/yt-dlp/yt-dlp on how to update. Be sure to call yt-dlp with the --verbose flag and include its complete output.
Traceback (most recent call last):
File "/usr/local/lib/python3.9/site-packages/yt_dlp/YoutubeDL.py", line 1037, in wrapper
return func(self, *args, **kwargs)
File "/usr/local/lib/python3.9/site-packages/yt_dlp/YoutubeDL.py", line 1058, in __extract_info
ie_result = ie.extract(url)
File "/usr/local/lib/python3.9/site-packages/yt_dlp/extractor/common.py", line 558, in extract
ie_result = self._real_extract(url)
File "/usr/local/lib/python3.9/site-packages/yt_dlp/extractor/cbs.py", line 115, in _real_extract
return self._extract_video_info(content_id)
File "/usr/local/lib/python3.9/site-packages/yt_dlp/extractor/cbs.py", line 97, in _extract_video_info
self._sort_formats(formats)
File "/usr/local/lib/python3.9/site-packages/yt_dlp/extractor/common.py", line 1673, in _sort_formats
raise ExtractorError('No video formats found')
yt_dlp.utils.ExtractorError: No video formats found; please report this issue on https://github.com/yt-dlp/yt-dlp . Make sure you are using the latest version; see https://github.com/yt-dlp/yt-dlp on how to update. Be sure to call yt-dlp with the --verbose flag and include its complete output.
Here are the MDP files: Working Working MPD.txt Not Working Not Working MPD.txt
There are similar issues that have been bought up on the youtube-dl, but many have been closed or tagged DRM, but I’m not sure that’s really it. Examples noted below for reference. Again I am not looking to bypass DRM, just better understand what is going on and try to learn more about how yt-dlp is working.
References: https://github.com/ytdl-org/youtube-dl/issues/27028 and https://github.com/ytdl-org/youtube-dl/issues/26993 and https://github.com/ytdl-org/youtube-dl/issues/28662
Thank you.
Issue Analytics
- State:
- Created 2 years ago
- Comments:10 (4 by maintainers)
Its geo-blocked for me. I wil test manually with the given mpd when I have time.
Try:
yt-dlp --allow-unplayable-formats -F URL
. If it shows you the formats, the issue is DRMIt does seem like only the DRM mpds are available for the first week; then the unencrypted m3u8 becomes available
I am closing this since the original question has been answered. If you can find an m3u8 that exists from the start, then this can be reopened