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

Site Support Request: Private Vimeo HLS/DASH streams #26714

Open
aidalgol opened this issue Sep 26, 2020 · 0 comments
Open

Site Support Request: Private Vimeo HLS/DASH streams #26714

aidalgol opened this issue Sep 26, 2020 · 0 comments

Comments

@aidalgol
Copy link

@aidalgol aidalgol commented Sep 26, 2020

Checklist

  • I'm reporting a new site support request
  • I've verified that I'm running youtube-dl version 2020.09.20
  • 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

Some Patreon "creators" provide paywalled videos hosted on Vimeo using something like HLS or DASH, but with the segments specified in a master.json file instead of a .m3u8 file. Since the only examples I know of are copyrighted and paywalled videos, I have provided a sanitised example of a master.json file below. The only way I know of to get a real example is to subscribe to Red Letter Media's $15 tier and look at any of the $15-tier videos with the browser's network monitor open.

Finally, eMBee/vimeo-download works to download these videos, so some code from that project could be reused for a youtube-dl extractor.

{
  "clip_id": "deadbeef-dead-beef-dead-beefdeadbeef",
  "base_url": "../",
  "video": [
    {
      "id": "deadbeef",
      "base_url": "bc2fbbb3/chop/",
      "format": "mp42",
      "mime_type": "video/mp4",
      "codecs": "avc1.640020",
      "bitrate": 2886000,
      "avg_bitrate": 1855000,
      "duration": 536.7445208333334,
      "framerate": 23.976023976023978,
      "width": 1280,
      "height": 720,
      "max_segment_duration": 6,
      "init_segment": "long base64-encoded string",
      "segments": [
        {
          "start": 0,
          "end": 6.006,
          "url": "segment-1.m4s",
          "size": 560965
        },
        {
          "start": 6.006,
          "end": 12.012,
          "url": "segment-2.m4s",
          "size": 1478293
        },
        ...
        {
          "start": 534.534,
          "end": 536.7445208333334,
          "url": "segment-90.m4s",
          "size": 32456
        }
      ]
    },
    {
      "id": "deadbeef",
      "base_url": "1b6c65f8/chop/",
      "format": "mp42",
      "mime_type": "video/mp4",
      "codecs": "avc1.640028",
      "bitrate": 5901000,
      "avg_bitrate": 4489000,
      "duration": 536.7445208333334,
      "framerate": 23.976023976023978,
      "width": 1920,
      "height": 1080,
      "max_segment_duration": 6,
      "init_segment": "long base64-encoded string",
      "segments": [
        {
          "start": 0,
          "end": 6.006,
          "url": "segment-1.m4s",
          "size": 1311979
        },
        {
          "start": 6.006,
          "end": 12.012,
          "url": "segment-2.m4s",
          "size": 3441538
        },
        ...
        {
          "start": 534.534,
          "end": 536.7445208333334,
          "url": "segment-90.m4s",
          "size": 49097
        }
      ]
    },
    {
      "id": "deadbeef",
      "base_url": "629852a8/chop/",
      "format": "mp42",
      "mime_type": "video/mp4",
      "codecs": "avc1.64001F",
      "bitrate": 1563000,
      "avg_bitrate": 1063000,
      "duration": 536.7445208333334,
      "framerate": 23.976023976023978,
      "width": 960,
      "height": 540,
      "max_segment_duration": 6,
      "init_segment": "long base64-encoded string",
      "segments": [
        {
          "start": 0,
          "end": 6.006,
          "url": "segment-1.m4s",
          "size": 348150
        },
        {
          "start": 6.006,
          "end": 12.012,
          "url": "segment-2.m4s",
          "size": 757722
        },
        ...
        {
          "start": 534.534,
          "end": 536.7445208333334,
          "url": "segment-90.m4s",
          "size": 24634
        }
      ]
    },
    {
      "id": "deadbeef",
      "base_url": "6a911752/chop/",
      "format": "mp42",
      "mime_type": "video/mp4",
      "codecs": "avc1.64001E",
      "bitrate": 546000,
      "avg_bitrate": 437000,
      "duration": 536.7445208333334,
      "framerate": 23.976023976023978,
      "width": 640,
      "height": 360,
      "max_segment_duration": 6,
      "init_segment": "long base64-encoded string",
      "segments": [
        {
          "start": 0,
          "end": 6.006,
          "url": "segment-1.m4s",
          "size": 167338
        },
        {
          "start": 6.006,
          "end": 12.012,
          "url": "segment-2.m4s",
          "size": 328395
        },
        ...
        {
          "start": 534.534,
          "end": 536.7445208333334,
          "url": "segment-90.m4s",
          "size": 15745
        }
      ]
    },
    {
      "id": "deadbeef",
      "base_url": "835380e6/chop/",
      "format": "mp42",
      "mime_type": "video/mp4",
      "codecs": "avc1.640015",
      "bitrate": 341000,
      "avg_bitrate": 262000,
      "duration": 536.7445,
      "framerate": 23.976023976023978,
      "width": 426,
      "height": 240,
      "max_segment_duration": 6,
      "init_segment": "long base64-encoded string",
      "segments": [
        {
          "start": 0,
          "end": 6.006,
          "url": "segment-1.m4s",
          "size": 103286
        },
        {
          "start": 6.006,
          "end": 12.012,
          "url": "segment-2.m4s",
          "size": 192183
        },
        ...
        {
          "start": 534.534,
          "end": 536.7445,
          "url": "segment-90.m4s",
          "size": 6571
        }
      ]
    }
  ],
  "audio": [
    {
      "id": "deadbeef",
      "base_url": "../audio/bc2fbbb3/chop/",
      "format": "mp42",
      "mime_type": "audio/mp4",
      "codecs": "mp4a.40.2",
      "bitrate": 255000,
      "avg_bitrate": 255000,
      "duration": 536.7466666666667,
      "channels": 2,
      "sample_rate": 48000,
      "max_segment_duration": 6,
      "init_segment": "long base64-encoded string",
      "segments": [
        {
          "start": 0,
          "end": 6.016,
          "url": "segment-1.m4s",
          "size": 192057
        },
        {
          "start": 6.016,
          "end": 12.010666666666667,
          "url": "segment-2.m4s",
          "size": 190924
        },
        ...
        {
          "start": 534.528,
          "end": 536.7466666666667,
          "url": "segment-90.m4s",
          "size": 70453
        }
      ]
    },
    {
      "id": "deadbeef",
      "base_url": "../audio/6a911752/chop/",
      "format": "mp42",
      "mime_type": "audio/mp4",
      "codecs": "mp4a.40.2",
      "bitrate": 128000,
      "avg_bitrate": 127000,
      "duration": 536.7466666666667,
      "channels": 2,
      "sample_rate": 48000,
      "max_segment_duration": 6,
      "init_segment": "long base64-encoded string",
      "segments": [
        {
          "start": 0,
          "end": 6.016,
          "url": "segment-1.m4s",
          "size": 96121
        },
        {
          "start": 6.016,
          "end": 12.010666666666667,
          "url": "segment-2.m4s",
          "size": 95003
        },
        ...
        {
          "start": 534.528,
          "end": 536.7466666666667,
          "url": "segment-90.m4s",
          "size": 34737
        }
      ]
    },
    {
      "id": "835380e6",
      "base_url": "../audio/835380e6/chop/",
      "format": "mp42",
      "mime_type": "audio/mp4",
      "codecs": "mp4a.40.2",
      "bitrate": 64000,
      "avg_bitrate": 64000,
      "duration": 536.7893333333334,
      "channels": 2,
      "sample_rate": 24000,
      "max_segment_duration": 6,
      "init_segment": "long base64-encoded string",
      "segments": [
        {
          "start": 0,
          "end": 6.016,
          "url": "segment-1.m4s",
          "size": 48410
        },
        {
          "start": 6.016,
          "end": 12.032,
          "url": "segment-2.m4s",
          "size": 47735
        },
        ...
        {
          "start": 534.528,
          "end": 536.7893333333334,
          "url": "segment-90.m4s",
          "size": 17498
        }
      ]
    }
  ]
}
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
1 participant
You can’t perform that action at this time.