Untitled
unknown
plain_text
2 years ago
2.7 kB
13
Indexable
def get_manifest(
self, title: Title, video_codec: str, bitrate_mode: str, quality: str, hdr: Optional[str] = None,
ignore_errors: bool = False
) -> dict:
res = self.session.get(
url=self.endpoints["playback"],
params={
"asin": title.id,
"consumptionType": "Streaming",
"desiredResources": ",".join([
"PlaybackUrls",
"AudioVideoUrls",
"CatalogMetadata",
"ForcedNarratives",
"SubtitlePresets",
"SubtitleUrls",
"TransitionTimecodes",
"TrickplayUrls",
"CuepointPlaylist",
"XRayMetadata",
"PlaybackSettings",
]),
"deviceID": self.device_id,
"deviceTypeID": self.device["device_type"],
"firmware": 1,
"gascEnabled": str(self.pv).lower(),
"marketplaceID": self.region["marketplace_id"],
"resourceUsage": "CacheResources",
"videoMaterialType": "Feature",
"playerType": "html5",
"clientId": self.client_id,
**({
"operatingSystemName": "Linux" if quality == "SD" else "Windows",
"operatingSystemVersion": "unknown" if quality == "SD" else "10.0",
} if not self.device_token else {}),
"deviceDrmOverride": "CENC",
"deviceStreamingTechnologyOverride": "DASH",
"deviceProtocolOverride": "Https",
"deviceVideoCodecOverride": video_codec,
"deviceBitrateAdaptationsOverride": bitrate_mode.replace("+", ","),
"deviceVideoQualityOverride": quality,
"deviceHdrFormatsOverride": self.VIDEO_RANGE_MAP.get(hdr, "None"),
"supportedDRMKeyScheme": "DUAL_KEY", # ?
"liveManifestType": "live,accumulating", # ?
"titleDecorationScheme": "primary-content",
"subtitleFormat": "TTMLv2",
"languageFeature": "MLFv2", # ?
"uxLocale": "en_US",
"xrayDeviceClass": "normal",
"xrayPlaybackMode": "playback",
"xrayToken": "XRAY_WEB_2020_V1",
"playbackSettingsFormatVersion": "1.0.0",
"playerAttributes": json.dumps({"frameRate": "HFR"}),
# possibly old/unused/does nothing:
"audioTrackId": "all",
},Editor is loading...
Leave a Comment