Closed xbjfk closed 11 months ago
Related #4002
It seems like "This one's on us" is no longer a thing and you have to create and account
It seems like "This one's on us" is no longer a thing and you have to create and account
Still seems to be a thing. It is based on browser cookies, so if you clear cookies/open in private browsing it'll work again.
Though it seems that not all videos have it (only 2/3 of the ones you provided do).
Checklist
Region
Global?
Example URLs
https://nebula.app/videos/wendover-alaska https://nebula.app/videos/that-time-disney-remade-beauty-and-the-beast https://nebula.app/videos/jetlag-the-big-strategy-day-connect-4-across-america
Provide a description that is worded well enough to be understood
If you visit the URL, you can see the message "The first one is on us" where you can play the video in the browser with no account. After further digging, it turns out that the m3u8 is requested with ?token=[bearer token]. Running yt-dlp on the m3u8 (that I extracted with browser network tools) with ?token=[bearer token] downloads the video perfectly. When i say bearer token, I am talking about the one gotten by sending an empty POST to https://api.watchnebula.com/api/v1/authorization/ Currently, yt-dlp does not work on nebula without a username and password. EDIT: After further digging, yt-dlp seems to access zype directly, which I believe is not needed. A simple procedure I would use is: Get the video ID from input (jetlag-the-big-strategy-day-connect-4-across-america)
Get metadata:
https://content.watchnebula.com/video/jetlag-the-big-strategy-day-connect-4-across-america/ (with Authorization: Bearer [token]) (Note: this metadata sometimes contains "attributes: [ "free_sample_eligible" ]", but this does not necessarily mean this is the case, as discussed later. If free_sample_eligible is missing, the next call will return 401. wendover-alaska is an example of this)
Get playlist:
https://content.watchnebula.com/video/jetlag-the-big-strategy-day-connect-4-across-america/stream/ This returns JSON, containing: manifest: the m3u8 download: some URL of the video, typically low quality iframe: the zype iframe bif: bif files, seems to be a collection of thumbnails in a strage format subtitles: subtitles (also included in the m3u8)
For some videos, accessing these urls without login works fine, but for some, despite being "free_sample_eligible" they return error 403 with
{"message":"This video requires a purchase entitlement in order to watch."}
, and the zype iframe errors (this happens in the browser too). The disney video is an example of this, whereas connect 4 across america works perfectlyI am not sure how this procedure will work for real accounts, but it will probably be the same but with different authorization header.
Provide verbose output that clearly demonstrates the problem
yt-dlp -vU <your command line>
)[debug] Command-line config
) and insert it belowComplete Verbose Output