[CDA.PL] Broken site support #25182

Open
opened 2026-02-21 13:41:40 -05:00 by deekerman · 7 comments
Owner

Originally created by @gucio321 on GitHub (Apr 19, 2022).

Checklist

  • I'm reporting a broken site support issue
  • I've verified that I'm running youtube-dl version 2021.12.17
  • I've checked that all provided URLs are alive and playable in a browser
  • I've checked that all URLs and arguments with special characters are properly quoted or escaped
  • I've searched the bugtracker for similar bug reports including closed ones
  • I've read bugs section in FAQ

Verbose log

log
[debug] System config: ['--prefer-free-formats']
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['-v', 'https://www.cda.pl/video/391634853']
[debug] Encodings: locale UTF-8, fs utf-8, out utf-8, pref UTF-8
[debug] youtube-dl version 2021.12.17
[debug] Python version 3.10.4 (CPython) - Linux-5.16.20-200.fc35.x86_64-x86_64-with-glibc2.34
[debug] exe versions: ffmpeg 4.4.1, ffprobe 4.4.1
[debug] Proxy map: {}
[CDA] 391634853: Downloading webpage
[debug] Default format spec: bestvideo+bestaudio/best
[debug] Invoking downloader on 'https://.mp4'
Traceback (most recent call last):
  File "/usr/lib64/python3.10/encodings/idna.py", line 165, in encode
    raise UnicodeError("label empty or too long")
UnicodeError: label empty or too long

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/bin/youtube-dl", line 33, in <module>
    sys.exit(load_entry_point('youtube-dl==2021.12.17', 'console_scripts', 'youtube-dl')())
  File "/usr/lib/python3.10/site-packages/youtube_dl/__init__.py", line 474, in main
    _real_main(argv)
  File "/usr/lib/python3.10/site-packages/youtube_dl/__init__.py", line 464, in _real_main
    retcode = ydl.download(all_urls)
  File "/usr/lib/python3.10/site-packages/youtube_dl/YoutubeDL.py", line 2067, in download
    res = self.extract_info(
  File "/usr/lib/python3.10/site-packages/youtube_dl/YoutubeDL.py", line 807, in extract_info
    return self.__extract_info(url, ie, download, extra_info, process)
  File "/usr/lib/python3.10/site-packages/youtube_dl/YoutubeDL.py", line 814, in wrapper
    return func(self, *args, **kwargs)
  File "/usr/lib/python3.10/site-packages/youtube_dl/YoutubeDL.py", line 846, in __extract_info
    return self.process_ie_result(ie_result, download, extra_info)
  File "/usr/lib/python3.10/site-packages/youtube_dl/YoutubeDL.py", line 880, in process_ie_result
    return self.process_video_result(ie_result, download=download)
  File "/usr/lib/python3.10/site-packages/youtube_dl/YoutubeDL.py", line 1691, in process_video_result
    self.process_info(new_info)
  File "/usr/lib/python3.10/site-packages/youtube_dl/YoutubeDL.py", line 1975, in process_info
    success = dl(filename, info_dict)
  File "/usr/lib/python3.10/site-packages/youtube_dl/YoutubeDL.py", line 1914, in dl
    return fd.download(name, info)
  File "/usr/lib/python3.10/site-packages/youtube_dl/downloader/common.py", line 366, in download
    return self.real_download(filename, info_dict)
  File "/usr/lib/python3.10/site-packages/youtube_dl/downloader/http.py", line 351, in real_download
    establish_connection()
  File "/usr/lib/python3.10/site-packages/youtube_dl/downloader/http.py", line 110, in establish_connection
    ctx.data = self.ydl.urlopen(request)
  File "/usr/lib/python3.10/site-packages/youtube_dl/YoutubeDL.py", line 2287, in urlopen
    return self._opener.open(req, timeout=self._socket_timeout)
  File "/usr/lib64/python3.10/urllib/request.py", line 516, in open
    req = meth(req)
  File "/usr/lib/python3.10/site-packages/youtube_dl/utils.py", line 2599, in http_request
    url_escaped = escape_url(url)
  File "/usr/lib/python3.10/site-packages/youtube_dl/utils.py", line 3921, in escape_url
    netloc=url_parsed.netloc.encode('idna').decode('ascii'),
UnicodeError: encoding with 'idna' codec failed (UnicodeError: label empty or too long)

Description

ytdl with CDA url crashes because of "encoding error"... I don't know anything else :D

Originally created by @gucio321 on GitHub (Apr 19, 2022). <!-- ###################################################################### WARNING! IGNORING THE FOLLOWING TEMPLATE WILL RESULT IN ISSUE CLOSED AS INCOMPLETE ###################################################################### --> ## Checklist <!-- Carefully read and work through this check list in order to prevent the most common mistakes and misuse of youtube-dl: - First of, make sure you are using the latest version of youtube-dl. Run `youtube-dl --version` and ensure your version is 2021.12.17. If it's not, see https://yt-dl.org/update on how to update. Issues with outdated version will be REJECTED. - Make sure that all provided video/audio/playlist URLs (if any) are alive and playable in a browser. - Make sure that all URLs and arguments with special characters are properly quoted or escaped as explained in http://yt-dl.org/escape. - Search the bugtracker for similar issues: http://yt-dl.org/search-issues. DO NOT post duplicates. - Read bugs section in FAQ: http://yt-dl.org/reporting - Finally, put x into all relevant boxes (like this [x]) --> - [x] I'm reporting a broken site support issue - [x] I've verified that I'm running youtube-dl version **2021.12.17** - [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 bug reports including closed ones - [ ] I've read bugs section in FAQ ## Verbose log <!-- Provide the complete verbose output of youtube-dl that clearly demonstrates the problem. Add the `-v` flag to your command line you run youtube-dl with (`youtube-dl -v <your command line>`), copy the WHOLE output and insert it below. It should look similar to this: [debug] System config: [] [debug] User config: [] [debug] Command-line args: [u'-v', u'http://www.youtube.com/watch?v=BaW_jenozKcj'] [debug] Encodings: locale cp1251, fs mbcs, out cp866, pref cp1251 [debug] youtube-dl version 2021.12.17 [debug] Python version 2.7.11 - Windows-2003Server-5.2.3790-SP2 [debug] exe versions: ffmpeg N-75573-g1d0487f, ffprobe N-75573-g1d0487f, rtmpdump 2.4 [debug] Proxy map: {} <more lines> --> <details><summary>log</summary> ``` [debug] System config: ['--prefer-free-formats'] [debug] User config: [] [debug] Custom config: [] [debug] Command-line args: ['-v', 'https://www.cda.pl/video/391634853'] [debug] Encodings: locale UTF-8, fs utf-8, out utf-8, pref UTF-8 [debug] youtube-dl version 2021.12.17 [debug] Python version 3.10.4 (CPython) - Linux-5.16.20-200.fc35.x86_64-x86_64-with-glibc2.34 [debug] exe versions: ffmpeg 4.4.1, ffprobe 4.4.1 [debug] Proxy map: {} [CDA] 391634853: Downloading webpage [debug] Default format spec: bestvideo+bestaudio/best [debug] Invoking downloader on 'https://.mp4' Traceback (most recent call last): File "/usr/lib64/python3.10/encodings/idna.py", line 165, in encode raise UnicodeError("label empty or too long") UnicodeError: label empty or too long The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/bin/youtube-dl", line 33, in <module> sys.exit(load_entry_point('youtube-dl==2021.12.17', 'console_scripts', 'youtube-dl')()) File "/usr/lib/python3.10/site-packages/youtube_dl/__init__.py", line 474, in main _real_main(argv) File "/usr/lib/python3.10/site-packages/youtube_dl/__init__.py", line 464, in _real_main retcode = ydl.download(all_urls) File "/usr/lib/python3.10/site-packages/youtube_dl/YoutubeDL.py", line 2067, in download res = self.extract_info( File "/usr/lib/python3.10/site-packages/youtube_dl/YoutubeDL.py", line 807, in extract_info return self.__extract_info(url, ie, download, extra_info, process) File "/usr/lib/python3.10/site-packages/youtube_dl/YoutubeDL.py", line 814, in wrapper return func(self, *args, **kwargs) File "/usr/lib/python3.10/site-packages/youtube_dl/YoutubeDL.py", line 846, in __extract_info return self.process_ie_result(ie_result, download, extra_info) File "/usr/lib/python3.10/site-packages/youtube_dl/YoutubeDL.py", line 880, in process_ie_result return self.process_video_result(ie_result, download=download) File "/usr/lib/python3.10/site-packages/youtube_dl/YoutubeDL.py", line 1691, in process_video_result self.process_info(new_info) File "/usr/lib/python3.10/site-packages/youtube_dl/YoutubeDL.py", line 1975, in process_info success = dl(filename, info_dict) File "/usr/lib/python3.10/site-packages/youtube_dl/YoutubeDL.py", line 1914, in dl return fd.download(name, info) File "/usr/lib/python3.10/site-packages/youtube_dl/downloader/common.py", line 366, in download return self.real_download(filename, info_dict) File "/usr/lib/python3.10/site-packages/youtube_dl/downloader/http.py", line 351, in real_download establish_connection() File "/usr/lib/python3.10/site-packages/youtube_dl/downloader/http.py", line 110, in establish_connection ctx.data = self.ydl.urlopen(request) File "/usr/lib/python3.10/site-packages/youtube_dl/YoutubeDL.py", line 2287, in urlopen return self._opener.open(req, timeout=self._socket_timeout) File "/usr/lib64/python3.10/urllib/request.py", line 516, in open req = meth(req) File "/usr/lib/python3.10/site-packages/youtube_dl/utils.py", line 2599, in http_request url_escaped = escape_url(url) File "/usr/lib/python3.10/site-packages/youtube_dl/utils.py", line 3921, in escape_url netloc=url_parsed.netloc.encode('idna').decode('ascii'), UnicodeError: encoding with 'idna' codec failed (UnicodeError: label empty or too long) ``` </details> ## Description <!-- Provide an explanation of your issue in an arbitrary form. Please make sure the description is worded well enough to be understood, see https://github.com/ytdl-org/youtube-dl#is-the-description-of-the-issue-itself-sufficient. Provide any additional information, suggested solution and as much context and examples as possible. If work on your issue requires account credentials please provide them or explain how one can obtain them. --> ytdl with CDA url crashes because of "encoding error"... I don't know anything else :D
Author
Owner

@dirkf commented on GitHub (Apr 19, 2022):

The error message is quite correct because when Invoking downloader on 'https://.mp4', the string between / and . is empty. Obviously that's not a valid download link.

The reason is that the file member of the video object in the JSON data is empty:

  'video': {
    'id': '391634853',
    'file': '',
    'file_cast': '',
    'cast_available': true,
    'manifest': 'https://vrbx507.cda.pl/3916348/3916348.mpd/stereo',
    'manifest_cast': 'https://vrbx507.cda.pl/3916348/3916348.mpd',
    'manifest_drm_proxy': 'https://lic.drmtoday.com/license-proxy-widevine/cenc/?specConform=true',
    'manifest_drm_header': 'eyJ1c2VySWQiOiJhbm9uaW0iLCJzZXNzaW9uSWQiOiJhUzV5aHNBb2ZLWXhjNzZWWXhDWVY2UFdRaTkiLCJtZXJjaGFudCI6ImNkYSJ9',
    'manifest_drm_pr_proxy': 'https://lic.drmtoday.com/license-proxy-headerauth/drmtoday/RightsManager.asmx',
    'manifest_drm_pr_header': 'eyJ1c2VySWQiOiJhbm9uaW0iLCJzZXNzaW9uSWQiOiJhUzV5aHNBb2ZLWXhjNzZWWXhDWVY2UFdRaTkiLCJtZXJjaGFudCI6ImNkYSJ9',
    'manifest_apple': 'https://vrbx507.cda.pl/3916348/3916348.m3u8',
    'manifest_drm_apple_certificate': 'https://lic.drmtoday.com/license-server-fairplay/cert/cda',
    'manifest_drm_apple_license': 'https://lic.drmtoday.com/license-server-fairplay/',
...

And in the manifests:

...
  <Period id="0">
    <AdaptationSet id="0" contentType="video" maxWidth="1920" maxHeight="1080" frameRate="12800/512" subsegmentAlignment="true" par="16:9">
      <ContentProtection value="cenc" schemeIdUri="urn:mpeg:dash:mp4protection:2011" cenc:default_KID="63363432-3534-6364-6237-656465336530"/>
      <ContentProtection schemeIdUri="urn:uuid:9a04f079-9840-4286-ab92-e65be0885f95">
        <cenc:pssh>AAACJnBzc2gAAAAAmgTweZhAQoarkuZb4IhflQAAAgYGAgAAAQABAPwBPABXAFIATQBIAEUAQQBEAEUAUgAgAHgAbQBsAG4AcwA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAEQAUgBNAC8AMgAwADAANwAvADAAMwAvAFAAbABhAHkAUgBlAGEAZAB5AEgAZQBhAGQAZQByACIAIAB2AGUAcgBzAGkAbwBuAD0AIgA0AC4AMAAuADAALgAwACIAPgA8AEQAQQBUAEEAPgA8AFAAUgBPAFQARQBDAFQASQBOAEYATwA+ADwASwBFAFkATABFAE4APgAxADYAPAAvAEsARQBZAEwARQBOAD4APABBAEwARwBJAEQAPgBBAEUAUwBDAFQAUgA8AC8AQQBMAEcASQBEAD4APAAvAFAAUgBPAFQARQBDAFQASQBOAEYATwA+ADwASwBJAEQAPgBNAGoAUQAyAFkAegBRADEAWgBHAE4AaQBOADIAVgBrAFoAVABOAGwATQBBAD0APQA8AC8ASwBJAEQAPgA8AEMASABFAEMASwBTAFUATQA+AHAAMQA0AGMAZABWAFcAMgBqADYAYwA9ADwALwBDAEgARQBDAEsAUwBVAE0APgA8AC8ARABBAFQAQQA+ADwALwBXAFIATQBIAEUAQQBEAEUAUgA+AA==</cenc:pssh>
      </ContentProtection>
...

So unfortunately you'll have to obtain a playable Arabela S01E02 in some other way.

@dirkf commented on GitHub (Apr 19, 2022): The error message is quite correct because when `Invoking downloader on 'https://.mp4'`, the string between / and . is empty. Obviously that's not a valid download link. The reason is that the `file` member of the `video` object in the JSON data is empty: ```json 'video': { 'id': '391634853', 'file': '', 'file_cast': '', 'cast_available': true, 'manifest': 'https://vrbx507.cda.pl/3916348/3916348.mpd/stereo', 'manifest_cast': 'https://vrbx507.cda.pl/3916348/3916348.mpd', 'manifest_drm_proxy': 'https://lic.drmtoday.com/license-proxy-widevine/cenc/?specConform=true', 'manifest_drm_header': 'eyJ1c2VySWQiOiJhbm9uaW0iLCJzZXNzaW9uSWQiOiJhUzV5aHNBb2ZLWXhjNzZWWXhDWVY2UFdRaTkiLCJtZXJjaGFudCI6ImNkYSJ9', 'manifest_drm_pr_proxy': 'https://lic.drmtoday.com/license-proxy-headerauth/drmtoday/RightsManager.asmx', 'manifest_drm_pr_header': 'eyJ1c2VySWQiOiJhbm9uaW0iLCJzZXNzaW9uSWQiOiJhUzV5aHNBb2ZLWXhjNzZWWXhDWVY2UFdRaTkiLCJtZXJjaGFudCI6ImNkYSJ9', 'manifest_apple': 'https://vrbx507.cda.pl/3916348/3916348.m3u8', 'manifest_drm_apple_certificate': 'https://lic.drmtoday.com/license-server-fairplay/cert/cda', 'manifest_drm_apple_license': 'https://lic.drmtoday.com/license-server-fairplay/', ... ``` And in the manifests: ```xml ... <Period id="0"> <AdaptationSet id="0" contentType="video" maxWidth="1920" maxHeight="1080" frameRate="12800/512" subsegmentAlignment="true" par="16:9"> <ContentProtection value="cenc" schemeIdUri="urn:mpeg:dash:mp4protection:2011" cenc:default_KID="63363432-3534-6364-6237-656465336530"/> <ContentProtection schemeIdUri="urn:uuid:9a04f079-9840-4286-ab92-e65be0885f95"> <cenc:pssh>AAACJnBzc2gAAAAAmgTweZhAQoarkuZb4IhflQAAAgYGAgAAAQABAPwBPABXAFIATQBIAEUAQQBEAEUAUgAgAHgAbQBsAG4AcwA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAEQAUgBNAC8AMgAwADAANwAvADAAMwAvAFAAbABhAHkAUgBlAGEAZAB5AEgAZQBhAGQAZQByACIAIAB2AGUAcgBzAGkAbwBuAD0AIgA0AC4AMAAuADAALgAwACIAPgA8AEQAQQBUAEEAPgA8AFAAUgBPAFQARQBDAFQASQBOAEYATwA+ADwASwBFAFkATABFAE4APgAxADYAPAAvAEsARQBZAEwARQBOAD4APABBAEwARwBJAEQAPgBBAEUAUwBDAFQAUgA8AC8AQQBMAEcASQBEAD4APAAvAFAAUgBPAFQARQBDAFQASQBOAEYATwA+ADwASwBJAEQAPgBNAGoAUQAyAFkAegBRADEAWgBHAE4AaQBOADIAVgBrAFoAVABOAGwATQBBAD0APQA8AC8ASwBJAEQAPgA8AEMASABFAEMASwBTAFUATQA+AHAAMQA0AGMAZABWAFcAMgBqADYAYwA9ADwALwBDAEgARQBDAEsAUwBVAE0APgA8AC8ARABBAFQAQQA+ADwALwBXAFIATQBIAEUAQQBEAEUAUgA+AA==</cenc:pssh> </ContentProtection> ... ``` So unfortunately you'll have to obtain a playable Arabela S01E02 in some other way.
Author
Owner

@gucio321 commented on GitHub (Apr 20, 2022):

okey, it makes sense, so I'm changing the ititle to "broken site support"

@gucio321 commented on GitHub (Apr 20, 2022): okey, it makes sense, so I'm changing the ititle to "broken site support"
Author
Owner

@gucio321 commented on GitHub (Apr 20, 2022):

hmm, that's interessting, like I've noticed some time ago (when I had problemms with using ytdl with cda.pl) cda provides 2 types of videos (URLs)

  • for series (like that this issue is about)
  • for single films (e.g. https://www.cda.pl/video/218720891)
    the interessting thing is, that for that second type, everything works fine
@gucio321 commented on GitHub (Apr 20, 2022): hmm, that's interessting, like I've noticed some time ago (when I had problemms with using ytdl with cda.pl) cda provides 2 types of videos (URLs) - for series (like that this issue is about) - for single films (e.g. https://www.cda.pl/video/218720891) the interessting thing is, that for that second type, everything works fine
Author
Owner

@dirkf commented on GitHub (Apr 20, 2022):

If the site doesn't offer a version of the content that you can play in your browser with EME disabled (or not implemented), yt-dl can't fetch it.

Broadcasters that use DRM implement it in different ways. Some apply it universally, some sporadically, some depending on the demand of the content originator.

Unless you can demonstrate that the show is playable as above, all we can do with yt-dl is change the extractor to report a DRM error. In https://github.com/yt-dlp/yt-dlp, the extractor could be made to understand --allow-unplayable-formats so as to allow you to fill your disk with apparently pseudo-random large files.

@dirkf commented on GitHub (Apr 20, 2022): If the site doesn't offer a version of the content that you can play in your browser with EME disabled (or not implemented), yt-dl can't fetch it. Broadcasters that use DRM implement it in different ways. Some apply it universally, some sporadically, some depending on the demand of the content originator. Unless you can demonstrate that the show is playable as above, all we can do with yt-dl is change the extractor to report a DRM error. In https://github.com/yt-dlp/yt-dlp, the extractor could be made to understand `--allow-unplayable-formats` so as to allow you to fill your disk with apparently pseudo-random large files.
Author
Owner

@gucio321 commented on GitHub (Apr 20, 2022):

okey, I understand, thank you.
Should I keep this issue open?

@gucio321 commented on GitHub (Apr 20, 2022): okey, I understand, thank you. Should I keep this issue open?
Author
Owner

@dirkf commented on GitHub (Apr 20, 2022):

It'll remind me to fix the error-checking eventually.

@dirkf commented on GitHub (Apr 20, 2022): It'll remind me to fix the error-checking eventually.
Author
Owner

@gucio321 commented on GitHub (Jun 10, 2022):

How to get decryption key???

@gucio321 commented on GitHub (Jun 10, 2022): How to get decryption key???
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/youtube-dl-ytdl-org#25182
No description provided.