Skip to content

Instantly share code, notes, and snippets.

@mdwitr0
Created November 8, 2022 09:29
Show Gist options
  • Save mdwitr0/e84537cc435a55d60a7a57a44cc51b95 to your computer and use it in GitHub Desktop.
Save mdwitr0/e84537cc435a55d60a7a57a44cc51b95 to your computer and use it in GitHub Desktop.
const resp = {
licenseStatus: 'APPROVED',
streams: [
{
uri: 'https://strm.yandex.ru/vod/vh-ottenc-converted/vod-content/450376d9b48724f58ad96c94b5ea67de/9974477x1664480299x63584962-0684-44e7-b03b-007e166049d0/kaltura/dash_drm_sdr_hd_avc_aac_a6d357c5d43ae0236e1aabd8680a3d9a/450376d9b48724f58ad96c94b5ea67de/ysign1=149f9dd026e6d9f1fd22345c4c249a648bd1894ea2c94d845340bc6532e986e4,abcID=1358,from=ott-kp,pfx,sfx,ts=63774ea6/manifest.mpd?ottsession=bd16d86269ed4363b719470ef13f4e9d&testid=671364',
video: [3355364, 2524541, 1476456, 829356, 247724],
videoDetails: [
{
bitrate: 3355364,
dynamicRange: 'SDR',
width: 1920,
height: 818,
label: '1080p',
codec: 'AVC',
framesPerSecond: 25.0,
},
{
bitrate: 2524541,
dynamicRange: 'SDR',
width: 1280,
height: 544,
label: '720p',
codec: 'AVC',
framesPerSecond: 25.0,
},
{
bitrate: 1476456,
dynamicRange: 'SDR',
width: 1024,
height: 436,
label: '576p',
codec: 'AVC',
framesPerSecond: 25.0,
},
{
bitrate: 829356,
dynamicRange: 'SDR',
width: 854,
height: 362,
label: '480p',
codec: 'AVC',
framesPerSecond: 25.0,
},
{
bitrate: 247724,
dynamicRange: 'SDR',
width: 640,
height: 272,
label: '360p',
codec: 'AVC',
framesPerSecond: 25.0,
},
],
audio: [
{
index: 0,
language: 'rus',
title: 'Русский',
languageName: 'Русский',
quality: 'STEREO',
isForAdult: false,
audioChannelsNumber: 2,
},
],
subtitles: [
{
title: 'Русские',
url: 'https://strm.yandex.ru/vh-ottenc-converted/vod-content/450376d9b48724f58ad96c94b5ea67de/9974477x1664480299x63584962-0684-44e7-b03b-007e166049d0/subtitles/sub_rus_0_0.vtt',
language: 'rus',
},
],
tilesMeta: {
lowRes: {
tiles: { rows: 200, columns: 1 },
uriTemplate:
'https://strm.yandex.ru/vh-ottenc-converted/vod-content/450376d9b48724f58ad96c94b5ea67de/9974477x1664480299x63584962-0684-44e7-b03b-007e166049d0/sprites/lowres-sprite_$Number$.jpg',
spriteDuration: 3568.68,
tileDuration: 17.8434,
resolution: { width: 211, height: 18000 },
tileSize: { width: 211, height: 90 },
},
highRes: {
tiles: { rows: 50, columns: 1 },
uriTemplate:
'https://strm.yandex.ru/vh-ottenc-converted/vod-content/450376d9b48724f58ad96c94b5ea67de/9974477x1664480299x63584962-0684-44e7-b03b-007e166049d0/screens/sprite_$Number$.jpg',
spriteDuration: 892.17,
tileDuration: 17.8434,
resolution: { width: 422, height: 9000 },
tileSize: { width: 422, height: 180 },
},
offset: 0,
},
tilesMetas: [
{
lowRes: {
tiles: { rows: 200, columns: 1 },
uriTemplate:
'https://strm.yandex.ru/vh-ottenc-converted/vod-content/450376d9b48724f58ad96c94b5ea67de/9974477x1664480299x63584962-0684-44e7-b03b-007e166049d0/sprites/lowres-sprite_$Number$.jpg',
spriteDuration: 3568.68,
tileDuration: 17.8434,
resolution: { width: 211, height: 18000 },
tileSize: { width: 211, height: 90 },
},
highRes: {
tiles: { rows: 50, columns: 1 },
uriTemplate:
'https://strm.yandex.ru/vh-ottenc-converted/vod-content/450376d9b48724f58ad96c94b5ea67de/9974477x1664480299x63584962-0684-44e7-b03b-007e166049d0/screens/sprite_$Number$.jpg',
spriteDuration: 892.17,
tileDuration: 17.8434,
resolution: { width: 422, height: 9000 },
tileSize: { width: 422, height: 180 },
},
offset: 0,
},
],
drmType: 'widevine',
streamType: 'DASH',
videoDescriptorName: 'HD',
drmConfig: {
servers: {
'com.widevine.alpha': 'https://widevine-proxy.ott.yandex.ru/proxy',
},
advanced: {
'com.widevine.alpha': {
serverCertificateUrl:
'https://widevine-proxy.ott.yandex.ru/certificate',
},
},
requestParams: {
puid: 161327698,
watchSessionId: 'bd16d86269ed4363b719470ef13f4e9d',
contentId: '450376d9b48724f58ad96c94b5ea67de',
contentTypeId: 21,
serviceName: 'ott-kp',
productId: 2,
monetizationModel: 'SVOD',
expirationTimestamp: 1667920902,
verificationRequired: true,
signature: 'f26f37c7a07cada876d9b3fd531f210d4e813046',
version: 'V4',
},
},
trackings: {
serviceName: 'ott-kp',
uuid: '450376d9b48724f58ad96c94b5ea67de',
sid: 'bd16d86269ed4363b719470ef13f4e9d',
contentTypeId: 21,
monetizationModel: 'SVOD',
puid: 161327698,
kpId: 1355060,
},
prerollsDurationMs: 0,
},
],
sessionId: 'bd16d86269ed4363b719470ef13f4e9d',
vigoUid: '19c1a849e7ee63fa15c4bd6c7ac3994c',
playerRestrictionConfig: { subtitlesButtonEnable: true },
concurrencyArbiterConfig: {
server: 'https://concurrency-arbiter.ott.yandex.net',
requestParams: {
deviceId: '4551250771645113785',
userId: '161327698',
contentId: '450376d9b48724f58ad96c94b5ea67de',
contentTitle: 'Топи - Сезон 1 - Серия 3 - Воскрешение',
watchSessionId: 'bd16d86269ed4363b719470ef13f4e9d',
rightHolderId: 737,
monetizationModel: 'SVOD',
familyId: 'f1678701',
subscription: 'KP_BASIC',
watchArbiterRestrictions: [{ billingFeatureName: 'passport-family' }],
version: 'V3',
expirationTimestamp: 1667920902,
serviceName: 'ott-kp',
signature: '714c866d785bca470647c6e74ddc4c430324b1b4',
},
},
drmRequirement: 'DRM_REQUIRED',
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment