DPlay Nordic #6069

Closed
opened 2026-02-21 03:08:42 -05:00 by deekerman · 10 comments
Owner

Originally created by @MrBrax on GitHub (Nov 16, 2015).

Discovery united all their channels on one domain in October, and e.g. kanal5play does not work anymore.
The new site is riddled with sessions, cookies, and stream requests, which is a pain to handle.

I've tried making a downloader myself, but i'm just not good enough at it to make it work.

Originally created by @MrBrax on GitHub (Nov 16, 2015). Discovery united all their channels on one domain in October, and e.g. kanal5play does not work anymore. The new site is riddled with sessions, cookies, and stream requests, which is a pain to handle. I've tried making a downloader myself, but i'm just not good enough at it to make it work.
deekerman 2026-02-21 03:08:42 -05:00
Author
Owner

@jaimeMF commented on GitHub (Nov 16, 2015):

Post an example URL.

@jaimeMF commented on GitHub (Nov 16, 2015): [Post an example URL](https://github.com/rg3/youtube-dl/blob/edeb3e7cb1ab2d82ff7c712a7cc1e338a9dcd8f8/README.md#bugs).
Author
Owner

@MrBrax commented on GitHub (Nov 16, 2015):

Sorry, missed that.

Base URL's do not contain any video id's:
http://www.dplay.se/nugammalt-77-handelser-som-format-sverige/season-1-svensken-lar-sig-njuta-av-livet/

The ID is on the page in multiple locations. It then does a GET request to here:
https://secure.dplay.se/secure/api/v2/user/authorization/stream/ID?stream_type=hls
Where it returns the stream URL. The cookies dsc-geo and alid need their contents set from the HLS playlist request.

@MrBrax commented on GitHub (Nov 16, 2015): Sorry, missed that. Base URL's do not contain any video id's: http://www.dplay.se/nugammalt-77-handelser-som-format-sverige/season-1-svensken-lar-sig-njuta-av-livet/ The ID is on the page in multiple locations. It then does a GET request to here: https://secure.dplay.se/secure/api/v2/user/authorization/stream/ID?stream_type=hls Where it returns the stream URL. The cookies dsc-geo and _alid_ need their contents set from the HLS playlist request.
Author
Owner

@MrBrax commented on GitHub (Nov 17, 2015):

svtplay-dl apparently handles dplay already: https://github.com/spaam/svtplay-dl/blob/master/lib/svtplay_dl/service/dplay.py

I don't know about stealing code or whatever.

@MrBrax commented on GitHub (Nov 17, 2015): svtplay-dl apparently handles dplay already: https://github.com/spaam/svtplay-dl/blob/master/lib/svtplay_dl/service/dplay.py I don't know about stealing code or whatever.
Author
Owner

@jaimeMF commented on GitHub (Nov 17, 2015):

svtplay-dl apparently handles dplay already: https://github.com/spaam/svtplay-dl/blob/master/lib/svtplay_dl/service/dplay.py

I don't know about stealing code or whatever.

Its MIT license is incompatible with the public domain license of youtube-dl, therefore it can't be copied (I'm not a lawyer, but I think you also can't inspect the code and then write your own version for youtube-dl).

@jaimeMF commented on GitHub (Nov 17, 2015): > svtplay-dl apparently handles dplay already: https://github.com/spaam/svtplay-dl/blob/master/lib/svtplay_dl/service/dplay.py > > I don't know about stealing code or whatever. Its MIT license is incompatible with the public domain license of youtube-dl, therefore it can't be copied (I'm not a lawyer, but I think you also can't inspect the code and then write your own version for youtube-dl).
Author
Owner

@MrBrax commented on GitHub (Nov 17, 2015):

Well the method has to be the same at least, so that can't really be avoided.

@MrBrax commented on GitHub (Nov 17, 2015): Well the method has to be the same at least, so that can't really be avoided.
Author
Owner

@jaimeMF commented on GitHub (Nov 17, 2015):

I have added support. Since downloading the hds streams requires some cookies that I haven't figured out, I used the hsl stream instead.

@jaimeMF commented on GitHub (Nov 17, 2015): I have added support. Since downloading the hds streams requires some cookies that I haven't figured out, I used the hsl stream instead.
Author
Owner

@MrBrax commented on GitHub (Nov 17, 2015):

The cookies required are:
dsc-geo: {"countryCode":"SE","expiry": (timestamp) }
alid: gotten from the m3u8 playlist manifest link, in the headers

@MrBrax commented on GitHub (Nov 17, 2015): The cookies required are: dsc-geo: {"countryCode":"SE","expiry": (timestamp) } _alid_: gotten from the m3u8 playlist manifest link, in the headers
Author
Owner

@jaimeMF commented on GitHub (Nov 17, 2015):

I can't get it to work, feel free to open a PR.

@jaimeMF commented on GitHub (Nov 17, 2015): I can't get it to work, feel free to open a PR.
Author
Owner

@MrBrax commented on GitHub (Nov 18, 2015):

I probably confused the two. HLS should work anyway yeah?

@MrBrax commented on GitHub (Nov 18, 2015): I probably confused the two. HLS should work anyway yeah?
Author
Owner

@jaimeMF commented on GitHub (Nov 18, 2015):

I probably confused the two. HLS should work anyway yeah?

It works in the videos I have tested.

@jaimeMF commented on GitHub (Nov 18, 2015): > I probably confused the two. HLS should work anyway yeah? It works in the videos I have tested.
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#6069
No description provided.