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

Why use streamUrl instead of playbackinfopostpaywall for content download? #74

Closed
dcdeve opened this issue Jan 28, 2025 · 1 comment
Closed

Comments

@dcdeve
Copy link

dcdeve commented Jan 28, 2025

Hi,

First of all, thank you for sharing this project! I've been going through the code, and I noticed that the implementation uses the streamUrl method for downloading content from TIDAL. I'm curious—why was this approach chosen over playbackinfopostpaywall?

From what I understand, playbackinfopostpaywall provides a more detailed manifest, which could offer greater flexibility and control over content quality and formats. Is there a specific technical or practical reason for this decision?

I’ve already sent you an email offering help with the development.

Thanks in advance, and keep up the great work!

@oskvr37
Copy link
Owner

oskvr37 commented Jan 28, 2025

Welcome!

the implementation uses the streamUrl method

Do you mean this endpoint?

why was this approach chosen over playbackinfopostpaywall?

I'm not sure if you went through the right repository.

Tiddl is using playbackinfopostpaywall but the endpoint is called playbackinfo (those endpoints provides the same data), there are no streamUrl endpoints used in tiddl.

tiddl/tiddl/api.py

Lines 173 to 182 in dc040ab

def getTrackStream(self, track_id: str | int, quality: TrackQuality):
return self.fetch(
TrackStream,
f"tracks/{track_id}/playbackinfo",
{
"audioquality": quality,
"playbackmode": "STREAM",
"assetpresentation": "FULL",
},
)

@oskvr37 oskvr37 closed this as completed Feb 5, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants