Open gucio321 opened 2 years ago
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.
okey, it makes sense, so I'm changing the ititle to "broken site support"
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)
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.
okey, I understand, thank you. Should I keep this issue open?
It'll remind me to fix the error-checking eventually.
How to get decryption key???
Checklist
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, inDescription
ytdl with CDA url crashes because of "encoding error"... I don't know anything else :D