Skip to content
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

dplay.co.uk "Missing deviceId in context" #26186

Open
dirkf opened this issue Jul 30, 2020 · 1 comment
Open

dplay.co.uk "Missing deviceId in context" #26186

dirkf opened this issue Jul 30, 2020 · 1 comment

Comments

@dirkf
Copy link

@dirkf dirkf commented Jul 30, 2020

  • I'm reporting a broken site support
  • I've verified that I'm running youtube-dl version 2020.07.28
  • 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 issues including closed ones

Verbose log

youtube-dl  -v -F 'https://www.dplay.co.uk/show/efl-on-quest/video/efl-on-quest-220720/EHD_276308C'
[debug] System config: [u'--prefer-ffmpeg']
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: [u'-v', u'-F', u'https://www.dplay.co.uk/show/efl-on-quest/video/efl-on-quest-220720/EHD_276308C']
[debug] Encodings: locale UTF-8, fs UTF-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2020.07.28
[debug] Python version 2.7.12 (CPython) - Linux-4.4.0-185-generic-i686-with-Ubuntu-16.04-xenial
[debug] exe versions: avconv 4.3, avprobe 4.3, ffmpeg 4.3, ffprobe 4.3
[debug] Proxy map: {}
[debug] Using fake IP 25.187.234.101 (GB) as X-Forwarded-For.
[DiscoveryNetworksDe] efl-on-quest/efl-on-quest-220720: Downloading token
[DiscoveryNetworksDe] efl-on-quest/efl-on-quest-220720: Downloading JSON metadata
[DiscoveryNetworksDe] efl-on-quest/efl-on-quest-220720: Downloading JSON metadata
ERROR: Missing deviceId in context
Traceback (most recent call last):
  File "/usr/bin/youtube-dl/youtube_dl/extractor/dplay.py", line 163, in _get_disco_api_info
    display_id, headers=headers)['data']['attributes']['streaming']
  File "/usr/bin/youtube-dl/youtube_dl/extractor/common.py", line 892, in _download_json
    expected_status=expected_status)
  File "/usr/bin/youtube-dl/youtube_dl/extractor/common.py", line 870, in _download_json_handle
    expected_status=expected_status)
  File "/usr/bin/youtube-dl/youtube_dl/extractor/common.py", line 660, in _download_webpage_handle
    urlh = self._request_webpage(url_or_request, video_id, note, errnote, fatal, data=data, headers=headers, query=query, expected_status=expected_status)
  File "/usr/bin/youtube-dl/youtube_dl/extractor/common.py", line 645, in _request_webpage
    raise ExtractorError(errmsg, sys.exc_info()[2], cause=err)
ExtractorError: Unable to download JSON metadata: HTTP Error 403: Forbidden (caused by HTTPError()); please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
Traceback (most recent call last):
  File "/usr/bin/youtube-dl/youtube_dl/YoutubeDL.py", line 797, in extract_info
    ie_result = ie.extract(url)
  File "/usr/bin/youtube-dl/youtube_dl/extractor/common.py", line 530, in extract
    ie_result = self._real_extract(url)
  File "/usr/bin/youtube-dl/youtube_dl/extractor/discoverynetworks.py", line 40, in _real_extract
    'sonic-eu1-prod.disco-api.com', realm, country)
  File "/usr/bin/youtube-dl/youtube_dl/extractor/dplay.py", line 173, in _get_disco_api_info
    raise ExtractorError(info['errors'][0]['detail'], expected=True)
ExtractorError: Missing deviceId in context

Description

So, as above. I saw that the website uses eu1-prod.disco-api.com to record progress, and gets the manifests for audio and video from URLs like https://dplaynordics-vod-91.akamaized.net/dplaydni/157187/1/dash/9770679004/manifest.mpd?hdnts=st=1596094561~exp=1596180961~acl=/dplaydni/157187/1/dash/9770679004/*~hmac=1b335bd50a8e1e35624d8ffc78c65fc9b5945804705fa2daa85bf776377794a8&bw_start=800.

In FF78 with NoScript, the video plays after enabling www.dplay.co.uk, src.litix.io, players.brightcove.net for JS, and allowing DRM.

Is this provider streaming different content classes, perhaps with different ineffective technical mechanisms, but using the same domain/(show|programme)/name/video/tag format?

@ahzahraee
Copy link

@ahzahraee ahzahraee commented Sep 29, 2020

I just tried to download different shows on dplay with youtube-dl 2020.09.20.
Interestingly it works for most of the shows (I tried about 10 different shows), but the sport ones. So, I get the "missing device id" error for EFL on Quest, Carabao Cup on Quest, and Moto GP Highlights, but not for other non-sport shows.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
2 participants
You can’t perform that action at this time.