cameo.com videos #23813

Open
opened 2026-02-21 13:01:23 -05:00 by deekerman · 5 comments
Owner

Originally created by @rsfinlayson on GitHub (May 28, 2021).

Checklist

  • I'm reporting a new site support request
  • I've verified that I'm running youtube-dl version 2021.05.16
  • I've checked that all provided URLs are alive and playable in a browser
  • I've checked that none of provided URLs violate any copyrights
  • I've searched the bugtracker for similar site support requests including closed ones

Example URLs

Description

Plays in Firefox. youtube-dl returns a HTTP Error 403: Forbidden

Originally created by @rsfinlayson on GitHub (May 28, 2021). <!-- ###################################################################### WARNING! IGNORING THE FOLLOWING TEMPLATE WILL RESULT IN ISSUE CLOSED AS INCOMPLETE ###################################################################### --> ## Checklist <!-- Carefully read and work through this check list in order to prevent the most common mistakes and misuse of youtube-dl: - First of, make sure you are using the latest version of youtube-dl. Run `youtube-dl --version` and ensure your version is 2021.05.16. If it's not, see https://yt-dl.org/update on how to update. Issues with outdated version will be REJECTED. - Make sure that all provided video/audio/playlist URLs (if any) are alive and playable in a browser. - Make sure that site you are requesting is not dedicated to copyright infringement, see https://yt-dl.org/copyright-infringement. youtube-dl does not support such sites. In order for site support request to be accepted all provided example URLs should not violate any copyrights. - Search the bugtracker for similar site support requests: http://yt-dl.org/search-issues. DO NOT post duplicates. - Finally, put x into all relevant boxes (like this [x]) --> - [x] I'm reporting a new site support request - [x] I've verified that I'm running youtube-dl version **2021.05.16** - [x] I've checked that all provided URLs are alive and playable in a browser - [x] I've checked that none of provided URLs violate any copyrights - [x] I've searched the bugtracker for similar site support requests including closed ones ## Example URLs <!-- Provide all kinds of example URLs support for which should be included. Replace following example URLs by yours. --> - Single video: https://www.cameo.com/v/60aadcf491e5e200248ec034?utm_campaign=video_share_to_copy ## Description <!-- Provide any additional information. If work on your issue requires account credentials please provide them or explain how one can obtain them. --> Plays in Firefox. youtube-dl returns a HTTP Error 403: Forbidden
Author
Owner

@SuperSonicHub1 commented on GitHub (Jun 15, 2021):

@rsfinlayson It would be appreciated if you could share more video links.

@SuperSonicHub1 commented on GitHub (Jun 15, 2021): @rsfinlayson It would be appreciated if you could share more video links.
Author
Owner

@rsfinlayson commented on GitHub (Jun 15, 2021):

@rsfinlayson It would be appreciated if you could share more video links.

Sorry, but that's the only one I saw.

@rsfinlayson commented on GitHub (Jun 15, 2021): > @rsfinlayson It would be appreciated if you could share more video links. Sorry, but that's the only one I saw.
Author
Owner

@SuperSonicHub1 commented on GitHub (Jun 15, 2021):

Did some basic investigation of the URL supplied by @rsfinlayson and here are my findings:

  • remember the path segment after /v/ containing the ID (60aadcf491e5e200248ec034)
  • get the JSON blob (can include undefined) in a script tag that's assigned to window.__data
    • this regex is nowhere near functional, but it's a start: r"<script charSet=\"UTF-8\">window\.__data=(.*);</script>"
  • to get the video with the Cameo watermark: root['orders']['orders'][<id>]['mediaUrl']
  • to get the video without the watermark: root['orders']['orders'][<id>]['nakedMediaUrl']
  • other attributes of interest at root['orders']['orders'][<id>] include:
    • "thumbnailUrl" and "nakedThumbnailUrl"
    • "_id" (id used in URL) and "id" (internal id)
    • "likes"
    • "mediaDurationInMillis"
    • "mediaResolution"
      • "height"
      • "width"
    • "createdAt", "updatedAt", "completedAt", and "expiresAt"
    • "instructions"
  • the creator's name can be fetched from the title:
<title data-rh="true">Cameo - Cameo by Natasha Henstridge for Adam Carolla</title>

Don't know if I'll make the extractor myself, but I hope I am of help to anyone that does. Should be pretty easy if you can figure out an easy way to drag out that JSON blob.

@SuperSonicHub1 commented on GitHub (Jun 15, 2021): Did some basic investigation of the URL supplied by @rsfinlayson and here are my findings: * remember the path segment after `/v/` containing the ID (60aadcf491e5e200248ec034) * get the JSON blob (can include `undefined`) in a `script` tag that's assigned to `window.__data` * this regex is nowhere near functional, but it's a start: `r"<script charSet=\"UTF-8\">window\.__data=(.*);</script>"` * to get the video with the Cameo watermark: `root['orders']['orders'][<id>]['mediaUrl']` * to get the video without the watermark: `root['orders']['orders'][<id>]['nakedMediaUrl']` * other attributes of interest at `root['orders']['orders'][<id>]` include: * "thumbnailUrl" and "nakedThumbnailUrl" * "_id" (id used in URL) and "id" (internal id) * "likes" * "mediaDurationInMillis" * "mediaResolution" * "height" * "width" * "createdAt", "updatedAt", "completedAt", and "expiresAt" * "instructions" * the creator's name can be fetched from the title: ```html <title data-rh="true">Cameo - Cameo by Natasha Henstridge for Adam Carolla</title> ``` Don't know if I'll make the extractor myself, but I hope I am of help to anyone that does. Should be pretty easy if you can figure out an easy way to drag out that JSON blob.
Author
Owner
@SuperSonicHub1 commented on GitHub (Jun 15, 2021): I've also gathered more URLs. Seeing how Cameo requests seemingly expire, making test cases will probably be pointless, but who cares: * https://www.cameo.com/v/60aadcf491e5e200248ec034 * https://www.cameo.com/v/60c02236729f43001d146549 * https://www.cameo.com/v/60bfbf7513776a001dca0e09 * https://www.cameo.com/v/609aa14919b053001d539394 * https://www.cameo.com/v/605ff65f31ca4f001d6355f9 * https://www.cameo.com/v/605e1a8063d5cf001df9dc50 * https://www.cameo.com/v/5c17d23060fd1b0103906465
Author
Owner

@SuperSonicHub1 commented on GitHub (Jun 15, 2021):

We can also get multiple orders made by a user at once and create a playlist. We'll be using https://www.cameo.com/natashahenstridge as our test case.

  • get the JSON blob assigned to window.__data again
  • iterate over all keys and values in root['orders']['orders'] and parse them the same way we would a video page

We can also get a lot of information about the user account by looking at the only key in root['users']['users'] which can be retrieved from root['users']['selectedUserId']:

  • "name"
  • "bio"
  • "createdAt"
  • "imageUrl"
@SuperSonicHub1 commented on GitHub (Jun 15, 2021): We can also get multiple orders made by a user at once and create a playlist. We'll be using https://www.cameo.com/natashahenstridge as our test case. * get the JSON blob assigned to window.__data again * iterate over all keys and values in `root['orders']['orders']` and parse them the same way we would a video page We can also get a lot of information about the user account by looking at the only key in `root['users']['users']` which can be retrieved from `root['users']['selectedUserId']`: * "name" * "bio" * "createdAt" * "imageUrl"
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#23813
No description provided.