-
-
Notifications
You must be signed in to change notification settings - Fork 6.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[tvp] "Video requires payment and log-in, but log-in is not implemented" #6987
Comments
The extractor finds the TVP id [{'context': 'id',
'data': None,
'desc': 'Obiekt wymaga płatności',
'type': 'Error'}] The browser JS is using some different method |
Thank you for the reply! Could I ask for advice on how to run a network trace? I'm pretty new to all of this. |
Actually, the answer is this: https://vod.tvp.pl/api/products/398869/videos/playlist?platform=BROWSER&videoType=MOVIE JSON playlist result{
'sources': {
'HLS': [
{
'src': 'https://rsdt-krk201-4.tvp.pl/token/video/vod/69230468/20230504/785384984/X2P8b7AC2hD-POBG5j1lWx35b4kPhUN76BrY8Sx2N6hXDVBtsw6o8GFB1VSqmw5aDiZutk97EpJd64s-0KV8ZM7s59QW7UQvuwJQVNIv84e9mTIiuLMsfDRW0bM3EigHpQLnSybEg7TeQPaG_-uSuPPlpVcGlC5o8r5cNu3lG_Q/video.ism/video-fmp4.m3u8'
}
],
'DASH': [
{
'src': 'https://rsdt-krk201-4.tvp.pl/token/video/vod/69230468/20230504/785384984/X2P8b7AC2hD-POBG5j1lWx35b4kPhUN76BrY8Sx2N6hXDVBtsw6o8GFB1VSqmw5aDiZutk97EpJd64s-0KV8ZM7s59QW7UQvuwJQVNIv84e9mTIiuLMsfDRW0bM3EigHpQLnSybEg7TeQPaG_-uSuPPlpVcGlC5o8r5cNu3lG_Q/video.ism/video.mpd'
}
]
},
'stripe': {
'id': 120545,
'url': 'https://klatki.tvp.pl/rbig69230468/stripe_{index}.jpg',
'interval': 2,
'count': 8,
'width': 640,
'height': 360
},
'externalVideoSource': true
} According to ytdl-org/youtube-dl#32028, there is a new scheme at TVP; your problem show seems only to be accessible through that scheme. Instead of passing the external ID ( Once the yt-dl PR is merged (or ready), it'll come here. |
I'm also surprised to see that it just plays for me in NL now, so I guess they've loosened the restrictions |
This issue seems to have already been solved, but if you want to learn reverse engineering, I’d recommend playing with your browser’s dev tools (ctrl-shift-i). The network tab is the most useful, since it lets you see what network requests the webpage is making (in other words, it lets you see where the website is getting the video from) |
this video - https://vod.tvp.pl/seriale,18/polowanie-na-cmy-odcinki,390116/odcinek-7,S01E07,398869 can be downloaded & played without payment. |
That's what OP said. The problem is that the API URL used in the existing extractor returns that error: solved in PR #6989. |
Authored by: selfisekai Closes #6987
I tried to check if this fix would let me download a movie (https://vod.tvp.pl/filmy-fabularne,136/masz-talent,386831) from the same site. .\yt-dlp.exe "https://vod.tvp.pl/filmy-fabularne,136/masz-talent,386831" I got the same result with nightly@2023.05.06.001010. With nightly@2023.05.05.055923 I received: Here is result of -vU command: .\yt-dlp.exe -vU "https://vod.tvp.pl/filmy-fabularne,136/masz-talent,386831" Am I doing something wrong or should I post a new issue releated to this ? |
In this fragment from the updated extractor code (l.485-), the def _call_api(self, resource, video_id, query={}, **kwargs):
is_valid = lambda x: 200 <= x < 300
document, urlh = self._download_json_handle(
f'{self._API_BASE_URL}/{resource}', video_id,
query={'lang': 'pl', 'platform': 'BROWSER', **query},
expected_status=lambda x: is_valid(x) or 400 <= x < 500, **kwargs)
if is_valid(urlh.status):
return document
raise ExtractorError(f'Woronicza said: {document.get("code")} (HTTP {urlh.status})') For the claimed 3.7+ support, something like this is needed in a compat module import urllib.response
try:
urllib.response.addinfourl.status
except AttributeError:
urllib.response.addinfourl.status = property(lambda self: self.getcode()) |
IMO All extractors that are incorrectly using No point adding compat support in the backend - we're merging a rewrite very soon which adds our own response interface. |
Authored by: selfisekai Closes yt-dlp#6987
DO NOT REMOVE OR SKIP THE ISSUE TEMPLATE
Checklist
Region
Canada
Provide a description that is worded well enough to be understood
I've been downloading episodes from website: Vod.tvp.pl / https://vod.tvp.pl/seriale,18/polowanie-na-cmy-odcinki,390116
I've been able to get every episode with no issues what so ever, with the exception of Episode #7. https://vod.tvp.pl/seriale,18/polowanie-na-cmy-odcinki,390116/odcinek-7,S01E07,398869
[tvp:vod] Extracting URL: https://vod.tvp.pl/seriale,18/polowanie-na-cmy-odcinki,390116/odcinek-7,S01E07,398869
[tvp:vod] 398869: Downloading JSON metadata
[tvp:embed] Extracting URL: tvp:69230468
[tvp:embed] 69230468: Downloading webpage
ERROR: [tvp:embed] 69230468: Video requires payment and log-in, but log-in is not implemented; please report this issue on https://github.com/yt-dlp/yt-dlp/issues?q= , filling out the appropriate issue template. Confirm you are on the latest version using yt-dlp -U
(Same error with -vU)
The video works in browser, I've created an account and tried --cookies-from-browser chrome with no luck.
I've updated twice hoping for a resolution - video has been available since April 30th, 2023.
Provide verbose output that clearly demonstrates the problem
yt-dlp -vU <your command line>
)'verbose': True
toYoutubeDL
params instead[debug] Command-line config
) and insert it belowComplete Verbose Output
The text was updated successfully, but these errors were encountered: