ytdl-org / youtube-dl

Command-line program to download videos from YouTube.com and other video sites
http://ytdl-org.github.io/youtube-dl/
The Unlicense
132.58k stars 10.05k forks source link

SBS on demand. One of six episodes fails to download. #31841

Open gswan opened 1 year ago

gswan commented 1 year ago

Checklist

Verbose log

$ youtube-dl -v https://www.sbs.com.au/ondemand/watch/2175290435999
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: [u'-v', u'https://www.sbs.com.au/ondemand/watch/2175290435999']
WARNING: Assuming --restrict-filenames since file system encoding cannot encode all characters. Set the LC_ALL environment variable to fix this.
[debug] Encodings: locale ANSI_X3.4-1968, fs ANSI_X3.4-1968, out ANSI_X3.4-1968, pref ANSI_X3.4-1968
[debug] youtube-dl version 2021.12.17
[debug] Python version 2.7.17 (CPython) - Linux-5.4.2-x86_64-with-glibc2.2.5
[debug] exe versions: ffmpeg 4.4, ffprobe 4.4
[debug] Proxy map: {}
[SBS] 2175290435999: Downloading JSON metadata
[ThePlatform] 8Eexyds5RzGA: Downloading SMIL data
[ThePlatform] 8Eexyds5RzGA: Downloading MPD manifest
WARNING: Failed to download MPD manifest: HTTP Error 403: Forbidden
ERROR: No video formats found; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
Traceback (most recent call last):
  File "/usr/local/bin/youtube-dl/youtube_dl/YoutubeDL.py", line 815, in wrapper
    return func(self, *args, **kwargs)
  File "/usr/local/bin/youtube-dl/youtube_dl/YoutubeDL.py", line 836, in __extract_info
    ie_result = ie.extract(url)
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/common.py", line 534, in extract
    ie_result = self._real_extract(url)
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/theplatform.py", line 309, in _real_extract
    self._sort_formats(formats)
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/common.py", line 1374, in _sort_formats
    raise ExtractorError('No video formats found')
ExtractorError: No video formats found; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.

Description

This particular episode (https://www.sbs.com.au/ondemand/watch/2175290435999) fails to download. Other episodes (2175290435997, 2175290435996 etc) download correctly. The episode is viewable in the browser directly (https://www.sbs.com.au/ondemand/tv-series/cobra/season-2/cobra-s2-ep6/2175290435999)

As a side note, attempting this browser viewing URL with youtube-dl results in an Unsupported URL' message, so the correct URL to use which results in other successful downloads is the URL originally used.

$ youtube-dl -v https://www.sbs.com.au/ondemand/tv-series/cobra/season-2/cobra-s2-ep6/2175290435999
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: [u'-v', u'https://www.sbs.com.au/ondemand/tv-series/cobra/season-2/cobra-s2-ep6/2175290435999']
WARNING: Assuming --restrict-filenames since file system encoding cannot encode all characters. Set the LC_ALL environment variable to fix this.
[debug] Encodings: locale ANSI_X3.4-1968, fs ANSI_X3.4-1968, out ANSI_X3.4-1968, pref ANSI_X3.4-1968
[debug] youtube-dl version 2021.12.17
[debug] Python version 2.7.17 (CPython) - Linux-5.4.2-x86_64-with-glibc2.2.5
[debug] exe versions: ffmpeg 4.4, ffprobe 4.4
[debug] Proxy map: {}
[generic] 2175290435999: Requesting header
WARNING: Falling back on generic information extractor.
[generic] 2175290435999: Downloading webpage
[generic] 2175290435999: Extracting information
ERROR: Unsupported URL: https://www.sbs.com.au/ondemand/tv-series/cobra/season-2/cobra-s2-ep6/2175290435999
Traceback (most recent call last):
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/generic.py", line 2477, in _real_extract
    doc = compat_etree_fromstring(webpage.encode('utf-8'))
  File "/usr/local/bin/youtube-dl/youtube_dl/compat.py", line 2571, in compat_etree_fromstring
    doc = _XML(text, parser=etree.XMLParser(target=_TreeBuilder(element_factory=_element_factory)))
  File "/usr/local/bin/youtube-dl/youtube_dl/compat.py", line 2560, in _XML
    parser.feed(text)
  File "/usr/lib/python2.7/xml/etree/ElementTree.py", line 1659, in feed
    self._raiseerror(v)
  File "/usr/lib/python2.7/xml/etree/ElementTree.py", line 1523, in _raiseerror
    raise err
ParseError: syntax error: line 1, column 0
Traceback (most recent call last):
  File "/usr/local/bin/youtube-dl/youtube_dl/YoutubeDL.py", line 815, in wrapper
    return func(self, *args, **kwargs)
  File "/usr/local/bin/youtube-dl/youtube_dl/YoutubeDL.py", line 836, in __extract_info
    ie_result = ie.extract(url)
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/common.py", line 534, in extract
    ie_result = self._real_extract(url)
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/generic.py", line 3489, in _real_extract
    raise UnsupportedError(url)
UnsupportedError: Unsupported URL: https://www.sbs.com.au/ondemand/tv-series/cobra/season-2/cobra-s2-ep6/2175290435999
dirkf commented 1 year ago

yt-dlp understands the ../tv-series/.. URL, but I can't exercise either that or yt-dl from outside Oz: "This content is not available in your location." The only significant code difference is the URL pattern, though, so I expect the same problem. The unsupported URL issue is #30325, fixed with a patch there and in the released yt-dlp.

https://github.com/yt-dlp/yt-dlp/issues/5544 shows 403 with live HLS rather than DASH.

We had to modify access for another service that uses ThePlatform but this doesn't seem to be similar.

gswan commented 1 year ago

OK thanks. I checked the patch, updated the source and rebuilt yt-dl. I think they have only just made updates to their streaming platform video obfuscation as the previous successful episodes no longer download either (as a test). The browser (FF) is able to stream everything OK. Running the same command results in this now:

$ youtube-dl -v https://www.sbs.com.au/ondemand/watch/2175290435999
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: [u'-v', u'https://www.sbs.com.au/ondemand/watch/2175290435999']
WARNING: Assuming --restrict-filenames since file system encoding cannot encode all characters. Set the LC_ALL environment variable to fix this.
[debug] Encodings: locale ANSI_X3.4-1968, fs ANSI_X3.4-1968, out ANSI_X3.4-1968, pref ANSI_X3.4-1968
[debug] youtube-dl version 2021.12.17
[debug] Python version 2.7.17 (CPython) - Linux-5.4.2-x86_64-with-glibc2.2.5
[debug] exe versions: ffmpeg 4.4, ffprobe 4.4
[debug] Proxy map: {}
[SBS] 2175290435999: Downloading JSON metadata
[ThePlatform] 8Eexyds5RzGA: Downloading SMIL data
[ThePlatform] 8Eexyds5RzGA: Downloading MPD manifest
WARNING: Failed to download MPD manifest: HTTP Error 403: Forbidden
ERROR: No video formats found; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
Traceback (most recent call last):
  File "/usr/local/bin/youtube-dl/youtube_dl/YoutubeDL.py", line 815, in wrapper
    return func(self, *args, **kwargs)
  File "/usr/local/bin/youtube-dl/youtube_dl/YoutubeDL.py", line 836, in __extract_info
    ie_result = ie.extract(url)
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/common.py", line 534, in extract
    ie_result = self._real_extract(url)
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/theplatform.py", line 309, in _real_extract
    self._sort_formats(formats)
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/common.py", line 1374, in _sort_formats
    raise ExtractorError('No video formats found')
ExtractorError: No video formats found; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
dirkf commented 1 year ago

Can you play the show in FF with DRM (EME) disabled?

If not, SBS is now encrypting its media and yt-dl is no help with such pages. If DRM affects all site media, the site could be marked as not working; if only some, the extractor should report the problem instead of "No video formats found". Or perhaps there is some new access protocol for the failing MPD manifest that would reveal playable formats.

BTW you can format your logs by putting triple backquotes (```) above and below, and append console to the top triple for extra formatting credit.

gswan commented 1 year ago

Thanks for the suggestion. I switched off DRM in FF (unchecked "Play DRM-controlled content") and it played OK still. The URL in FF appeared as: https://www.sbs.com.au/ondemand/watch/2175290435999 I can use tcpdump to capture the packet interchange if you like, but I'm not sure if that will show anything interesting.

dirkf commented 1 year ago

The best thing would be to use the FF devtools where there should be an option to dump the HTTP[s] exchanges in HAR file in the network tab. Clear the network history, then navigate to the page until the video starts playing, and create the HAR: (eg) https://documentation.n-able.com/takecontrol/troubleshooting/Content/kb/How-to-save-browser-developer-tools-HAR-files-to-provide-to-support.htm.

gswan commented 1 year ago

Nice. I hadn't used that option before. Where would you want me to send the HAR file? It's quite large (around 6MB) by the time I can pause the capture.

dirkf commented 1 year ago

Maybe a gist?

gswan commented 1 year ago
Here's the last few request/responses before it starts serving up the content chunks. ```json { "pageref": "page_4", "startedDateTime": "2023-03-15T19:00:33.295+11:00", "request": { "bodySize": 0, "method": "GET", "url": "https://catalogue.pr.sbsod.com/mpx-media/2175290435999", "httpVersion": "", "headers": [ { "name": "Host", "value": "catalogue.pr.sbsod.com" }, { "name": "User-Agent", "value": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/110.0" }, { "name": "Accept", "value": "application/json, text/plain, */*" }, { "name": "Accept-Language", "value": "en" }, { "name": "Accept-Encoding", "value": "gzip, deflate, br" }, { "name": "Origin", "value": "https://www.sbs.com.au" }, { "name": "Connection", "value": "keep-alive" }, { "name": "Referer", "value": "https://www.sbs.com.au/" }, { "name": "Sec-Fetch-Dest", "value": "empty" }, { "name": "Sec-Fetch-Mode", "value": "cors" }, { "name": "Sec-Fetch-Site", "value": "cross-site" }, { "name": "TE", "value": "trailers" } ], "cookies": [], "queryString": [], "headersSize": 428 }, "response": { "status": 0, "statusText": "", "httpVersion": "", "headers": [], "cookies": [], "content": { "mimeType": "application/json", "size": 2477, "text": "{\"id\":\"c04bf9c1-847c-5dae-b85d-eb2a92daf542\",\"entityType\":\"TV_EPISODE\",\"localeID\":\"en\",\"title\":\"Episode 6\",\"slug\":\"cobra-s2-ep6\",\"description\":\"Reeling from the events in Kent, the COBRA team are briefed on the nature of a sophisticated malware which has infected the UK's critical infrastructure.\",\"genres\":[\"Politics\",\"Drama\",\"Thriller\",\"Drama\"],\"availability\":{\"start\":\"2023-03-10T13:00:00Z\",\"end\":\"2024-02-28T12:59:59Z\"},\"classificationID\":\"M\",\"consumerAdvices\":[\"A\",\"L\",\"V\"],\"consumerAdviceTexts\":[\"Adult Themes\",\"Coarse Language\",\"Violence\"],\"countries\":[\"United Kingdom\"],\"languages\":[\"English\"],\"textTracks\":[],\"qualities\":[],\"crews\":[{\"id\":\"46c0a2a6-4c91-5d15-9868-966d4eef0447\",\"entityType\":\"PERSON\",\"name\":\"Ben Richards\",\"role\":\"Creator\"},{\"id\":\"46c0a2a6-4c91-5d15-9868-966d4eef0447\",\"entityType\":\"PERSON\",\"name\":\"Ben Richards\",\"role\":\"Writer\"}],\"casts\":[{\"id\":\"e70e7315-74ee-5e0f-8fe0-fec0e584232a\",\"entityType\":\"PERSON\",\"name\":\"Robert Carlyle\",\"role\":\"Actor\"},{\"id\":\"83b24444-c4c6-578b-9c98-f02c0f9b6727\",\"entityType\":\"PERSON\",\"name\":\"Victoria Hamilton\",\"role\":\"Actor\"},{\"id\":\"84495126-2001-5ce0-b0a6-f2861f18ef0d\",\"entityType\":\"PERSON\",\"name\":\"Richard Dormer\",\"role\":\"Actor\"},{\"id\":\"3fd484e2-e5c6-5942-8bb5-2edd24bb48ee\",\"entityType\":\"PERSON\",\"name\":\"Marsha Thomason\",\"role\":\"Actor\"},{\"id\":\"df2ab9f1-a97e-5fbd-8ef7-aedb42978257\",\"entityType\":\"PERSON\",\"name\":\"David Haig\",\"role\":\"Actor\"},{\"id\":\"07068f11-68c1-50d0-967d-aa50f79cd6c0\",\"entityType\":\"PERSON\",\"name\":\"Lucy Cohu\",\"role\":\"Actor\"},{\"id\":\"7c40c45f-3d23-58b2-a7eb-1b464f7387ad\",\"entityType\":\"PERSON\",\"name\":\"Mark Bazeley\",\"role\":\"Actor\"},{\"id\":\"df076c0c-80ec-516c-82ed-d0b857630c76\",\"entityType\":\"PERSON\",\"name\":\"Grace Hogg-Robinson\",\"role\":\"Actor\"}],\"images\":[{\"id\":\"abe054d4-6a4b-5eee-bced-79e92206fc57\",\"category\":\"16:9|704|396|BANNER\"},{\"id\":\"7fa62077-fa16-59e8-8e42-a9cd048e2c6e\",\"category\":\"16:9|1920|1080|KEY_ART\"},{\"id\":\"1f5966d6-ecfe-512c-9ebe-50101e8d7ebb\",\"category\":\"1:1|1400|1400|MASK\"},{\"id\":\"48508900-08e9-5f70-bdaf-b2f7cd962c2f\",\"category\":\"2:3|960|1440|BANNER\"},{\"id\":\"48508900-08e9-5f70-bdaf-b2f7cd962c2f\",\"category\":\"2:3|960|1440|KEY_ART\"}],\"trailers\":[],\"extras\":[],\"distributors\":[{\"id\":\"6593\",\"name\":\"Universal Studios Int. Bv\"}],\"duration\":\"PT44M13S\",\"mpxMediaID\":2175290435999,\"ibmsTitleID\":760260,\"releaseYear\":2021,\"seriesID\":\"091463a9-8df7-5139-a3d9-35793c131079\",\"seriesTitle\":\"COBRA\",\"seriesSlug\":\"cobra\",\"seasonNumber\":2,\"seasonSlug\":\"season-2\",\"episodeNumber\":6,\"channels\":[]}" }, "redirectURL": "", "bodySize": 1206 }, "cache": {}, "timings": { "blocked": 0, "dns": 0, "connect": 0, "ssl": 0, "send": 0, "wait": 0, "receive": 0 }, "time": 0, "_securityState": "secure" }, { "pageref": "page_4", "startedDateTime": "2023-03-15T19:00:33.321+11:00", "request": { "bodySize": 0, "method": "GET", "url": "https://catalogue.pr.sbsod.com/tv-series/cobra", "httpVersion": "HTTP/2", "headers": [ { "name": "Host", "value": "catalogue.pr.sbsod.com" }, { "name": "User-Agent", "value": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/110.0" }, { "name": "Accept", "value": "application/json, text/plain, */*" }, { "name": "Accept-Language", "value": "en" }, { "name": "Accept-Encoding", "value": "gzip, deflate, br" }, { "name": "Origin", "value": "https://www.sbs.com.au" }, { "name": "Connection", "value": "keep-alive" }, { "name": "Referer", "value": "https://www.sbs.com.au/" }, { "name": "Sec-Fetch-Dest", "value": "empty" }, { "name": "Sec-Fetch-Mode", "value": "cors" }, { "name": "Sec-Fetch-Site", "value": "cross-site" } ], "cookies": [], "queryString": [], "headersSize": null }, "response": { "status": 200, "statusText": "OK", "httpVersion": "HTTP/2", "headers": [ { "name": "content-type", "value": "application/json" }, { "name": "last-modified", "value": "Wed, 15 Mar 2023 07:58:48 GMT" }, { "name": "content-encoding", "value": "gzip" }, { "name": "content-length", "value": "3785" }, { "name": "cache-control", "value": "public, max-age=81, s-maxage=180" }, { "name": "expires", "value": "Wed, 15 Mar 2023 08:01:48 GMT" }, { "name": "date", "value": "Wed, 15 Mar 2023 08:00:27 GMT" }, { "name": "server-timing", "value": "cdn-cache; desc=HIT" }, { "name": "server-timing", "value": "edge; dur=1" }, { "name": "vary", "value": "accept-language, accept-encoding" }, { "name": "access-control-allow-origin", "value": "*" }, { "name": "vary", "value": "accept-language, accept-encoding, Origin" }, { "name": "server-timing", "value": "ak_p; desc=\"466352_389422693_4148987_40_4344_12_0\";dur=1" }, { "name": "X-Firefox-Spdy", "value": "h2" } ], "cookies": [], "content": { "mimeType": "application/json", "size": 14959, "text": "{\"id\":\"091463a9-8df7-5139-a3d9-35793c131079\",\"entityType\":\"TV_SERIES\",\"localeID\":\"en\",\"title\":\"COBRA\",\"slug\":\"cobra\",\"description\":\"The UK prime minister convenes an emergency committee of Britain's leading experts, crisis contingency planners, and senior politicians to deal with an unfolding national emergency.\",\"genres\":[\"Drama\",\"Politics\"],\"availability\":{\"start\":\"2022-05-03T14:00:00Z\",\"end\":\"2024-03-03T12:59:59Z\"},\"classificationID\":\"MA15+\",\"consumerAdvices\":[\"A\",\"D\",\"L\",\"V\"],\"consumerAdviceTexts\":[\"Strong Adult Themes\",\"Strong Drug References\",\"Strong Coarse Language\",\"Strong Violence\"],\"countries\":[\"United Kingdom\"],\"languages\":[\"English\"],\"textTracks\":[{\"localeID\":\"en\",\"language\":\"English\",\"type\":\"SUBTITLE\"}],\"qualities\":[\"HD\",\"nHD\"],\"crews\":[{\"id\":\"93ff5b8d-b515-5902-8345-b600f4c44549\",\"entityType\":\"PERSON\",\"name\":\"Joe Donaldson\",\"role\":\"Producer\"},{\"id\":\"46c0a2a6-4c91-5d15-9868-966d4eef0447\",\"entityType\":\"PERSON\",\"name\":\"Ben Richards\",\"role\":\"Writer\"},{\"id\":\"3a30053d-e494-5221-99a2-ec77981a43c1\",\"entityType\":\"PERSON\",\"name\":\"Hans Herbots\",\"role\":\"Director\"}],\"casts\":[{\"id\":\"e70e7315-74ee-5e0f-8fe0-fec0e584232a\",\"entityType\":\"PERSON\",\"name\":\"Robert Carlyle\",\"role\":\"Actor\"},{\"id\":\"83b24444-c4c6-578b-9c98-f02c0f9b6727\",\"entityType\":\"PERSON\",\"name\":\"Victoria Hamilton\",\"role\":\"Actor\"},{\"id\":\"84495126-2001-5ce0-b0a6-f2861f18ef0d\",\"entityType\":\"PERSON\",\"name\":\"Richard Dormer\",\"role\":\"Actor\"},{\"id\":\"df2ab9f1-a97e-5fbd-8ef7-aedb42978257\",\"entityType\":\"PERSON\",\"name\":\"David Haig\",\"role\":\"Actor\"},{\"id\":\"07068f11-68c1-50d0-967d-aa50f79cd6c0\",\"entityType\":\"PERSON\",\"name\":\"Lucy Cohu\",\"role\":\"Actor\"},{\"id\":\"7c40c45f-3d23-58b2-a7eb-1b464f7387ad\",\"entityType\":\"PERSON\",\"name\":\"Mark Bazeley\",\"role\":\"Actor\"},{\"id\":\"df076c0c-80ec-516c-82ed-d0b857630c76\",\"entityType\":\"PERSON\",\"name\":\"Grace Hogg-Robinson\",\"role\":\"Actor\"},{\"id\":\"6da377cc-8cb0-52c6-9c7d-c8ae0b44d9e0\",\"entityType\":\"PERSON\",\"name\":\"Joshua Hogan\",\"role\":\"Actor\"}],\"images\":[{\"id\":\"d43d3c1c-0572-5ef1-b3b9-407b723dbfc5\",\"category\":\"16:9|3840|2160|BANNER\"},{\"id\":\"37b32432-2480-5aa7-b9b2-5e73953c963e\",\"category\":\"16:9|1280|720|KEY_ART\"},{\"id\":\"07951be8-9383-5312-83e7-7c470d07bc88\",\"category\":\"1:1|3000|3000|MASK\"},{\"id\":\"2314af5d-3ee0-59b2-9615-e0ebbb6ab293\",\"category\":\"2:3|1280|1920|BANNER\"},{\"id\":\"4fefbabf-2ec9-5bb5-b9be-aed468b9587c\",\"category\":\"2:3|960|1440|KEY_ART\"}],\"trailers\":[],\"extras\":[{\"id\":\"e6bd4f02-57c9-58a0-8ce8-a7bc1d84acb2\",\"entityType\":\"CLIP\",\"category\":\"EXTRAS\",\"title\":\"Cobra | Trailer\",\"description\":\"The UK prime minister (Robert Carlyle) convenes an emergency committee of Britain's leading experts, crisis contingency planners, and senior politicians to deal with an unfolding national emergency.\",\"duration\":\"PT30S\",\"availability\":{\"start\":\"2022-05-05T14:00:00Z\",\"end\":\"2023-04-29T14:00:00Z\"},\"mpxMediaID\":2031095363706,\"images\":[{\"id\":\"88210c3a-9b23-58ef-92cb-0dedb2236a91\",\"category\":\"16:9|704|396|BANNER\"},{\"id\":\"359bc2b1-f210-58ea-a99a-84236bdfb71b\",\"category\":\"16:9|1280|720|KEY_ART\"},{\"id\":\"0705655f-b2c4-5881-b9a8-71f27372e4f0\",\"category\":\"1:1|200|200|MASK\"},{\"id\":\"09543c74-f1b3-53e1-83b0-6a25e5cbc1a4\",\"category\":\"2:3|960|1440|BANNER\"},{\"id\":\"358ca5d8-b568-5223-9d08-415c2a7a0a47\",\"category\":\"2:3|960|1440|KEY_ART\"}]}],\"distributors\":[{\"id\":\"6593\",\"name\":\"Universal Studios Int. Bv\"}],\"releaseYear\":2020,\"seasons\":[{\"id\":\"6429202e-7eb6-558c-a3a1-d15a4ee92364\",\"entityType\":\"TV_SEASON\",\"title\":\"Season 1\",\"slug\":\"season-1\",\"seasonNumber\":1,\"availability\":{\"start\":\"2022-05-03T14:00:00Z\",\"end\":\"2024-03-03T12:59:59Z\"},\"episodes\":[{\"id\":\"2f0f2144-bae0-5b9b-a96c-648e058b7778\",\"entityType\":\"TV_EPISODE\",\"seriesID\":\"091463a9-8df7-5139-a3d9-35793c131079\",\"seriesTitle\":\"COBRA\",\"seriesSlug\":\"cobra\",\"seasonNumber\":1,\"episodeNumber\":1,\"title\":\"Episode 1\",\"slug\":\"cobra-s1-ep1\",\"description\":\"As the possibility of a solar storm affecting the UK mounts, Prime Minister Robert Sutherland and his chief of staff Anna Marshall assemble the emergency committee COBRA in an effort to combat the situation.\",\"duration\":\"PT43M24S\",\"mpxMediaID\":2022662723645,\"genres\":[\"Drama\",\"Politics\",\"Drama\",\"Thriller\"],\"classificationID\":\"M\",\"consumerAdvices\":[\"A\",\"D\",\"L\"],\"consumerAdviceTexts\":[\"Adult Themes\",\"Drug References\",\"Coarse Language\"],\"availability\":{\"start\":\"2022-05-03T14:00:00Z\",\"end\":\"2024-03-03T12:59:59Z\"},\"releaseYear\":2020,\"languages\":[\"English\"],\"textTracks\":[{\"localeID\":\"en\",\"language\":\"English\",\"type\":\"SUBTITLE\"}],\"images\":[{\"id\":\"ef9df890-2c95-5fec-8ae9-e2932f5e41af\",\"category\":\"16:9|3840|2160|KEY_ART\"}]},{\"id\":\"01e9a74f-9b45-5bdd-a584-6922a5b0bc3b\",\"entityType\":\"TV_EPISODE\",\"seriesID\":\"091463a9-8df7-5139-a3d9-35793c131079\",\"seriesTitle\":\"COBRA\",\"seriesSlug\":\"cobra\",\"seasonNumber\":1,\"episodeNumber\":2,\"title\":\"Episode 2\",\"slug\":\"cobra-s1-ep2\",\"description\":\"With the nation in the full grip of the crisis and experiencing the worst blackout in the history of the UK, Sutherland and his team are forced to work around the clock to restore power; Anna reconnects with Edin.\",\"duration\":\"PT43M11S\",\"mpxMediaID\":2024804931898,\"genres\":[\"Drama\",\"Politics\",\"Drama\",\"Thriller\"],\"classificationID\":\"MA15+\",\"consumerAdvices\":[\"A\"],\"consumerAdviceTexts\":[\"Strong Adult Themes\"],\"availability\":{\"start\":\"2022-05-10T14:00:00Z\",\"end\":\"2024-03-03T12:59:59Z\"},\"releaseYear\":2020,\"languages\":[\"English\"],\"textTracks\":[{\"localeID\":\"en\",\"language\":\"English\",\"type\":\"SUBTITLE\"}],\"images\":[{\"id\":\"f215013f-e13e-57d1-91ca-91e5f9f0c649\",\"category\":\"16:9|3840|2160|KEY_ART\"}]},{\"id\":\"5a230b88-18d2-5712-8020-3624af345ffd\",\"entityType\":\"TV_EPISODE\",\"seriesID\":\"091463a9-8df7-5139-a3d9-35793c131079\",\"seriesTitle\":\"COBRA\",\"seriesSlug\":\"cobra\",\"seasonNumber\":1,\"episodeNumber\":3,\"title\":\"Episode 3\",\"slug\":\"cobra-s1-ep3\",\"description\":\"Sutherland, Anna, and Fraser head to one of the worst-affected areas; while the prime minister is away, Archie causes problems.\",\"duration\":\"PT44M16S\",\"mpxMediaID\":2027571267846,\"genres\":[\"Drama\",\"Politics\",\"Drama\",\"Thriller\"],\"classificationID\":\"M\",\"consumerAdvices\":[\"A\",\"L\",\"V\"],\"consumerAdviceTexts\":[\"Adult Themes\",\"Coarse Language\",\"Violence\"],\"availability\":{\"start\":\"2022-05-17T14:00:00Z\",\"end\":\"2024-03-03T12:59:59Z\"},\"releaseYear\":2020,\"languages\":[\"English\"],\"textTracks\":[{\"localeID\":\"en\",\"language\":\"English\",\"type\":\"SUBTITLE\"}],\"images\":[{\"id\":\"e5634e25-b339-587a-a180-00f8148eabf3\",\"category\":\"16:9|3840|2160|KEY_ART\"}]},{\"id\":\"4d4f3821-d31b-5d02-8a10-bb4950dcf400\",\"entityType\":\"TV_EPISODE\",\"seriesID\":\"091463a9-8df7-5139-a3d9-35793c131079\",\"seriesTitle\":\"COBRA\",\"seriesSlug\":\"cobra\",\"seasonNumber\":1,\"episodeNumber\":4,\"title\":\"Episode 4\",\"slug\":\"cobra-s1-ep4\",\"description\":\"Sutherland's knowledge about his daughter's part in her friend's death is questioned; a new threat rears its head.\",\"duration\":\"PT44M10S\",\"mpxMediaID\":2029918275610,\"genres\":[\"Drama\",\"Politics\",\"Drama\",\"Thriller\"],\"classificationID\":\"MA15+\",\"consumerAdvices\":[\"L\"],\"consumerAdviceTexts\":[\"Strong Coarse Language\"],\"availability\":{\"start\":\"2022-05-24T14:00:00Z\",\"end\":\"2024-03-03T12:59:59Z\"},\"releaseYear\":2020,\"languages\":[\"English\"],\"textTracks\":[{\"localeID\":\"en\",\"language\":\"English\",\"type\":\"SUBTITLE\"}],\"images\":[{\"id\":\"b7f4d430-8746-57dc-9be7-8a08493edf93\",\"category\":\"16:9|3840|2160|KEY_ART\"}]},{\"id\":\"b42b9e4a-21a2-57c2-a3da-7011c3daa870\",\"entityType\":\"TV_EPISODE\",\"seriesID\":\"091463a9-8df7-5139-a3d9-35793c131079\",\"seriesTitle\":\"COBRA\",\"seriesSlug\":\"cobra\",\"seasonNumber\":1,\"episodeNumber\":5,\"title\":\"Episode 5\",\"slug\":\"cobra-s1-ep5\",\"description\":\"Fraser deals with issues in his personal life as the crisis worsens; the prime minister is forced to consider more extreme measures to retain control and maintain order over the country.\",\"duration\":\"PT43M19S\",\"mpxMediaID\":2032058435771,\"genres\":[\"Drama\",\"Politics\",\"Drama\",\"Thriller\"],\"classificationID\":\"MA15+\",\"consumerAdvices\":[\"A\",\"V\"],\"consumerAdviceTexts\":[\"Strong Adult Themes\",\"Strong Violence\"],\"availability\":{\"start\":\"2022-05-31T14:00:00Z\",\"end\":\"2024-03-03T12:59:59Z\"},\"releaseYear\":2020,\"languages\":[\"English\"],\"textTracks\":[{\"localeID\":\"en\",\"language\":\"English\",\"type\":\"SUBTITLE\"}],\"images\":[{\"id\":\"8f2d9d09-843c-54cc-ad41-a42764ea49ca\",\"category\":\"16:9|1920|1080|KEY_ART\"}]},{\"id\":\"66f6ff1a-6927-54ec-8ed7-a6095d89cf7e\",\"entityType\":\"TV_EPISODE\",\"seriesID\":\"091463a9-8df7-5139-a3d9-35793c131079\",\"seriesTitle\":\"COBRA\",\"seriesSlug\":\"cobra\",\"seasonNumber\":1,\"episodeNumber\":6,\"title\":\"Episode 6\",\"slug\":\"cobra-s1-ep6\",\"description\":\"Fraser and his team reach the endgame as the crisis reaches a boiling point; the prime minister and Anna fight for their political lives.\",\"duration\":\"PT44M4S\",\"mpxMediaID\":2034363459901,\"genres\":[\"Drama\",\"Politics\",\"Drama\",\"Thriller\"],\"classificationID\":\"MA15+\",\"consumerAdvices\":[\"A\",\"V\"],\"consumerAdviceTexts\":[\"Strong Adult Themes\",\"Strong Violence\"],\"availability\":{\"start\":\"2022-06-07T14:00:00Z\",\"end\":\"2024-03-03T12:59:59Z\"},\"releaseYear\":2020,\"languages\":[\"English\"],\"textTracks\":[{\"localeID\":\"en\",\"language\":\"English\",\"type\":\"SUBTITLE\"}],\"images\":[{\"id\":\"1ad96165-6d1d-590c-838f-f03720e3e02a\",\"category\":\"16:9|3840|2160|KEY_ART\"}]}]},{\"id\":\"840d40c3-345a-517a-a73c-b4107eb832d4\",\"entityType\":\"TV_SEASON\",\"title\":\"Season 2\",\"slug\":\"season-2\",\"seasonNumber\":2,\"availability\":{\"start\":\"2023-03-10T13:00:00Z\",\"end\":\"2024-02-28T12:59:59Z\"},\"episodes\":[{\"id\":\"bfb54ecb-593f-57fe-b15a-044f1bdf3c80\",\"entityType\":\"TV_EPISODE\",\"seriesID\":\"091463a9-8df7-5139-a3d9-35793c131079\",\"seriesTitle\":\"COBRA\",\"seriesSlug\":\"cobra\",\"seasonNumber\":2,\"episodeNumber\":1,\"title\":\"Episode 1\",\"slug\":\"cobra-s2-ep1\",\"description\":\"Sutherland and Amrshall assemble the COBRA emergency committee to respond to a potentially explosive situation in Kent. Meanwhile, former Home Secretary Archie Glover Morgan plots a return to power.\",\"duration\":\"PT41M24S\",\"mpxMediaID\":2175290435993,\"genres\":[\"Drama\",\"Politics\",\"Drama\",\"Thriller\"],\"classificationID\":\"M\",\"consumerAdvices\":[\"A\",\"L\",\"V\"],\"consumerAdviceTexts\":[\"Adult Themes\",\"Coarse Language\",\"Violence\"],\"availability\":{\"start\":\"2023-03-10T13:00:00Z\",\"end\":\"2024-02-28T12:59:59Z\"},\"releaseYear\":2021,\"languages\":[\"English\"],\"textTracks\":[],\"images\":[{\"id\":\"8a540f4c-2fb7-54e4-bcd0-8923785ceef5\",\"category\":\"16:9|3840|2160|KEY_ART\"}]},{\"id\":\"77e7b383-4c99-5268-bc9e-ae3d40337fd7\",\"entityType\":\"TV_EPISODE\",\"seriesID\":\"091463a9-8df7-5139-a3d9-35793c131079\",\"seriesTitle\":\"COBRA\",\"seriesSlug\":\"cobra\",\"seasonNumber\":2,\"episodeNumber\":2,\"title\":\"Episode 2\",\"slug\":\"cobra-s2-ep2\",\"description\":\"Following devastation in Kent and the cyber-attack which continues to jam communications, the Prime Minister convenes an emergency COBRA meeting.\",\"duration\":\"PT44M11S\",\"mpxMediaID\":2175290435994,\"genres\":[\"Thriller\",\"Drama\",\"Politics\",\"Drama\"],\"classificationID\":\"M\",\"consumerAdvices\":[\"A\",\"L\"],\"consumerAdviceTexts\":[\"Adult Themes\",\"Coarse Language\"],\"availability\":{\"start\":\"2023-03-10T13:00:00Z\",\"end\":\"2024-02-28T12:59:59Z\"},\"releaseYear\":2021,\"languages\":[\"English\"],\"textTracks\":[],\"images\":[{\"id\":\"8866c0ff-6ced-56bd-ac93-f5a554be0cb5\",\"category\":\"16:9|3840|2160|KEY_ART\"}]},{\"id\":\"a3de5782-09ef-537e-8612-9654cda16777\",\"entityType\":\"TV_EPISODE\",\"seriesID\":\"091463a9-8df7-5139-a3d9-35793c131079\",\"seriesTitle\":\"COBRA\",\"seriesSlug\":\"cobra\",\"seasonNumber\":2,\"episodeNumber\":3,\"title\":\"Episode 3\",\"slug\":\"cobra-s2-ep3\",\"description\":\"COBRA is assembled when fresh disaster strikes, as a breach at Dover port suggests an insidious threat; the PM's strategy is tested by an online activist.\",\"duration\":\"PT42M37S\",\"mpxMediaID\":2175290435995,\"genres\":[\"Drama\",\"Politics\",\"Drama\",\"Thriller\"],\"classificationID\":\"M\",\"consumerAdvices\":[\"A\",\"L\"],\"consumerAdviceTexts\":[\"Adult Themes\",\"Coarse Language\"],\"availability\":{\"start\":\"2023-03-10T13:00:00Z\",\"end\":\"2024-02-28T12:59:59Z\"},\"releaseYear\":2021,\"languages\":[\"English\"],\"textTracks\":[],\"images\":[{\"id\":\"55de9a21-1519-5a1f-8b30-34a4c546b878\",\"category\":\"16:9|1920|1080|KEY_ART\"}]},{\"id\":\"d7b9eedb-9a9b-539e-8ce9-0aafb1db26e7\",\"entityType\":\"TV_EPISODE\",\"seriesID\":\"091463a9-8df7-5139-a3d9-35793c131079\",\"seriesTitle\":\"COBRA\",\"seriesSlug\":\"cobra\",\"seasonNumber\":2,\"episodeNumber\":4,\"title\":\"Episode 4\",\"slug\":\"cobra-s2-ep4\",\"description\":\"The team try to understand the latest discovery, while Francine's attack on Lord Singer is met with delight.\",\"duration\":\"PT43M33S\",\"mpxMediaID\":2175290435996,\"genres\":[\"Drama\",\"Thriller\",\"Drama\",\"Politics\"],\"classificationID\":\"MA15+\",\"consumerAdvices\":[\"V\"],\"consumerAdviceTexts\":[\"Strong Violence\"],\"availability\":{\"start\":\"2023-03-10T13:00:00Z\",\"end\":\"2024-02-28T12:59:59Z\"},\"releaseYear\":2021,\"languages\":[\"English\"],\"textTracks\":[],\"images\":[{\"id\":\"d932fc95-a414-56ee-a3c9-0628130da90c\",\"category\":\"16:9|3840|2160|KEY_ART\"}]},{\"id\":\"230a6720-368d-52c3-93a4-82e5cb47ed36\",\"entityType\":\"TV_EPISODE\",\"seriesID\":\"091463a9-8df7-5139-a3d9-35793c131079\",\"seriesTitle\":\"COBRA\",\"seriesSlug\":\"cobra\",\"seasonNumber\":2,\"episodeNumber\":5,\"title\":\"Episode 5\",\"slug\":\"cobra-s2-ep5\",\"description\":\"Rachel is dismayed by the fresh assault on her reputation, but Robert is distracted following Firestorm's return. Reports of a new cyber attack arrive.\",\"duration\":\"PT43M37S\",\"mpxMediaID\":2175290435997,\"genres\":[\"Drama\",\"Politics\",\"Drama\",\"Thriller\"],\"classificationID\":\"MA15+\",\"consumerAdvices\":[\"L\"],\"consumerAdviceTexts\":[\"Strong Coarse Language\"],\"availability\":{\"start\":\"2023-03-10T13:00:00Z\",\"end\":\"2024-02-28T12:59:59Z\"},\"releaseYear\":2021,\"languages\":[\"English\"],\"textTracks\":[],\"images\":[{\"id\":\"65d3e3d3-25cf-5723-8812-e74d1fd45d66\",\"category\":\"16:9|1920|1080|KEY_ART\"}]},{\"id\":\"c04bf9c1-847c-5dae-b85d-eb2a92daf542\",\"entityType\":\"TV_EPISODE\",\"seriesID\":\"091463a9-8df7-5139-a3d9-35793c131079\",\"seriesTitle\":\"COBRA\",\"seriesSlug\":\"cobra\",\"seasonNumber\":2,\"episodeNumber\":6,\"title\":\"Episode 6\",\"slug\":\"cobra-s2-ep6\",\"description\":\"Reeling from the events in Kent, the COBRA team are briefed on the nature of a sophisticated malware which has infected the UK's critical infrastructure.\",\"duration\":\"PT44M13S\",\"mpxMediaID\":2175290435999,\"genres\":[\"Politics\",\"Drama\",\"Thriller\",\"Drama\"],\"classificationID\":\"M\",\"consumerAdvices\":[\"A\",\"L\",\"V\"],\"consumerAdviceTexts\":[\"Adult Themes\",\"Coarse Language\",\"Violence\"],\"availability\":{\"start\":\"2023-03-10T13:00:00Z\",\"end\":\"2024-02-28T12:59:59Z\"},\"releaseYear\":2021,\"languages\":[\"English\"],\"textTracks\":[],\"images\":[{\"id\":\"7fa62077-fa16-59e8-8e42-a9cd048e2c6e\",\"category\":\"16:9|1920|1080|KEY_ART\"}]}]}],\"redbackSeriesID\":7892,\"featured\":{\"id\":\"2f0f2144-bae0-5b9b-a96c-648e058b7778\",\"entityType\":\"TV_EPISODE\",\"tagLine\":\"Start Here\",\"title\":\"Episode 1\",\"description\":\"As the possibility of a solar storm affecting the UK mounts, Prime Minister Robert Sutherland and his chief of staff Anna Marshall assemble the emergency committee COBRA in an effort to combat the situation.\",\"duration\":\"PT43M24S\",\"availability\":{\"start\":\"2022-05-03T14:00:00Z\",\"end\":\"2024-03-03T12:59:59Z\"},\"mpxMediaID\":2022662723645,\"images\":[{\"id\":\"ef9df890-2c95-5fec-8ae9-e2932f5e41af\",\"category\":\"16:9|3840|2160|KEY_ART\"}]}}" }, "redirectURL": "", "headersSize": 0, "bodySize": 3785 }, "cache": {}, "timings": { "blocked": 0, "dns": 0, "ssl": 0, "connect": 0, "send": 0, "wait": 0, "receive": 0 }, "time": 0, "_securityState": "secure" }, { "pageref": "page_4", "startedDateTime": "2023-03-15T19:00:33.398+11:00", "request": { "bodySize": 0, "method": "GET", "url": "https://catalogue.pr.sbsod.com/mpx-media/2175290435999", "httpVersion": "HTTP/2", "headers": [ { "name": "Host", "value": "catalogue.pr.sbsod.com" }, { "name": "User-Agent", "value": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/110.0" }, { "name": "Accept", "value": "application/json, text/plain, */*" }, { "name": "Accept-Language", "value": "en" }, { "name": "Accept-Encoding", "value": "gzip, deflate, br" }, { "name": "Origin", "value": "https://www.sbs.com.au" }, { "name": "Connection", "value": "keep-alive" }, { "name": "Referer", "value": "https://www.sbs.com.au/" }, { "name": "Sec-Fetch-Dest", "value": "empty" }, { "name": "Sec-Fetch-Mode", "value": "cors" }, { "name": "Sec-Fetch-Site", "value": "cross-site" } ], "cookies": [], "queryString": [], "headersSize": null }, "response": { "status": 200, "statusText": "OK", "httpVersion": "HTTP/2", "headers": [ { "name": "content-type", "value": "application/json" }, { "name": "last-modified", "value": "Wed, 15 Mar 2023 07:57:50 GMT" }, { "name": "content-encoding", "value": "gzip" }, { "name": "content-length", "value": "1206" }, { "name": "cache-control", "value": "public, max-age=180, s-maxage=180" }, { "name": "expires", "value": "Wed, 15 Mar 2023 08:00:50 GMT" }, { "name": "date", "value": "Wed, 15 Mar 2023 07:57:50 GMT" }, { "name": "server-timing", "value": "cdn-cache; desc=REVALIDATE" }, { "name": "server-timing", "value": "edge; dur=6" }, { "name": "server-timing", "value": "origin; dur=43" }, { "name": "vary", "value": "accept-language, accept-encoding" }, { "name": "access-control-allow-origin", "value": "*" }, { "name": "vary", "value": "accept-language, accept-encoding, Origin" }, { "name": "server-timing", "value": "ak_p; desc=\"466351_1224204180_108199368_4874_4994_11_0\";dur=1" }, { "name": "X-Firefox-Spdy", "value": "h2" } ], "cookies": [], "content": { "mimeType": "application/json", "size": 2477, "text": "{\"id\":\"c04bf9c1-847c-5dae-b85d-eb2a92daf542\",\"entityType\":\"TV_EPISODE\",\"localeID\":\"en\",\"title\":\"Episode 6\",\"slug\":\"cobra-s2-ep6\",\"description\":\"Reeling from the events in Kent, the COBRA team are briefed on the nature of a sophisticated malware which has infected the UK's critical infrastructure.\",\"genres\":[\"Politics\",\"Drama\",\"Thriller\",\"Drama\"],\"availability\":{\"start\":\"2023-03-10T13:00:00Z\",\"end\":\"2024-02-28T12:59:59Z\"},\"classificationID\":\"M\",\"consumerAdvices\":[\"A\",\"L\",\"V\"],\"consumerAdviceTexts\":[\"Adult Themes\",\"Coarse Language\",\"Violence\"],\"countries\":[\"United Kingdom\"],\"languages\":[\"English\"],\"textTracks\":[],\"qualities\":[],\"crews\":[{\"id\":\"46c0a2a6-4c91-5d15-9868-966d4eef0447\",\"entityType\":\"PERSON\",\"name\":\"Ben Richards\",\"role\":\"Creator\"},{\"id\":\"46c0a2a6-4c91-5d15-9868-966d4eef0447\",\"entityType\":\"PERSON\",\"name\":\"Ben Richards\",\"role\":\"Writer\"}],\"casts\":[{\"id\":\"e70e7315-74ee-5e0f-8fe0-fec0e584232a\",\"entityType\":\"PERSON\",\"name\":\"Robert Carlyle\",\"role\":\"Actor\"},{\"id\":\"83b24444-c4c6-578b-9c98-f02c0f9b6727\",\"entityType\":\"PERSON\",\"name\":\"Victoria Hamilton\",\"role\":\"Actor\"},{\"id\":\"84495126-2001-5ce0-b0a6-f2861f18ef0d\",\"entityType\":\"PERSON\",\"name\":\"Richard Dormer\",\"role\":\"Actor\"},{\"id\":\"3fd484e2-e5c6-5942-8bb5-2edd24bb48ee\",\"entityType\":\"PERSON\",\"name\":\"Marsha Thomason\",\"role\":\"Actor\"},{\"id\":\"df2ab9f1-a97e-5fbd-8ef7-aedb42978257\",\"entityType\":\"PERSON\",\"name\":\"David Haig\",\"role\":\"Actor\"},{\"id\":\"07068f11-68c1-50d0-967d-aa50f79cd6c0\",\"entityType\":\"PERSON\",\"name\":\"Lucy Cohu\",\"role\":\"Actor\"},{\"id\":\"7c40c45f-3d23-58b2-a7eb-1b464f7387ad\",\"entityType\":\"PERSON\",\"name\":\"Mark Bazeley\",\"role\":\"Actor\"},{\"id\":\"df076c0c-80ec-516c-82ed-d0b857630c76\",\"entityType\":\"PERSON\",\"name\":\"Grace Hogg-Robinson\",\"role\":\"Actor\"}],\"images\":[{\"id\":\"abe054d4-6a4b-5eee-bced-79e92206fc57\",\"category\":\"16:9|704|396|BANNER\"},{\"id\":\"7fa62077-fa16-59e8-8e42-a9cd048e2c6e\",\"category\":\"16:9|1920|1080|KEY_ART\"},{\"id\":\"1f5966d6-ecfe-512c-9ebe-50101e8d7ebb\",\"category\":\"1:1|1400|1400|MASK\"},{\"id\":\"48508900-08e9-5f70-bdaf-b2f7cd962c2f\",\"category\":\"2:3|960|1440|BANNER\"},{\"id\":\"48508900-08e9-5f70-bdaf-b2f7cd962c2f\",\"category\":\"2:3|960|1440|KEY_ART\"}],\"trailers\":[],\"extras\":[],\"distributors\":[{\"id\":\"6593\",\"name\":\"Universal Studios Int. Bv\"}],\"duration\":\"PT44M13S\",\"mpxMediaID\":2175290435999,\"ibmsTitleID\":760260,\"releaseYear\":2021,\"seriesID\":\"091463a9-8df7-5139-a3d9-35793c131079\",\"seriesTitle\":\"COBRA\",\"seriesSlug\":\"cobra\",\"seasonNumber\":2,\"seasonSlug\":\"season-2\",\"episodeNumber\":6,\"channels\":[]}" }, "redirectURL": "", "headersSize": 0, "bodySize": 1206 }, "cache": {}, "timings": { "blocked": 0, "dns": 0, "ssl": 0, "connect": 0, "send": 0, "wait": 0, "receive": 0 }, "time": 0, "_securityState": "secure" }, { "pageref": "page_4", "startedDateTime": "2023-03-15T19:00:33.423+11:00", "request": { "bodySize": 0, "method": "GET", "url": "https://catalogue.pr.sbsod.com/tv-series/cobra", "httpVersion": "HTTP/2", "headers": [ { "name": "Host", "value": "catalogue.pr.sbsod.com" }, { "name": "User-Agent", "value": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/110.0" }, { "name": "Accept", "value": "application/json, text/plain, */*" }, { "name": "Accept-Language", "value": "en" }, { "name": "Accept-Encoding", "value": "gzip, deflate, br" }, { "name": "Origin", "value": "https://www.sbs.com.au" }, { "name": "Connection", "value": "keep-alive" }, { "name": "Referer", "value": "https://www.sbs.com.au/" }, { "name": "Sec-Fetch-Dest", "value": "empty" }, { "name": "Sec-Fetch-Mode", "value": "cors" }, { "name": "Sec-Fetch-Site", "value": "cross-site" } ], "cookies": [], "queryString": [], "headersSize": null }, "response": { "status": 200, "statusText": "OK", "httpVersion": "HTTP/2", "headers": [ { "name": "content-type", "value": "application/json" }, { "name": "last-modified", "value": "Wed, 15 Mar 2023 07:58:48 GMT" }, { "name": "content-encoding", "value": "gzip" }, { "name": "content-length", "value": "3785" }, { "name": "cache-control", "value": "public, max-age=81, s-maxage=180" }, { "name": "expires", "value": "Wed, 15 Mar 2023 08:01:48 GMT" }, { "name": "date", "value": "Wed, 15 Mar 2023 08:00:27 GMT" }, { "name": "server-timing", "value": "cdn-cache; desc=HIT" }, { "name": "server-timing", "value": "edge; dur=1" }, { "name": "vary", "value": "accept-language, accept-encoding" }, { "name": "access-control-allow-origin", "value": "*" }, { "name": "vary", "value": "accept-language, accept-encoding, Origin" }, { "name": "server-timing", "value": "ak_p; desc=\"466352_389422693_4148987_40_4344_12_0\";dur=1" }, { "name": "X-Firefox-Spdy", "value": "h2" } ], "cookies": [], "content": { "mimeType": "application/json", "size": 14959, "text": "{\"id\":\"091463a9-8df7-5139-a3d9-35793c131079\",\"entityType\":\"TV_SERIES\",\"localeID\":\"en\",\"title\":\"COBRA\",\"slug\":\"cobra\",\"description\":\"The UK prime minister convenes an emergency committee of Britain's leading experts, crisis contingency planners, and senior politicians to deal with an unfolding national emergency.\",\"genres\":[\"Drama\",\"Politics\"],\"availability\":{\"start\":\"2022-05-03T14:00:00Z\",\"end\":\"2024-03-03T12:59:59Z\"},\"classificationID\":\"MA15+\",\"consumerAdvices\":[\"A\",\"D\",\"L\",\"V\"],\"consumerAdviceTexts\":[\"Strong Adult Themes\",\"Strong Drug References\",\"Strong Coarse Language\",\"Strong Violence\"],\"countries\":[\"United Kingdom\"],\"languages\":[\"English\"],\"textTracks\":[{\"localeID\":\"en\",\"language\":\"English\",\"type\":\"SUBTITLE\"}],\"qualities\":[\"HD\",\"nHD\"],\"crews\":[{\"id\":\"93ff5b8d-b515-5902-8345-b600f4c44549\",\"entityType\":\"PERSON\",\"name\":\"Joe Donaldson\",\"role\":\"Producer\"},{\"id\":\"46c0a2a6-4c91-5d15-9868-966d4eef0447\",\"entityType\":\"PERSON\",\"name\":\"Ben Richards\",\"role\":\"Writer\"},{\"id\":\"3a30053d-e494-5221-99a2-ec77981a43c1\",\"entityType\":\"PERSON\",\"name\":\"Hans Herbots\",\"role\":\"Director\"}],\"casts\":[{\"id\":\"e70e7315-74ee-5e0f-8fe0-fec0e584232a\",\"entityType\":\"PERSON\",\"name\":\"Robert Carlyle\",\"role\":\"Actor\"},{\"id\":\"83b24444-c4c6-578b-9c98-f02c0f9b6727\",\"entityType\":\"PERSON\",\"name\":\"Victoria Hamilton\",\"role\":\"Actor\"},{\"id\":\"84495126-2001-5ce0-b0a6-f2861f18ef0d\",\"entityType\":\"PERSON\",\"name\":\"Richard Dormer\",\"role\":\"Actor\"},{\"id\":\"df2ab9f1-a97e-5fbd-8ef7-aedb42978257\",\"entityType\":\"PERSON\",\"name\":\"David Haig\",\"role\":\"Actor\"},{\"id\":\"07068f11-68c1-50d0-967d-aa50f79cd6c0\",\"entityType\":\"PERSON\",\"name\":\"Lucy Cohu\",\"role\":\"Actor\"},{\"id\":\"7c40c45f-3d23-58b2-a7eb-1b464f7387ad\",\"entityType\":\"PERSON\",\"name\":\"Mark Bazeley\",\"role\":\"Actor\"},{\"id\":\"df076c0c-80ec-516c-82ed-d0b857630c76\",\"entityType\":\"PERSON\",\"name\":\"Grace Hogg-Robinson\",\"role\":\"Actor\"},{\"id\":\"6da377cc-8cb0-52c6-9c7d-c8ae0b44d9e0\",\"entityType\":\"PERSON\",\"name\":\"Joshua Hogan\",\"role\":\"Actor\"}],\"images\":[{\"id\":\"d43d3c1c-0572-5ef1-b3b9-407b723dbfc5\",\"category\":\"16:9|3840|2160|BANNER\"},{\"id\":\"37b32432-2480-5aa7-b9b2-5e73953c963e\",\"category\":\"16:9|1280|720|KEY_ART\"},{\"id\":\"07951be8-9383-5312-83e7-7c470d07bc88\",\"category\":\"1:1|3000|3000|MASK\"},{\"id\":\"2314af5d-3ee0-59b2-9615-e0ebbb6ab293\",\"category\":\"2:3|1280|1920|BANNER\"},{\"id\":\"4fefbabf-2ec9-5bb5-b9be-aed468b9587c\",\"category\":\"2:3|960|1440|KEY_ART\"}],\"trailers\":[],\"extras\":[{\"id\":\"e6bd4f02-57c9-58a0-8ce8-a7bc1d84acb2\",\"entityType\":\"CLIP\",\"category\":\"EXTRAS\",\"title\":\"Cobra | Trailer\",\"description\":\"The UK prime minister (Robert Carlyle) convenes an emergency committee of Britain's leading experts, crisis contingency planners, and senior politicians to deal with an unfolding national emergency.\",\"duration\":\"PT30S\",\"availability\":{\"start\":\"2022-05-05T14:00:00Z\",\"end\":\"2023-04-29T14:00:00Z\"},\"mpxMediaID\":2031095363706,\"images\":[{\"id\":\"88210c3a-9b23-58ef-92cb-0dedb2236a91\",\"category\":\"16:9|704|396|BANNER\"},{\"id\":\"359bc2b1-f210-58ea-a99a-84236bdfb71b\",\"category\":\"16:9|1280|720|KEY_ART\"},{\"id\":\"0705655f-b2c4-5881-b9a8-71f27372e4f0\",\"category\":\"1:1|200|200|MASK\"},{\"id\":\"09543c74-f1b3-53e1-83b0-6a25e5cbc1a4\",\"category\":\"2:3|960|1440|BANNER\"},{\"id\":\"358ca5d8-b568-5223-9d08-415c2a7a0a47\",\"category\":\"2:3|960|1440|KEY_ART\"}]}],\"distributors\":[{\"id\":\"6593\",\"name\":\"Universal Studios Int. Bv\"}],\"releaseYear\":2020,\"seasons\":[{\"id\":\"6429202e-7eb6-558c-a3a1-d15a4ee92364\",\"entityType\":\"TV_SEASON\",\"title\":\"Season 1\",\"slug\":\"season-1\",\"seasonNumber\":1,\"availability\":{\"start\":\"2022-05-03T14:00:00Z\",\"end\":\"2024-03-03T12:59:59Z\"},\"episodes\":[{\"id\":\"2f0f2144-bae0-5b9b-a96c-648e058b7778\",\"entityType\":\"TV_EPISODE\",\"seriesID\":\"091463a9-8df7-5139-a3d9-35793c131079\",\"seriesTitle\":\"COBRA\",\"seriesSlug\":\"cobra\",\"seasonNumber\":1,\"episodeNumber\":1,\"title\":\"Episode 1\",\"slug\":\"cobra-s1-ep1\",\"description\":\"As the possibility of a solar storm affecting the UK mounts, Prime Minister Robert Sutherland and his chief of staff Anna Marshall assemble the emergency committee COBRA in an effort to combat the situation.\",\"duration\":\"PT43M24S\",\"mpxMediaID\":2022662723645,\"genres\":[\"Drama\",\"Politics\",\"Drama\",\"Thriller\"],\"classificationID\":\"M\",\"consumerAdvices\":[\"A\",\"D\",\"L\"],\"consumerAdviceTexts\":[\"Adult Themes\",\"Drug References\",\"Coarse Language\"],\"availability\":{\"start\":\"2022-05-03T14:00:00Z\",\"end\":\"2024-03-03T12:59:59Z\"},\"releaseYear\":2020,\"languages\":[\"English\"],\"textTracks\":[{\"localeID\":\"en\",\"language\":\"English\",\"type\":\"SUBTITLE\"}],\"images\":[{\"id\":\"ef9df890-2c95-5fec-8ae9-e2932f5e41af\",\"category\":\"16:9|3840|2160|KEY_ART\"}]},{\"id\":\"01e9a74f-9b45-5bdd-a584-6922a5b0bc3b\",\"entityType\":\"TV_EPISODE\",\"seriesID\":\"091463a9-8df7-5139-a3d9-35793c131079\",\"seriesTitle\":\"COBRA\",\"seriesSlug\":\"cobra\",\"seasonNumber\":1,\"episodeNumber\":2,\"title\":\"Episode 2\",\"slug\":\"cobra-s1-ep2\",\"description\":\"With the nation in the full grip of the crisis and experiencing the worst blackout in the history of the UK, Sutherland and his team are forced to work around the clock to restore power; Anna reconnects with Edin.\",\"duration\":\"PT43M11S\",\"mpxMediaID\":2024804931898,\"genres\":[\"Drama\",\"Politics\",\"Drama\",\"Thriller\"],\"classificationID\":\"MA15+\",\"consumerAdvices\":[\"A\"],\"consumerAdviceTexts\":[\"Strong Adult Themes\"],\"availability\":{\"start\":\"2022-05-10T14:00:00Z\",\"end\":\"2024-03-03T12:59:59Z\"},\"releaseYear\":2020,\"languages\":[\"English\"],\"textTracks\":[{\"localeID\":\"en\",\"language\":\"English\",\"type\":\"SUBTITLE\"}],\"images\":[{\"id\":\"f215013f-e13e-57d1-91ca-91e5f9f0c649\",\"category\":\"16:9|3840|2160|KEY_ART\"}]},{\"id\":\"5a230b88-18d2-5712-8020-3624af345ffd\",\"entityType\":\"TV_EPISODE\",\"seriesID\":\"091463a9-8df7-5139-a3d9-35793c131079\",\"seriesTitle\":\"COBRA\",\"seriesSlug\":\"cobra\",\"seasonNumber\":1,\"episodeNumber\":3,\"title\":\"Episode 3\",\"slug\":\"cobra-s1-ep3\",\"description\":\"Sutherland, Anna, and Fraser head to one of the worst-affected areas; while the prime minister is away, Archie causes problems.\",\"duration\":\"PT44M16S\",\"mpxMediaID\":2027571267846,\"genres\":[\"Drama\",\"Politics\",\"Drama\",\"Thriller\"],\"classificationID\":\"M\",\"consumerAdvices\":[\"A\",\"L\",\"V\"],\"consumerAdviceTexts\":[\"Adult Themes\",\"Coarse Language\",\"Violence\"],\"availability\":{\"start\":\"2022-05-17T14:00:00Z\",\"end\":\"2024-03-03T12:59:59Z\"},\"releaseYear\":2020,\"languages\":[\"English\"],\"textTracks\":[{\"localeID\":\"en\",\"language\":\"English\",\"type\":\"SUBTITLE\"}],\"images\":[{\"id\":\"e5634e25-b339-587a-a180-00f8148eabf3\",\"category\":\"16:9|3840|2160|KEY_ART\"}]},{\"id\":\"4d4f3821-d31b-5d02-8a10-bb4950dcf400\",\"entityType\":\"TV_EPISODE\",\"seriesID\":\"091463a9-8df7-5139-a3d9-35793c131079\",\"seriesTitle\":\"COBRA\",\"seriesSlug\":\"cobra\",\"seasonNumber\":1,\"episodeNumber\":4,\"title\":\"Episode 4\",\"slug\":\"cobra-s1-ep4\",\"description\":\"Sutherland's knowledge about his daughter's part in her friend's death is questioned; a new threat rears its head.\",\"duration\":\"PT44M10S\",\"mpxMediaID\":2029918275610,\"genres\":[\"Drama\",\"Politics\",\"Drama\",\"Thriller\"],\"classificationID\":\"MA15+\",\"consumerAdvices\":[\"L\"],\"consumerAdviceTexts\":[\"Strong Coarse Language\"],\"availability\":{\"start\":\"2022-05-24T14:00:00Z\",\"end\":\"2024-03-03T12:59:59Z\"},\"releaseYear\":2020,\"languages\":[\"English\"],\"textTracks\":[{\"localeID\":\"en\",\"language\":\"English\",\"type\":\"SUBTITLE\"}],\"images\":[{\"id\":\"b7f4d430-8746-57dc-9be7-8a08493edf93\",\"category\":\"16:9|3840|2160|KEY_ART\"}]},{\"id\":\"b42b9e4a-21a2-57c2-a3da-7011c3daa870\",\"entityType\":\"TV_EPISODE\",\"seriesID\":\"091463a9-8df7-5139-a3d9-35793c131079\",\"seriesTitle\":\"COBRA\",\"seriesSlug\":\"cobra\",\"seasonNumber\":1,\"episodeNumber\":5,\"title\":\"Episode 5\",\"slug\":\"cobra-s1-ep5\",\"description\":\"Fraser deals with issues in his personal life as the crisis worsens; the prime minister is forced to consider more extreme measures to retain control and maintain order over the country.\",\"duration\":\"PT43M19S\",\"mpxMediaID\":2032058435771,\"genres\":[\"Drama\",\"Politics\",\"Drama\",\"Thriller\"],\"classificationID\":\"MA15+\",\"consumerAdvices\":[\"A\",\"V\"],\"consumerAdviceTexts\":[\"Strong Adult Themes\",\"Strong Violence\"],\"availability\":{\"start\":\"2022-05-31T14:00:00Z\",\"end\":\"2024-03-03T12:59:59Z\"},\"releaseYear\":2020,\"languages\":[\"English\"],\"textTracks\":[{\"localeID\":\"en\",\"language\":\"English\",\"type\":\"SUBTITLE\"}],\"images\":[{\"id\":\"8f2d9d09-843c-54cc-ad41-a42764ea49ca\",\"category\":\"16:9|1920|1080|KEY_ART\"}]},{\"id\":\"66f6ff1a-6927-54ec-8ed7-a6095d89cf7e\",\"entityType\":\"TV_EPISODE\",\"seriesID\":\"091463a9-8df7-5139-a3d9-35793c131079\",\"seriesTitle\":\"COBRA\",\"seriesSlug\":\"cobra\",\"seasonNumber\":1,\"episodeNumber\":6,\"title\":\"Episode 6\",\"slug\":\"cobra-s1-ep6\",\"description\":\"Fraser and his team reach the endgame as the crisis reaches a boiling point; the prime minister and Anna fight for their political lives.\",\"duration\":\"PT44M4S\",\"mpxMediaID\":2034363459901,\"genres\":[\"Drama\",\"Politics\",\"Drama\",\"Thriller\"],\"classificationID\":\"MA15+\",\"consumerAdvices\":[\"A\",\"V\"],\"consumerAdviceTexts\":[\"Strong Adult Themes\",\"Strong Violence\"],\"availability\":{\"start\":\"2022-06-07T14:00:00Z\",\"end\":\"2024-03-03T12:59:59Z\"},\"releaseYear\":2020,\"languages\":[\"English\"],\"textTracks\":[{\"localeID\":\"en\",\"language\":\"English\",\"type\":\"SUBTITLE\"}],\"images\":[{\"id\":\"1ad96165-6d1d-590c-838f-f03720e3e02a\",\"category\":\"16:9|3840|2160|KEY_ART\"}]}]},{\"id\":\"840d40c3-345a-517a-a73c-b4107eb832d4\",\"entityType\":\"TV_SEASON\",\"title\":\"Season 2\",\"slug\":\"season-2\",\"seasonNumber\":2,\"availability\":{\"start\":\"2023-03-10T13:00:00Z\",\"end\":\"2024-02-28T12:59:59Z\"},\"episodes\":[{\"id\":\"bfb54ecb-593f-57fe-b15a-044f1bdf3c80\",\"entityType\":\"TV_EPISODE\",\"seriesID\":\"091463a9-8df7-5139-a3d9-35793c131079\",\"seriesTitle\":\"COBRA\",\"seriesSlug\":\"cobra\",\"seasonNumber\":2,\"episodeNumber\":1,\"title\":\"Episode 1\",\"slug\":\"cobra-s2-ep1\",\"description\":\"Sutherland and Amrshall assemble the COBRA emergency committee to respond to a potentially explosive situation in Kent. Meanwhile, former Home Secretary Archie Glover Morgan plots a return to power.\",\"duration\":\"PT41M24S\",\"mpxMediaID\":2175290435993,\"genres\":[\"Drama\",\"Politics\",\"Drama\",\"Thriller\"],\"classificationID\":\"M\",\"consumerAdvices\":[\"A\",\"L\",\"V\"],\"consumerAdviceTexts\":[\"Adult Themes\",\"Coarse Language\",\"Violence\"],\"availability\":{\"start\":\"2023-03-10T13:00:00Z\",\"end\":\"2024-02-28T12:59:59Z\"},\"releaseYear\":2021,\"languages\":[\"English\"],\"textTracks\":[],\"images\":[{\"id\":\"8a540f4c-2fb7-54e4-bcd0-8923785ceef5\",\"category\":\"16:9|3840|2160|KEY_ART\"}]},{\"id\":\"77e7b383-4c99-5268-bc9e-ae3d40337fd7\",\"entityType\":\"TV_EPISODE\",\"seriesID\":\"091463a9-8df7-5139-a3d9-35793c131079\",\"seriesTitle\":\"COBRA\",\"seriesSlug\":\"cobra\",\"seasonNumber\":2,\"episodeNumber\":2,\"title\":\"Episode 2\",\"slug\":\"cobra-s2-ep2\",\"description\":\"Following devastation in Kent and the cyber-attack which continues to jam communications, the Prime Minister convenes an emergency COBRA meeting.\",\"duration\":\"PT44M11S\",\"mpxMediaID\":2175290435994,\"genres\":[\"Thriller\",\"Drama\",\"Politics\",\"Drama\"],\"classificationID\":\"M\",\"consumerAdvices\":[\"A\",\"L\"],\"consumerAdviceTexts\":[\"Adult Themes\",\"Coarse Language\"],\"availability\":{\"start\":\"2023-03-10T13:00:00Z\",\"end\":\"2024-02-28T12:59:59Z\"},\"releaseYear\":2021,\"languages\":[\"English\"],\"textTracks\":[],\"images\":[{\"id\":\"8866c0ff-6ced-56bd-ac93-f5a554be0cb5\",\"category\":\"16:9|3840|2160|KEY_ART\"}]},{\"id\":\"a3de5782-09ef-537e-8612-9654cda16777\",\"entityType\":\"TV_EPISODE\",\"seriesID\":\"091463a9-8df7-5139-a3d9-35793c131079\",\"seriesTitle\":\"COBRA\",\"seriesSlug\":\"cobra\",\"seasonNumber\":2,\"episodeNumber\":3,\"title\":\"Episode 3\",\"slug\":\"cobra-s2-ep3\",\"description\":\"COBRA is assembled when fresh disaster strikes, as a breach at Dover port suggests an insidious threat; the PM's strategy is tested by an online activist.\",\"duration\":\"PT42M37S\",\"mpxMediaID\":2175290435995,\"genres\":[\"Drama\",\"Politics\",\"Drama\",\"Thriller\"],\"classificationID\":\"M\",\"consumerAdvices\":[\"A\",\"L\"],\"consumerAdviceTexts\":[\"Adult Themes\",\"Coarse Language\"],\"availability\":{\"start\":\"2023-03-10T13:00:00Z\",\"end\":\"2024-02-28T12:59:59Z\"},\"releaseYear\":2021,\"languages\":[\"English\"],\"textTracks\":[],\"images\":[{\"id\":\"55de9a21-1519-5a1f-8b30-34a4c546b878\",\"category\":\"16:9|1920|1080|KEY_ART\"}]},{\"id\":\"d7b9eedb-9a9b-539e-8ce9-0aafb1db26e7\",\"entityType\":\"TV_EPISODE\",\"seriesID\":\"091463a9-8df7-5139-a3d9-35793c131079\",\"seriesTitle\":\"COBRA\",\"seriesSlug\":\"cobra\",\"seasonNumber\":2,\"episodeNumber\":4,\"title\":\"Episode 4\",\"slug\":\"cobra-s2-ep4\",\"description\":\"The team try to understand the latest discovery, while Francine's attack on Lord Singer is met with delight.\",\"duration\":\"PT43M33S\",\"mpxMediaID\":2175290435996,\"genres\":[\"Drama\",\"Thriller\",\"Drama\",\"Politics\"],\"classificationID\":\"MA15+\",\"consumerAdvices\":[\"V\"],\"consumerAdviceTexts\":[\"Strong Violence\"],\"availability\":{\"start\":\"2023-03-10T13:00:00Z\",\"end\":\"2024-02-28T12:59:59Z\"},\"releaseYear\":2021,\"languages\":[\"English\"],\"textTracks\":[],\"images\":[{\"id\":\"d932fc95-a414-56ee-a3c9-0628130da90c\",\"category\":\"16:9|3840|2160|KEY_ART\"}]},{\"id\":\"230a6720-368d-52c3-93a4-82e5cb47ed36\",\"entityType\":\"TV_EPISODE\",\"seriesID\":\"091463a9-8df7-5139-a3d9-35793c131079\",\"seriesTitle\":\"COBRA\",\"seriesSlug\":\"cobra\",\"seasonNumber\":2,\"episodeNumber\":5,\"title\":\"Episode 5\",\"slug\":\"cobra-s2-ep5\",\"description\":\"Rachel is dismayed by the fresh assault on her reputation, but Robert is distracted following Firestorm's return. Reports of a new cyber attack arrive.\",\"duration\":\"PT43M37S\",\"mpxMediaID\":2175290435997,\"genres\":[\"Drama\",\"Politics\",\"Drama\",\"Thriller\"],\"classificationID\":\"MA15+\",\"consumerAdvices\":[\"L\"],\"consumerAdviceTexts\":[\"Strong Coarse Language\"],\"availability\":{\"start\":\"2023-03-10T13:00:00Z\",\"end\":\"2024-02-28T12:59:59Z\"},\"releaseYear\":2021,\"languages\":[\"English\"],\"textTracks\":[],\"images\":[{\"id\":\"65d3e3d3-25cf-5723-8812-e74d1fd45d66\",\"category\":\"16:9|1920|1080|KEY_ART\"}]},{\"id\":\"c04bf9c1-847c-5dae-b85d-eb2a92daf542\",\"entityType\":\"TV_EPISODE\",\"seriesID\":\"091463a9-8df7-5139-a3d9-35793c131079\",\"seriesTitle\":\"COBRA\",\"seriesSlug\":\"cobra\",\"seasonNumber\":2,\"episodeNumber\":6,\"title\":\"Episode 6\",\"slug\":\"cobra-s2-ep6\",\"description\":\"Reeling from the events in Kent, the COBRA team are briefed on the nature of a sophisticated malware which has infected the UK's critical infrastructure.\",\"duration\":\"PT44M13S\",\"mpxMediaID\":2175290435999,\"genres\":[\"Politics\",\"Drama\",\"Thriller\",\"Drama\"],\"classificationID\":\"M\",\"consumerAdvices\":[\"A\",\"L\",\"V\"],\"consumerAdviceTexts\":[\"Adult Themes\",\"Coarse Language\",\"Violence\"],\"availability\":{\"start\":\"2023-03-10T13:00:00Z\",\"end\":\"2024-02-28T12:59:59Z\"},\"releaseYear\":2021,\"languages\":[\"English\"],\"textTracks\":[],\"images\":[{\"id\":\"7fa62077-fa16-59e8-8e42-a9cd048e2c6e\",\"category\":\"16:9|1920|1080|KEY_ART\"}]}]}],\"redbackSeriesID\":7892,\"featured\":{\"id\":\"2f0f2144-bae0-5b9b-a96c-648e058b7778\",\"entityType\":\"TV_EPISODE\",\"tagLine\":\"Start Here\",\"title\":\"Episode 1\",\"description\":\"As the possibility of a solar storm affecting the UK mounts, Prime Minister Robert Sutherland and his chief of staff Anna Marshall assemble the emergency committee COBRA in an effort to combat the situation.\",\"duration\":\"PT43M24S\",\"availability\":{\"start\":\"2022-05-03T14:00:00Z\",\"end\":\"2024-03-03T12:59:59Z\"},\"mpxMediaID\":2022662723645,\"images\":[{\"id\":\"ef9df890-2c95-5fec-8ae9-e2932f5e41af\",\"category\":\"16:9|3840|2160|KEY_ART\"}]}}" }, "redirectURL": "", "headersSize": 0, "bodySize": 3785 }, "cache": {}, "timings": { "blocked": 0, "dns": 0, "ssl": 0, "connect": 0, "send": 0, "wait": 0, "receive": 0 }, "time": 0, "_securityState": "secure" }, ```
dirkf commented 1 year ago

So, it's a new set of APIs.

  1. Get the video ID from the URL: video_id = '2175290435999'
  2. Get the media details from https://catalogue.pr.sbsod.com/mpx-media/{video_id}, including: series_slug = details['seriesSlug']
  3. Get the series metadata from https://catalogue.pr.sbsod.com/tv-series/{series_slug}
  4. ... (somehow get the media link, not yet shown) ...

There must be another response with the media link.

gswan commented 1 year ago

Then there appears to be some advert catalogue inserts, followed by the content chunks. I've truncated some of the longer chunks.

This block follow directly on from the previous posted block. ```json { "pageref": "page_4", "startedDateTime": "2023-03-15T19:00:35.447+11:00", "request": { "bodySize": 0, "method": "GET", "url": "https://pubads.g.doubleclick.net/ondemand/hls/content/2488267/vid/2175290435999B/SIN/streams/5472a13e-a19a-4a35-8225-80bf74da1915/time-events.json", "httpVersion": "HTTP/2", "headers": [ { "name": "Host", "value": "pubads.g.doubleclick.net" }, { "name": "User-Agent", "value": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/110.0" }, { "name": "Accept", "value": "*/*" }, { "name": "Accept-Language", "value": "en-US,en;q=0.5" }, { "name": "Accept-Encoding", "value": "gzip, deflate, br" }, { "name": "Origin", "value": "https://www.sbs.com.au" }, { "name": "Connection", "value": "keep-alive" }, { "name": "Referer", "value": "https://www.sbs.com.au/" }, { "name": "Sec-Fetch-Dest", "value": "empty" }, { "name": "Sec-Fetch-Mode", "value": "cors" }, { "name": "Sec-Fetch-Site", "value": "cross-site" }, { "name": "TE", "value": "trailers" } ], "cookies": [], "queryString": [], "headersSize": 502 }, "response": { "status": 200, "statusText": "OK", "httpVersion": "HTTP/2", "headers": [ { "name": "access-control-allow-credentials", "value": "true" }, { "name": "access-control-allow-headers", "value": "Authorization" }, { "name": "access-control-allow-origin", "value": "https://www.sbs.com.au" }, { "name": "cache-control", "value": "no-cache, no-store, max-age=0, must-revalidate" }, { "name": "content-disposition", "value": "attachment; filename=\"time_events.json\"" }, { "name": "content-encoding", "value": "gzip" }, { "name": "content-type", "value": "application/json" }, { "name": "date", "value": "Wed, 15 Mar 2023 08:00:35 GMT" }, { "name": "expires", "value": "Mon, 01 Jan 1990 00:00:00 GMT" }, { "name": "pragma", "value": "no-cache" }, { "name": "x-content-type-options", "value": "nosniff" }, { "name": "x-frame-options", "value": "SAMEORIGIN" }, { "name": "x-xss-protection", "value": "0" }, { "name": "alt-svc", "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" }, { "name": "X-Firefox-Spdy", "value": "h2" } ], "cookies": [], "content": { "mimeType": "application/json", "size": 1053460, "text": "{\"cuepoints\":[{\"start\":0,\"end\":15,\"start_float\":0,\"end_float\":15.08},{\"start\":645,\"end\":750,\"start_float\":645.84,\"end_float\":750.88},{\"start\":1372,\"end\":1462,\"start_float\":1372.24,\"end_float\":1462.28},..." }, "redirectURL": "", "headersSize": 591, "bodySize": 187003 }, "cache": {}, "timings": { "blocked": 1, "dns": 0, "connect": 0, "ssl": 0, "send": 0, "wait": 153, "receive": 308 }, "time": 462, "_securityState": "secure", "serverIPAddress": "142.250.204.2", "connection": "443" }, { "pageref": "page_4", "startedDateTime": "2023-03-15T19:00:35.923+11:00", "request": { "bodySize": 0, "method": "OPTIONS", "url": "https://deliver.oztam.com.au/api/meter", "httpVersion": "HTTP/1.1", "headers": [ { "name": "Host", "value": "deliver.oztam.com.au" }, { "name": "User-Agent", "value": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/110.0" }, { "name": "Accept", "value": "*/*" }, { "name": "Accept-Language", "value": "en-US,en;q=0.5" }, { "name": "Accept-Encoding", "value": "gzip, deflate, br" }, { "name": "Access-Control-Request-Method", "value": "POST" }, { "name": "Access-Control-Request-Headers", "value": "content-type" }, { "name": "Referer", "value": "https://www.sbs.com.au/" }, { "name": "Origin", "value": "https://www.sbs.com.au" }, { "name": "Connection", "value": "keep-alive" }, { "name": "Sec-Fetch-Dest", "value": "empty" }, { "name": "Sec-Fetch-Mode", "value": "cors" }, { "name": "Sec-Fetch-Site", "value": "cross-site" } ], "cookies": [], "queryString": [], "headersSize": 481 }, "response": { "status": 200, "statusText": "OK", "httpVersion": "HTTP/1.1", "headers": [ { "name": "Date", "value": "Wed, 15 Mar 2023 08:00:36 GMT" }, { "name": "Content-Type", "value": "text/plain; charset=utf-8" }, { "name": "Content-Length", "value": "2" }, { "name": "Connection", "value": "keep-alive" }, { "name": "X-Powered-By", "value": "Express" }, { "name": "Access-Control-Allow-Origin", "value": "*" }, { "name": "Access-Control-Allow-Methods", "value": "*" }, { "name": "Access-Control-Allow-Headers", "value": "Content-Type" }, { "name": "Access-Control-Expose-Headers", "value": "Accept-Ranges, Content-Encoding, Content-Length, Content-Range" }, { "name": "ETag", "value": "W/\"2-nOO9QiTIwXgNtWtBJezz8kv3SLc\"" } ], "cookies": [], "content": { "mimeType": "text/plain; charset=utf-8", "size": 2, "text": "OK" }, "redirectURL": "", "headersSize": 408, "bodySize": 410 }, "cache": {}, "timings": { "blocked": 0, "dns": 51, "connect": 7, "ssl": 33, "send": 0, "wait": 15, "receive": 0 }, "time": 106, "_securityState": "secure", "serverIPAddress": "54.66.50.233", "connection": "443" }, { "pageref": "page_4", "startedDateTime": "2023-03-15T19:00:35.927+11:00", "request": { "bodySize": 0, "method": "GET", "url": "https://www.gstatic.com/cv/js/sender/v1/cast_sender.js?loadCastFramework=1", "httpVersion": "", "headers": [ { "name": "Host", "value": "www.gstatic.com" }, { "name": "User-Agent", "value": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/110.0" }, { "name": "Accept", "value": "*/*" }, { "name": "Accept-Language", "value": "en-US,en;q=0.5" }, { "name": "Accept-Encoding", "value": "gzip, deflate, br" }, { "name": "Connection", "value": "keep-alive" }, { "name": "Referer", "value": "https://www.sbs.com.au/" }, { "name": "Sec-Fetch-Dest", "value": "script" }, { "name": "Sec-Fetch-Mode", "value": "no-cors" }, { "name": "Sec-Fetch-Site", "value": "cross-site" } ], "cookies": [], "queryString": [ { "name": "loadCastFramework", "value": "1" } ], "headersSize": 402 }, "response": { "status": 0, "statusText": "", "httpVersion": "", "headers": [], "cookies": [], "content": { "mimeType": "text/javascript", "size": 4272, "text": "(function(){/*\n\n Copyright The Closure Library Authors.\n SPDX-License-Identifier: Apache-2.0\n*/\n'use strict';var l=function(){var a=h,b=0;return function(){return b\"}else d=void 0===c?\"undefined\":null===c?\"null\":typeof c;w(\"Argument is not a %s (or a non-Element, non-Location mock); got: %s\",\"HTMLScriptElement\",d)}a instanceof A&&a.constructor===A?d=a.g:(d=typeof a,w(\"expected object of type TrustedResourceUrl, got '\"+a+\"' of type \"+(\"object\"!=\nd?d:a?Array.isArray(a)?\"array\":d:\"null\")),d=\"type_error:TrustedResourceUrl\");c.src=d;(d=c.ownerDocument&&c.ownerDocument.defaultView)&&d!=m?d=q(d.document):(null===p&&(p=q(m.document)),d=p);d&&c.setAttribute(\"nonce\",d);(document.head||document.documentElement).appendChild(c)},I=function(){var a=B(),b=[];if(1
dirkf commented 1 year ago

This is what we're after:

https://sbs-vod-dai-prod-01.akamaized.net/Content/HLS_AES_TSO/VOD/geo/12986/2483/a3330a06-4a56-45fd-911e-110540bf8c7a/9439a831-9b13-6280-ed4f-cb66148195cb/master.m3u8?hdnea=st=1678866635~exp=1678870235~acl=/Content/HLS_AES_TSO/VOD/geo/12986/2483/a3330a06-4a56-45fd-911e-110540bf8c7a/9439a831-9b13-6280-ed4f-cb66148195cb/*~id=22da613f-1d6d-46b8-be00-d2ff24f6f519~hmac=c34f8467d784258e0d57bd203640e194745b00fd3243d68a99f7a279188b4b2f&originpath=/ondemand/hls/content/2488267/vid/2175290435999B/SIN/streams/5472a13e-a19a-4a35-8225-80bf74da1915/master.m3u8

https://dai.google.com/ondemand/hls/content/2488267/vid/2175290435999B/SIN/streams/5472a13e-a19a-4a35-8225-80bf74da1915/media/281dd385dae3d96cede76042fd7753ab.m3u8?aka_me_session_id=AAAAAAAAAACkzBJkAAAAAC8OK0KkFYBwSQEUOoKJ2UZGSWxpzXeN3XbymWYYmNWf2VR0FMUSw3dAoh2SGw1g6eeGQBsRcIVY&aka_media_format_type=hls

Are either of these found in a previous response?

gswan commented 1 year ago

Here's the content that contain this. I've truncated (as shown by [truncated]) some larger chunks of text data due to size.

Truncated JSON ```json { "pageref": "page_4", "startedDateTime": "2023-03-15T19:00:33.292+11:00", "request": { "bodySize": 1077, "method": "POST", "url": "https://pubads.g.doubleclick.net/ondemand/hls/content/2488267/vid/2175290435999B/streams", "httpVersion": "HTTP/2", "headers": [ { "name": "Host", "value": "pubads.g.doubleclick.net" }, { "name": "User-Agent", "value": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/110.0" }, { "name": "Accept", "value": "*/*" }, { "name": "Accept-Language", "value": "en-US,en;q=0.5" }, { "name": "Accept-Encoding", "value": "gzip, deflate, br" }, { "name": "Content-Type", "value": "application/x-www-form-urlencoded;charset=utf-8" }, { "name": "Content-Length", "value": "1077" }, { "name": "Origin", "value": "https://www.sbs.com.au" }, { "name": "Connection", "value": "keep-alive" }, { "name": "Referer", "value": "https://www.sbs.com.au/" }, { "name": "Sec-Fetch-Dest", "value": "empty" }, { "name": "Sec-Fetch-Mode", "value": "cors" }, { "name": "Sec-Fetch-Site", "value": "cross-site" }, { "name": "TE", "value": "trailers" } ], "cookies": [], "queryString": [], "headersSize": 530, "postData": { "mimeType": "application/x-www-form-urlencoded", "params": [ { "name": "cust_params", "value": "cxsegments=&cxprnd=38032529&cxid=cb7a59cc-9bf5-41d2-bfb2-b7f4f9ef600f&cxsiteid=1133921284657819058&cxurl=http://www.sbs.com.au/ondemand/video/single/2175290435999&device=web&ipaddress=121.223.146.144&partner=none&programname=cobra&genre=Drama&season=2&ratings=m&vid=2175290435999&scor=2175290435999&uid=cb7a59cc-9bf5-41d2-bfb2-b7f4f9ef600f&ifa=&ifaoptout=0&tvid=&oztam=35fe228f-85c6-8fde-fa6a-a4933223d0f1" }, { "name": "ppid", "value": "CB7A59CC9BF541D2BFB2B7F4F9EF600F" }, { "name": "iu", "value": "/4117/video.web.sbs.com.au" }, { "name": "description_url", "value": "https://www.sbs.com.au/ondemand/video/2175290435999" }, { "name": "ipaddress", "value": "121.223.146.144" }, { "name": "correlator", "value": "3273811130363484" }, { "name": "ptt", "value": "20" }, { "name": "osd", "value": "2" }, { "name": "sdr", "value": "1" }, { "name": "sdki", "value": "41" }, { "name": "sdkv", "value": "h.3.562.0" }, { "name": "uach", "value": "null" }, { "name": "eid", "value": "44748969,44765701,44777649,44781409,44781753,44782991" }, { "name": "frm", "value": "0" }, { "name": "omid_p", "value": "Google1/h.3.562.0" }, { "name": "sdk_apis", "value": "7" }, { "name": "wta", "value": "0" }, { "name": "sid", "value": "B440B706-B904-461E-854E-358BFCA9838A" }, { "name": "url", "value": "https://www.sbs.com.au/ondemand/watch/2175290435999" }, { "name": "cookie", "value": "ID=af6ac4c2f64cab72:T=1660388756:S=ALNI_MagXb8qMUwco8Vg2iZzttkxAY2bhg" } ], "text": "cust_params=cxsegments%3D%26cxprnd%3D38032529%26cxid%3Dcb7a59cc-9bf5-41d2-bfb2-b7f4f9ef600f%26cxsiteid%3D1133921284657819058%26cxurl%3Dhttp%3A%2F%2Fwww.sbs.com.au%2Fondemand%2Fvideo%2Fsingle%2F2175290435999%26device%3Dweb%26ipaddress%3D121.223.146.144%26partner%3Dnone%26programname%3Dcobra%26genre%3DDrama%26season%3D2%26ratings%3Dm%26vid%3D2175290435999%26scor%3D2175290435999%26uid%3Dcb7a59cc-9bf5-41d2-bfb2-b7f4f9ef600f%26ifa%3D%26ifaoptout%3D0%26tvid%3D%26oztam%3D35fe228f-85c6-8fde-fa6a-a4933223d0f1&ppid=CB7A59CC9BF541D2BFB2B7F4F9EF600F&iu=%2F4117%2Fvideo.web.sbs.com.au&description_url=https%3A%2F%2Fwww.sbs.com.au%2Fondemand%2Fvideo%2F2175290435999&ipaddress=121.223.146.144&correlator=3273811130363484&ptt=20&osd=2&sdr=1&sdki=41&sdkv=h.3.562.0&uach=null&eid=44748969%2C44765701%2C44777649%2C44781409%2C44781753%2C44782991&frm=0&omid_p=Google1%2Fh.3.562.0&sdk_apis=7&wta=0&sid=B440B706-B904-461E-854E-358BFCA9838A&url=https%3A%2F%2Fwww.sbs.com.au%2Fondemand%2Fwatch%2F2175290435999&cookie=ID%3Daf6ac4c2f64cab72%3AT%3D1660388756%3AS%3DALNI_MagXb8qMUwco8Vg2iZzttkxAY2bhg" } }, "response": { "status": 201, "statusText": "Created", "httpVersion": "HTTP/2", "headers": [ { "name": "access-control-allow-credentials", "value": "true" }, { "name": "access-control-allow-headers", "value": "Authorization" }, { "name": "access-control-allow-origin", "value": "https://www.sbs.com.au" }, { "name": "access-control-expose-headers", "value": "Location" }, { "name": "cache-control", "value": "no-cache, no-store, max-age=0, must-revalidate" }, { "name": "content-disposition", "value": "attachment; filename=\"stream_info.json\"" }, { "name": "content-encoding", "value": "gzip" }, { "name": "content-type", "value": "application/json; charset=UTF-8" }, { "name": "date", "value": "Wed, 15 Mar 2023 08:00:33 GMT" }, { "name": "expires", "value": "Mon, 01 Jan 1990 00:00:00 GMT" }, { "name": "location", "value": "https://pubads.g.doubleclick.net/ondemand/hls/content/2488267/vid/2175290435999B/SIN/streams/5472a13e-a19a-4a35-8225-80bf74da1915" }, { "name": "pragma", "value": "no-cache" }, { "name": "x-content-type-options", "value": "nosniff" }, { "name": "x-frame-options", "value": "SAMEORIGIN" }, { "name": "x-xss-protection", "value": "0" }, { "name": "content-length", "value": "557" }, { "name": "alt-svc", "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" }, { "name": "X-Firefox-Spdy", "value": "h2" } ], "cookies": [], "content": { "mimeType": "application/json; charset=UTF-8", "size": 1292, "text": "{\"stream_id\":\"5472a13e-a19a-4a35-8225-80bf74da1915\",\"duration\":2969.2,\"stream_type\":\"on_demand\",\"stream_manifest\":\"https://sbs-vod-dai-prod-01.akamaized.net/Content/HLS_AES_TSO/VOD/geo/12986/2483/a3330a06-4a56-45fd-911e-110540bf8c7a/9439a831-9b13-6280-ed4f-cb66148195cb/master.m3u8?hdnea=st=1678866635~exp=1678870235~acl=/Content/HLS_AES_TSO/VOD/geo/12986/2483/a3330a06-4a56-45fd-911e-110540bf8c7a/9439a831-9b13-6280-ed4f-cb66148195cb/*~id=22da613f-1d6d-46b8-be00-d2ff24f6f519~hmac=c34f8467d784258e0d57bd203640e194745b00fd3243d68a99f7a279188b4b2f&originpath=/ondemand/hls/content/2488267/vid/2175290435999B/SIN/streams/5472a13e-a19a-4a35-8225-80bf74da1915/master.m3u8\",\"manifest_format\":\"hls\",\"time_events_url\":\"https://pubads.g.doubleclick.net/ondemand/hls/content/2488267/vid/2175290435999B/SIN/streams/5472a13e-a19a-4a35-8225-80bf74da1915/time-events.json\",\"subtitles\":[{\"language\":\"ENG\",\"language_name\":\"English\",\"ttml\":\"https://pubads.g.doubleclick.net/ondemand/hls/content/2488267/vid/2175290435999B/SIN/streams/5472a13e-a19a-4a35-8225-80bf74da1915/ttml/f7c8f6e1-b122-4fc9-b9ad-34727a43d052.ttml\",\"webvtt\":\"https://pubads.g.doubleclick.net/ondemand/hls/content/2488267/vid/2175290435999B/SIN/streams/5472a13e-a19a-4a35-8225-80bf74da1915/vtt/f7c8f6e1-b122-4fc9-b9ad-34727a43d052.vtt\"}]}\n" }, "redirectURL": "https://pubads.g.doubleclick.net/ondemand/hls/content/2488267/vid/2175290435999B/SIN/streams/5472a13e-a19a-4a35-8225-80bf74da1915", "headersSize": 814, "bodySize": 1371 }, "cache": {}, "timings": { "blocked": 0, "dns": 0, "connect": 0, "ssl": 0, "send": 0, "wait": 2148, "receive": 1 }, "time": 2149, "_securityState": "secure", "serverIPAddress": "142.250.204.2", "connection": "443" }, { "pageref": "page_4", "startedDateTime": "2023-03-15T19:00:33.295+11:00", "request": { "bodySize": 0, "method": "GET", "url": "https://catalogue.pr.sbsod.com/mpx-media/2175290435999", "httpVersion": "", "headers": [ { "name": "Host", "value": "catalogue.pr.sbsod.com" }, { "name": "User-Agent", "value": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/110.0" }, { "name": "Accept", "value": "application/json, text/plain, */*" }, { "name": "Accept-Language", "value": "en" }, { "name": "Accept-Encoding", "value": "gzip, deflate, br" }, { "name": "Origin", "value": "https://www.sbs.com.au" }, { "name": "Connection", "value": "keep-alive" }, { "name": "Referer", "value": "https://www.sbs.com.au/" }, { "name": "Sec-Fetch-Dest", "value": "empty" }, { "name": "Sec-Fetch-Mode", "value": "cors" }, { "name": "Sec-Fetch-Site", "value": "cross-site" }, { "name": "TE", "value": "trailers" } ], "cookies": [], "queryString": [], "headersSize": 428 }, "response": { "status": 0, "statusText": "", "httpVersion": "", "headers": [], "cookies": [], "content": { "mimeType": "application/json", "size": 2477, "text": "{\"id\":\"c04bf9c1-847c-5dae-b85d-eb2a92daf542\",\"entityType\":\"TV_EPISODE\",\"localeID\":\"en\",\"title\":\"Episode 6\",\"slug\":\"cobra-s2-ep6\",\"description\":\"Reeling from the events in Kent, the COBRA team are briefed on the nature of a sophisticated malware which has infected the UK's critical infrastructure.\",\"genres\":[\"Politics\",\"Drama\",\"Thriller\",\"Drama\"],\"availability\":{\"start\":\"2023-03-10T13:00:00Z\",\"end\":\"2024-02-28T12:59:59Z\"},\"classificationID\":\"M\",\"consumerAdvices\":[\"A\",\"L\",\"V\"],\"consumerAdviceTexts\":[\"Adult Themes\",\"Coarse Language\",\"Violence\"],\"countries\":[\"United Kingdom\"],\"languages\":[\"English\"],\"textTracks\":[],\"qualities\":[],\"crews\":[{\"id\":\"46c0a2a6-4c91-5d15-9868-966d4eef0447\",\"entityType\":\"PERSON\",\"name\":\"Ben Richards\",\"role\":\"Creator\"},{\"id\":\"46c0a2a6-4c91-5d15-9868-966d4eef0447\",\"entityType\":\"PERSON\",\"name\":\"Ben Richards\",\"role\":\"Writer\"}],\"casts\":[{\"id\":\"e70e7315-74ee-5e0f-8fe0-fec0e584232a\",\"entityType\":\"PERSON\",\"name\":\"Robert Carlyle\",\"role\":\"Actor\"},{\"id\":\"83b24444-c4c6-578b-9c98-f02c0f9b6727\",\"entityType\":\"PERSON\",\"name\":\"Victoria Hamilton\",\"role\":\"Actor\"},{\"id\":\"84495126-2001-5ce0-b0a6-f2861f18ef0d\",\"entityType\":\"PERSON\",\"name\":\"Richard Dormer\",\"role\":\"Actor\"},{\"id\":\"3fd484e2-e5c6-5942-8bb5-2edd24bb48ee\",\"entityType\":\"PERSON\",\"name\":\"Marsha Thomason\",\"role\":\"Actor\"},{\"id\":\"df2ab9f1-a97e-5fbd-8ef7-aedb42978257\",\"entityType\":\"PERSON\",\"name\":\"David Haig\",\"role\":\"Actor\"},{\"id\":\"07068f11-68c1-50d0-967d-aa50f79cd6c0\",\"entityType\":\"PERSON\",\"name\":\"Lucy Cohu\",\"role\":\"Actor\"},{\"id\":\"7c40c45f-3d23-58b2-a7eb-1b464f7387ad\",\"entityType\":\"PERSON\",\"name\":\"Mark Bazeley\",\"role\":\"Actor\"},{\"id\":\"df076c0c-80ec-516c-82ed-d0b857630c76\",\"entityType\":\"PERSON\",\"name\":\"Grace Hogg-Robinson\",\"role\":\"Actor\"}],\"images\":[{\"id\":\"abe054d4-6a4b-5eee-bced-79e92206fc57\",\"category\":\"16:9|704|396|BANNER\"},{\"id\":\"7fa62077-fa16-59e8-8e42-a9cd048e2c6e\",\"category\":\"16:9|1920|1080|KEY_ART\"},{\"id\":\"1f5966d6-ecfe-512c-9ebe-50101e8d7ebb\",\"category\":\"1:1|1400|1400|MASK\"},{\"id\":\"48508900-08e9-5f70-bdaf-b2f7cd962c2f\",\"category\":\"2:3|960|1440|BANNER\"},{\"id\":\"48508900-08e9-5f70-bdaf-b2f7cd962c2f\",\"category\":\"2:3|960|1440|KEY_ART\"}],\"trailers\":[],\"extras\":[],\"distributors\":[{\"id\":\"6593\",\"name\":\"Universal Studios Int. Bv\"}],\"duration\":\"PT44M13S\",\"mpxMediaID\":2175290435999,\"ibmsTitleID\":760260,\"releaseYear\":2021,\"seriesID\":\"091463a9-8df7-5139-a3d9-35793c131079\",\"seriesTitle\":\"COBRA\",\"seriesSlug\":\"cobra\",\"seasonNumber\":2,\"seasonSlug\":\"season-2\",\"episodeNumber\":6,\"channels\":[]}" }, "redirectURL": "", "bodySize": 1206 }, "cache": {}, "timings": { "blocked": 0, "dns": 0, "connect": 0, "ssl": 0, "send": 0, "wait": 0, "receive": 0 }, "time": 0, "_securityState": "secure" }, { "pageref": "page_4", "startedDateTime": "2023-03-15T19:00:33.321+11:00", "request": { "bodySize": 0, "method": "GET", "url": "https://catalogue.pr.sbsod.com/tv-series/cobra", "httpVersion": "HTTP/2", "headers": [ { "name": "Host", "value": "catalogue.pr.sbsod.com" }, { "name": "User-Agent", "value": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/110.0" }, { "name": "Accept", "value": "application/json, text/plain, */*" }, { "name": "Accept-Language", "value": "en" }, { "name": "Accept-Encoding", "value": "gzip, deflate, br" }, { "name": "Origin", "value": "https://www.sbs.com.au" }, { "name": "Connection", "value": "keep-alive" }, { "name": "Referer", "value": "https://www.sbs.com.au/" }, { "name": "Sec-Fetch-Dest", "value": "empty" }, { "name": "Sec-Fetch-Mode", "value": "cors" }, { "name": "Sec-Fetch-Site", "value": "cross-site" } ], "cookies": [], "queryString": [], "headersSize": null }, "response": { "status": 200, "statusText": "OK", "httpVersion": "HTTP/2", "headers": [ { "name": "content-type", "value": "application/json" }, { "name": "last-modified", "value": "Wed, 15 Mar 2023 07:58:48 GMT" }, { "name": "content-encoding", "value": "gzip" }, { "name": "content-length", "value": "3785" }, { "name": "cache-control", "value": "public, max-age=81, s-maxage=180" }, { "name": "expires", "value": "Wed, 15 Mar 2023 08:01:48 GMT" }, { "name": "date", "value": "Wed, 15 Mar 2023 08:00:27 GMT" }, { "name": "server-timing", "value": "cdn-cache; desc=HIT" }, { "name": "server-timing", "value": "edge; dur=1" }, { "name": "vary", "value": "accept-language, accept-encoding" }, { "name": "access-control-allow-origin", "value": "*" }, { "name": "vary", "value": "accept-language, accept-encoding, Origin" }, { "name": "server-timing", "value": "ak_p; desc=\"466352_389422693_4148987_40_4344_12_0\";dur=1" }, { "name": "X-Firefox-Spdy", "value": "h2" } ], "cookies": [], "content": { "mimeType": "application/json", "size": 14959, "text": "{\"id\":\"091463a9-8df7-5139-a3d9-35793c131079\",\"entityType\":\"TV_SERIES\",\"localeID\":\"en\",\"title\":\"COBRA\",\"slug\":\"cobra\",\"description\":\"The UK prime minister convenes an emergency committee of Britain's leading experts, crisis contingency planners, and senior politicians to deal with an unfolding national emergency.\",\"genres\":[\"Drama\",\"Politics\"],\"availability\":{\"start\":\"2022-05-03T14:00:00Z\",\"end\":\"2024-03-03T12:59:59Z\"},\"classificationID\":\"MA15+\",\"consumerAdvices\":[\"A\",\"D\",\"L\",\"V\"],\"consumerAdviceTexts\":[\"Strong Adult Themes\",\"Strong Drug References\",\"Strong Coarse Language\",\"Strong Violence\"],\"countries\":[\"United Kingdom\"],\"languages\":[\"English\"],\"textTracks\":[{\"localeID\":\"en\",\"language\":\"English\",\"type\":\"SUBTITLE\"}],\"qualities\":[\"HD\",\"nHD\"],\"crews\":[{\"id\":\"93ff5b8d-b515-5902-8345-b600f4c44549\",\"entityType\":\"PERSON\",\"name\":\"Joe Donaldson\",\"role\":\"Producer\"},{\"id\":\"46c0a2a6-4c91-5d15-9868-966d4eef0447\",\"entityType\":\"PERSON\",\"name\":\"Ben Richards\",\"role\":\"Writer\"},{\"id\":\"3a30053d-e494-5221-99a2-ec77981a43c1\",\"entityType\":\"PERSON\",\"name\":\"Hans Herbots\",\"role\":\"Director\"}],\"casts\":[{\"id\":\"e70e7315-74ee-5e0f-8fe0-fec0e584232a\",\"entityType\":\"PERSON\",\"name\":\"Robert Carlyle\",\"role\":\"Actor\"},{\"id\":\"83b24444-c4c6-578b-9c98-f02c0f9b6727\",\"entityType\":\"PERSON\",\"name\":\"Victoria Hamilton\",\"role\":\"Actor\"},{\"id\":\"84495126-2001-5ce0-b0a6-f2861f18ef0d\",\"entityType\":\"PERSON\",\"name\":\"Richard Dormer\",\"role\":\"Actor\"},{\"id\":\"df2ab9f1-a97e-5fbd-8ef7-aedb42978257\",\"entityType\":\"PERSON\",\"name\":\"David Haig\",\"role\":\"Actor\"},{\"id\":\"07068f11-68c1-50d0-967d-aa50f79cd6c0\",\"entityType\":\"PERSON\",\"name\":\"Lucy Cohu\",\"role\":\"Actor\"},{\"id\":\"7c40c45f-3d23-58b2-a7eb-1b464f7387ad\",\"entityType\":\"PERSON\",\"name\":\"Mark Bazeley\",\"role\":\"Actor\"},{\"id\":\"df076c0c-80ec-516c-82ed-d0b857630c76\",\"entityType\":\"PERSON\",\"name\":\"Grace Hogg-Robinson\",\"role\":\"Actor\"},{\"id\":\"6da377cc-8cb0-52c6-9c7d-c8ae0b44d9e0\",\"entityType\":\"PERSON\",\"name\":\"Joshua Hogan\",\"role\":\"Actor\"}],\"images\":[{\"id\":\"d43d3c1c-0572-5ef1-b3b9-407b723dbfc5\",\"category\":\"16:9|3840|2160|BANNER\"},{\"id\":\"37b32432-2480-5aa7-b9b2-5e73953c963e\",\"category\":\"16:9|1280|720|KEY_ART\"},{\"id\":\"07951be8-9383-5312-83e7-7c470d07bc88\",\"category\":\"1:1|3000|3000|MASK\"},{\"id\":\"2314af5d-3ee0-59b2-9615-e0ebbb6ab293\",\"category\":\"2:3|1280|1920|BANNER\"},{\"id\":\"4fefbabf-2ec9-5bb5-b9be-aed468b9587c\",\"category\":\"2:3|960|1440|KEY_ART\"}],\"trailers\":[],\"extras\":[{\"id\":\"e6bd4f02-57c9-58a0-8ce8-a7bc1d84acb2\",\"entityType\":\"CLIP\",\"category\":\"EXTRAS\",\"title\":\"Cobra | Trailer\",\"description\":\"The UK prime minister (Robert Carlyle) convenes an emergency committee of Britain's leading experts, crisis contingency planners, and senior politicians to deal with an unfolding national emergency.\",\"duration\":\"PT30S\",\"availability\":{\"start\":\"2022-05-05T14:00:00Z\",\"end\":\"2023-04-29T14:00:00Z\"},\"mpxMediaID\":2031095363706,\"images\":[{\"id\":\"88210c3a-9b23-58ef-92cb-0dedb2236a91\",\"category\":\"16:9|704|396|BANNER\"},{\"id\":\"359bc2b1-f210-58ea-a99a-84236bdfb71b\",\"category\":\"16:9|1280|720|KEY_ART\"},{\"id\":\"0705655f-b2c4-5881-b9a8-71f27372e4f0\",\"category\":\"1:1|200|200|MASK\"},{\"id\":\"09543c74-f1b3-53e1-83b0-6a25e5cbc1a4\",\"category\":\"2:3|960|1440|BANNER\"},{\"id\":\"358ca5d8-b568-5223-9d08-415c2a7a0a47\",\"category\":\"2:3|960|1440|KEY_ART\"}]}],\"distributors\":[{\"id\":\"6593\",\"name\":\"Universal Studios Int. Bv\"}],\"releaseYear\":2020,\"seasons\":[{\"id\":\"6429202e-7eb6-558c-a3a1-d15a4ee92364\",\"entityType\":\"TV_SEASON\",\"title\":\"Season 1\",\"slug\":\"season-1\",\"seasonNumber\":1,\"availability\":{\"start\":\"2022-05-03T14:00:00Z\",\"end\":\"2024-03-03T12:59:59Z\"},\"episodes\":[{\"id\":\"2f0f2144-bae0-5b9b-a96c-648e058b7778\",\"entityType\":\"TV_EPISODE\",\"seriesID\":\"091463a9-8df7-5139-a3d9-35793c131079\",\"seriesTitle\":\"COBRA\",\"seriesSlug\":\"cobra\",\"seasonNumber\":1,\"episodeNumber\":1,\"title\":\"Episode 1\",\"slug\":\"cobra-s1-ep1\",\"description\":\"As the possibility of a solar storm affecting the UK mounts, Prime Minister Robert Sutherland and his chief of staff Anna Marshall assemble the emergency committee COBRA in an effort to combat the situation.\",\"duration\":\"PT43M24S\",\"mpxMediaID\":2022662723645,\"genres\":[\"Drama\",\"Politics\",\"Drama\",\"Thriller\"],\"classificationID\":\"M\",\"consumerAdvices\":[\"A\",\"D\",\"L\"],\"consumerAdviceTexts\":[\"Adult Themes\",\"Drug References\",\"Coarse Language\"],\"availability\":{\"start\":\"2022-05-03T14:00:00Z\",\"end\":\"2024-03-03T12:59:59Z\"},\"releaseYear\":2020,\"languages\":[\"English\"],\"textTracks\":[{\"localeID\":\"en\",\"language\":\"English\",\"type\":\"SUBTITLE\"}],\"images\":[{\"id\":\"ef9df890-2c95-5fec-8ae9-e2932f5e41af\",\"category\":\"16:9|3840|2160|KEY_ART\"}]},{\"id\":\"01e9a74f-9b45-5bdd-a584-6922a5b0bc3b\",\"entityType\":\"TV_EPISODE\",\"seriesID\":\"091463a9-8df7-5139-a3d9-35793c131079\",\"seriesTitle\":\"COBRA\",\"seriesSlug\":\"cobra\",\"seasonNumber\":1,\"episodeNumber\":2,\"title\":\"Episode 2\",\"slug\":\"cobra-s1-ep2\",\"description\":\"With the nation in the full grip of the crisis and experiencing the worst blackout in the history of the UK, Sutherland and his team are forced to work around the clock to restore power; Anna reconnects with Edin.\",\"duration\":\"PT43M11S\",\"mpxMediaID\":2024804931898,\"genres\":[\"Drama\",\"Politics\",\"Drama\",\"Thriller\"],\"classificationID\":\"MA15+\",\"consumerAdvices\":[\"A\"],\"consumerAdviceTexts\":[\"Strong Adult Themes\"],\"availability\":{\"start\":\"2022-05-10T14:00:00Z\",\"end\":\"2024-03-03T12:59:59Z\"},\"releaseYear\":2020,\"languages\":[\"English\"],\"textTracks\":[{\"localeID\":\"en\",\"language\":\"English\",\"type\":\"SUBTITLE\"}],\"images\":[{\"id\":\"f215013f-e13e-57d1-91ca-91e5f9f0c649\",\"category\":\"16:9|3840|2160|KEY_ART\"}]},{\"id\":\"5a230b88-18d2-5712-8020-3624af345ffd\",\"entityType\":\"TV_EPISODE\",\"seriesID\":\"091463a9-8df7-5139-a3d9-35793c131079\",\"seriesTitle\":\"COBRA\",\"seriesSlug\":\"cobra\",\"seasonNumber\":1,\"episodeNumber\":3,\"title\":\"Episode 3\",\"slug\":\"cobra-s1-ep3\",\"description\":\"Sutherland, Anna, and Fraser head to one of the worst-affected areas; while the prime minister is away, Archie causes problems.\",\"duration\":\"PT44M16S\",\"mpxMediaID\":2027571267846,\"genres\":[\"Drama\",\"Politics\",\"Drama\",\"Thriller\"],\"classificationID\":\"M\",\"consumerAdvices\":[\"A\",\"L\",\"V\"],\"consumerAdviceTexts\":[\"Adult Themes\",\"Coarse Language\",\"Violence\"],\"availability\":{\"start\":\"2022-05-17T14:00:00Z\",\"end\":\"2024-03-03T12:59:59Z\"},\"releaseYear\":2020,\"languages\":[\"English\"],\"textTracks\":[{\"localeID\":\"en\",\"language\":\"English\",\"type\":\"SUBTITLE\"}],\"images\":[{\"id\":\"e5634e25-b339-587a-a180-00f8148eabf3\",\"category\":\"16:9|3840|2160|KEY_ART\"}]},{\"id\":\"4d4f3821-d31b-5d02-8a10-bb4950dcf400\",\"entityType\":\"TV_EPISODE\",\"seriesID\":\"091463a9-8df7-5139-a3d9-35793c131079\",\"seriesTitle\":\"COBRA\",\"seriesSlug\":\"cobra\",\"seasonNumber\":1,\"episodeNumber\":4,\"title\":\"Episode 4\",\"slug\":\"cobra-s1-ep4\",\"description\":\"Sutherland's knowledge about his daughter's part in her friend's death is questioned; a new threat rears its head.\",\"duration\":\"PT44M10S\",\"mpxMediaID\":2029918275610,\"genres\":[\"Drama\",\"Politics\",\"Drama\",\"Thriller\"],\"classificationID\":\"MA15+\",\"consumerAdvices\":[\"L\"],\"consumerAdviceTexts\":[\"Strong Coarse Language\"],\"availability\":{\"start\":\"2022-05-24T14:00:00Z\",\"end\":\"2024-03-03T12:59:59Z\"},\"releaseYear\":2020,\"languages\":[\"English\"],\"textTracks\":[{\"localeID\":\"en\",\"language\":\"English\",\"type\":\"SUBTITLE\"}],\"images\":[{\"id\":\"b7f4d430-8746-57dc-9be7-8a08493edf93\",\"category\":\"16:9|3840|2160|KEY_ART\"}]},{\"id\":\"b42b9e4a-21a2-57c2-a3da-7011c3daa870\",\"entityType\":\"TV_EPISODE\",\"seriesID\":\"091463a9-8df7-5139-a3d9-35793c131079\",\"seriesTitle\":\"COBRA\",\"seriesSlug\":\"cobra\",\"seasonNumber\":1,\"episodeNumber\":5,\"title\":\"Episode 5\",\"slug\":\"cobra-s1-ep5\",\"description\":\"Fraser deals with issues in his personal life as the crisis worsens; the prime minister is forced to consider more extreme measures to retain control and maintain order over the country.\",\"duration\":\"PT43M19S\",\"mpxMediaID\":2032058435771,\"genres\":[\"Drama\",\"Politics\",\"Drama\",\"Thriller\"],\"classificationID\":\"MA15+\",\"consumerAdvices\":[\"A\",\"V\"],\"consumerAdviceTexts\":[\"Strong Adult Themes\",\"Strong Violence\"],\"availability\":{\"start\":\"2022-05-31T14:00:00Z\",\"end\":\"2024-03-03T12:59:59Z\"},\"releaseYear\":2020,\"languages\":[\"English\"],\"textTracks\":[{\"localeID\":\"en\",\"language\":\"English\",\"type\":\"SUBTITLE\"}],\"images\":[{\"id\":\"8f2d9d09-843c-54cc-ad41-a42764ea49ca\",\"category\":\"16:9|1920|1080|KEY_ART\"}]},{\"id\":\"66f6ff1a-6927-54ec-8ed7-a6095d89cf7e\",\"entityType\":\"TV_EPISODE\",\"seriesID\":\"091463a9-8df7-5139-a3d9-35793c131079\",\"seriesTitle\":\"COBRA\",\"seriesSlug\":\"cobra\",\"seasonNumber\":1,\"episodeNumber\":6,\"title\":\"Episode 6\",\"slug\":\"cobra-s1-ep6\",\"description\":\"Fraser and his team reach the endgame as the crisis reaches a boiling point; the prime minister and Anna fight for their political lives.\",\"duration\":\"PT44M4S\",\"mpxMediaID\":2034363459901,\"genres\":[\"Drama\",\"Politics\",\"Drama\",\"Thriller\"],\"classificationID\":\"MA15+\",\"consumerAdvices\":[\"A\",\"V\"],\"consumerAdviceTexts\":[\"Strong Adult Themes\",\"Strong Violence\"],\"availability\":{\"start\":\"2022-06-07T14:00:00Z\",\"end\":\"2024-03-03T12:59:59Z\"},\"releaseYear\":2020,\"languages\":[\"English\"],\"textTracks\":[{\"localeID\":\"en\",\"language\":\"English\",\"type\":\"SUBTITLE\"}],\"images\":[{\"id\":\"1ad96165-6d1d-590c-838f-f03720e3e02a\",\"category\":\"16:9|3840|2160|KEY_ART\"}]}]},{\"id\":\"840d40c3-345a-517a-a73c-b4107eb832d4\",\"entityType\":\"TV_SEASON\",\"title\":\"Season 2\",\"slug\":\"season-2\",\"seasonNumber\":2,\"availability\":{\"start\":\"2023-03-10T13:00:00Z\",\"end\":\"2024-02-28T12:59:59Z\"},\"episodes\":[{\"id\":\"bfb54ecb-593f-57fe-b15a-044f1bdf3c80\",\"entityType\":\"TV_EPISODE\",\"seriesID\":\"091463a9-8df7-5139-a3d9-35793c131079\",\"seriesTitle\":\"COBRA\",\"seriesSlug\":\"cobra\",\"seasonNumber\":2,\"episodeNumber\":1,\"title\":\"Episode 1\",\"slug\":\"cobra-s2-ep1\",\"description\":\"Sutherland and Amrshall assemble the COBRA emergency committee to respond to a potentially explosive situation in Kent. Meanwhile, former Home Secretary Archie Glover Morgan plots a return to power.\",\"duration\":\"PT41M24S\",\"mpxMediaID\":2175290435993,\"genres\":[\"Drama\",\"Politics\",\"Drama\",\"Thriller\"],\"classificationID\":\"M\",\"consumerAdvices\":[\"A\",\"L\",\"V\"],\"consumerAdviceTexts\":[\"Adult Themes\",\"Coarse Language\",\"Violence\"],\"availability\":{\"start\":\"2023-03-10T13:00:00Z\",\"end\":\"2024-02-28T12:59:59Z\"},\"releaseYear\":2021,\"languages\":[\"English\"],\"textTracks\":[],\"images\":[{\"id\":\"8a540f4c-2fb7-54e4-bcd0-8923785ceef5\",\"category\":\"16:9|3840|2160|KEY_ART\"}]},{\"id\":\"77e7b383-4c99-5268-bc9e-ae3d40337fd7\",\"entityType\":\"TV_EPISODE\",\"seriesID\":\"091463a9-8df7-5139-a3d9-35793c131079\",\"seriesTitle\":\"COBRA\",\"seriesSlug\":\"cobra\",\"seasonNumber\":2,\"episodeNumber\":2,\"title\":\"Episode 2\",\"slug\":\"cobra-s2-ep2\",\"description\":\"Following devastation in Kent and the cyber-attack which continues to jam communications, the Prime Minister convenes an emergency COBRA meeting.\",\"duration\":\"PT44M11S\",\"mpxMediaID\":2175290435994,\"genres\":[\"Thriller\",\"Drama\",\"Politics\",\"Drama\"],\"classificationID\":\"M\",\"consumerAdvices\":[\"A\",\"L\"],\"consumerAdviceTexts\":[\"Adult Themes\",\"Coarse Language\"],\"availability\":{\"start\":\"2023-03-10T13:00:00Z\",\"end\":\"2024-02-28T12:59:59Z\"},\"releaseYear\":2021,\"languages\":[\"English\"],\"textTracks\":[],\"images\":[{\"id\":\"8866c0ff-6ced-56bd-ac93-f5a554be0cb5\",\"category\":\"16:9|3840|2160|KEY_ART\"}]},{\"id\":\"a3de5782-09ef-537e-8612-9654cda16777\",\"entityType\":\"TV_EPISODE\",\"seriesID\":\"091463a9-8df7-5139-a3d9-35793c131079\",\"seriesTitle\":\"COBRA\",\"seriesSlug\":\"cobra\",\"seasonNumber\":2,\"episodeNumber\":3,\"title\":\"Episode 3\",\"slug\":\"cobra-s2-ep3\",\"description\":\"COBRA is assembled when fresh disaster strikes, as a breach at Dover port suggests an insidious threat; the PM's strategy is tested by an online activist.\",\"duration\":\"PT42M37S\",\"mpxMediaID\":2175290435995,\"genres\":[\"Drama\",\"Politics\",\"Drama\",\"Thriller\"],\"classificationID\":\"M\",\"consumerAdvices\":[\"A\",\"L\"],\"consumerAdviceTexts\":[\"Adult Themes\",\"Coarse Language\"],\"availability\":{\"start\":\"2023-03-10T13:00:00Z\",\"end\":\"2024-02-28T12:59:59Z\"},\"releaseYear\":2021,\"languages\":[\"English\"],\"textTracks\":[],\"images\":[{\"id\":\"55de9a21-1519-5a1f-8b30-34a4c546b878\",\"category\":\"16:9|1920|1080|KEY_ART\"}]},{\"id\":\"d7b9eedb-9a9b-539e-8ce9-0aafb1db26e7\",\"entityType\":\"TV_EPISODE\",\"seriesID\":\"091463a9-8df7-5139-a3d9-35793c131079\",\"seriesTitle\":\"COBRA\",\"seriesSlug\":\"cobra\",\"seasonNumber\":2,\"episodeNumber\":4,\"title\":\"Episode 4\",\"slug\":\"cobra-s2-ep4\",\"description\":\"The team try to understand the latest discovery, while Francine's attack on Lord Singer is met with delight.\",\"duration\":\"PT43M33S\",\"mpxMediaID\":2175290435996,\"genres\":[\"Drama\",\"Thriller\",\"Drama\",\"Politics\"],\"classificationID\":\"MA15+\",\"consumerAdvices\":[\"V\"],\"consumerAdviceTexts\":[\"Strong Violence\"],\"availability\":{\"start\":\"2023-03-10T13:00:00Z\",\"end\":\"2024-02-28T12:59:59Z\"},\"releaseYear\":2021,\"languages\":[\"English\"],\"textTracks\":[],\"images\":[{\"id\":\"d932fc95-a414-56ee-a3c9-0628130da90c\",\"category\":\"16:9|3840|2160|KEY_ART\"}]},{\"id\":\"230a6720-368d-52c3-93a4-82e5cb47ed36\",\"entityType\":\"TV_EPISODE\",\"seriesID\":\"091463a9-8df7-5139-a3d9-35793c131079\",\"seriesTitle\":\"COBRA\",\"seriesSlug\":\"cobra\",\"seasonNumber\":2,\"episodeNumber\":5,\"title\":\"Episode 5\",\"slug\":\"cobra-s2-ep5\",\"description\":\"Rachel is dismayed by the fresh assault on her reputation, but Robert is distracted following Firestorm's return. Reports of a new cyber attack arrive.\",\"duration\":\"PT43M37S\",\"mpxMediaID\":2175290435997,\"genres\":[\"Drama\",\"Politics\",\"Drama\",\"Thriller\"],\"classificationID\":\"MA15+\",\"consumerAdvices\":[\"L\"],\"consumerAdviceTexts\":[\"Strong Coarse Language\"],\"availability\":{\"start\":\"2023-03-10T13:00:00Z\",\"end\":\"2024-02-28T12:59:59Z\"},\"releaseYear\":2021,\"languages\":[\"English\"],\"textTracks\":[],\"images\":[{\"id\":\"65d3e3d3-25cf-5723-8812-e74d1fd45d66\",\"category\":\"16:9|1920|1080|KEY_ART\"}]},{\"id\":\"c04bf9c1-847c-5dae-b85d-eb2a92daf542\",\"entityType\":\"TV_EPISODE\",\"seriesID\":\"091463a9-8df7-5139-a3d9-35793c131079\",\"seriesTitle\":\"COBRA\",\"seriesSlug\":\"cobra\",\"seasonNumber\":2,\"episodeNumber\":6,\"title\":\"Episode 6\",\"slug\":\"cobra-s2-ep6\",\"description\":\"Reeling from the events in Kent, the COBRA team are briefed on the nature of a sophisticated malware which has infected the UK's critical infrastructure.\",\"duration\":\"PT44M13S\",\"mpxMediaID\":2175290435999,\"genres\":[\"Politics\",\"Drama\",\"Thriller\",\"Drama\"],\"classificationID\":\"M\",\"consumerAdvices\":[\"A\",\"L\",\"V\"],\"consumerAdviceTexts\":[\"Adult Themes\",\"Coarse Language\",\"Violence\"],\"availability\":{\"start\":\"2023-03-10T13:00:00Z\",\"end\":\"2024-02-28T12:59:59Z\"},\"releaseYear\":2021,\"languages\":[\"English\"],\"textTracks\":[],\"images\":[{\"id\":\"7fa62077-fa16-59e8-8e42-a9cd048e2c6e\",\"category\":\"16:9|1920|1080|KEY_ART\"}]}]}],\"redbackSeriesID\":7892,\"featured\":{\"id\":\"2f0f2144-bae0-5b9b-a96c-648e058b7778\",\"entityType\":\"TV_EPISODE\",\"tagLine\":\"Start Here\",\"title\":\"Episode 1\",\"description\":\"As the possibility of a solar storm affecting the UK mounts, Prime Minister Robert Sutherland and his chief of staff Anna Marshall assemble the emergency committee COBRA in an effort to combat the situation.\",\"duration\":\"PT43M24S\",\"availability\":{\"start\":\"2022-05-03T14:00:00Z\",\"end\":\"2024-03-03T12:59:59Z\"},\"mpxMediaID\":2022662723645,\"images\":[{\"id\":\"ef9df890-2c95-5fec-8ae9-e2932f5e41af\",\"category\":\"16:9|3840|2160|KEY_ART\"}]}}" }, "redirectURL": "", "headersSize": 0, "bodySize": 3785 }, "cache": {}, "timings": { "blocked": 0, "dns": 0, "ssl": 0, "connect": 0, "send": 0, "wait": 0, "receive": 0 }, "time": 0, "_securityState": "secure" }, { "pageref": "page_4", "startedDateTime": "2023-03-15T19:00:33.398+11:00", "request": { "bodySize": 0, "method": "GET", "url": "https://catalogue.pr.sbsod.com/mpx-media/2175290435999", "httpVersion": "HTTP/2", "headers": [ { "name": "Host", "value": "catalogue.pr.sbsod.com" }, { "name": "User-Agent", "value": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/110.0" }, { "name": "Accept", "value": "application/json, text/plain, */*" }, { "name": "Accept-Language", "value": "en" }, { "name": "Accept-Encoding", "value": "gzip, deflate, br" }, { "name": "Origin", "value": "https://www.sbs.com.au" }, { "name": "Connection", "value": "keep-alive" }, { "name": "Referer", "value": "https://www.sbs.com.au/" }, { "name": "Sec-Fetch-Dest", "value": "empty" }, { "name": "Sec-Fetch-Mode", "value": "cors" }, { "name": "Sec-Fetch-Site", "value": "cross-site" } ], "cookies": [], "queryString": [], "headersSize": null }, "response": { "status": 200, "statusText": "OK", "httpVersion": "HTTP/2", "headers": [ { "name": "content-type", "value": "application/json" }, { "name": "last-modified", "value": "Wed, 15 Mar 2023 07:57:50 GMT" }, { "name": "content-encoding", "value": "gzip" }, { "name": "content-length", "value": "1206" }, { "name": "cache-control", "value": "public, max-age=180, s-maxage=180" }, { "name": "expires", "value": "Wed, 15 Mar 2023 08:00:50 GMT" }, { "name": "date", "value": "Wed, 15 Mar 2023 07:57:50 GMT" }, { "name": "server-timing", "value": "cdn-cache; desc=REVALIDATE" }, { "name": "server-timing", "value": "edge; dur=6" }, { "name": "server-timing", "value": "origin; dur=43" }, { "name": "vary", "value": "accept-language, accept-encoding" }, { "name": "access-control-allow-origin", "value": "*" }, { "name": "vary", "value": "accept-language, accept-encoding, Origin" }, { "name": "server-timing", "value": "ak_p; desc=\"466351_1224204180_108199368_4874_4994_11_0\";dur=1" }, { "name": "X-Firefox-Spdy", "value": "h2" } ], "cookies": [], "content": { "mimeType": "application/json", "size": 2477, "text": "{\"id\":\"c04bf9c1-847c-5dae-b85d-eb2a92daf542\",\"entityType\":\"TV_EPISODE\",\"localeID\":\"en\",\"title\":\"Episode 6\",\"slug\":\"cobra-s2-ep6\",\"description\":\"Reeling from the events in Kent, the COBRA team are briefed on the nature of a sophisticated malware which has infected the UK's critical infrastructure.\",\"genres\":[\"Politics\",\"Drama\",\"Thriller\",\"Drama\"],\"availability\":{\"start\":\"2023-03-10T13:00:00Z\",\"end\":\"2024-02-28T12:59:59Z\"},\"classificationID\":\"M\",\"consumerAdvices\":[\"A\",\"L\",\"V\"],\"consumerAdviceTexts\":[\"Adult Themes\",\"Coarse Language\",\"Violence\"],\"countries\":[\"United Kingdom\"],\"languages\":[\"English\"],\"textTracks\":[],\"qualities\":[],\"crews\":[{\"id\":\"46c0a2a6-4c91-5d15-9868-966d4eef0447\",\"entityType\":\"PERSON\",\"name\":\"Ben Richards\",\"role\":\"Creator\"},{\"id\":\"46c0a2a6-4c91-5d15-9868-966d4eef0447\",\"entityType\":\"PERSON\",\"name\":\"Ben Richards\",\"role\":\"Writer\"}],\"casts\":[{\"id\":\"e70e7315-74ee-5e0f-8fe0-fec0e584232a\",\"entityType\":\"PERSON\",\"name\":\"Robert Carlyle\",\"role\":\"Actor\"},{\"id\":\"83b24444-c4c6-578b-9c98-f02c0f9b6727\",\"entityType\":\"PERSON\",\"name\":\"Victoria Hamilton\",\"role\":\"Actor\"},{\"id\":\"84495126-2001-5ce0-b0a6-f2861f18ef0d\",\"entityType\":\"PERSON\",\"name\":\"Richard Dormer\",\"role\":\"Actor\"},{\"id\":\"3fd484e2-e5c6-5942-8bb5-2edd24bb48ee\",\"entityType\":\"PERSON\",\"name\":\"Marsha Thomason\",\"role\":\"Actor\"},{\"id\":\"df2ab9f1-a97e-5fbd-8ef7-aedb42978257\",\"entityType\":\"PERSON\",\"name\":\"David Haig\",\"role\":\"Actor\"},{\"id\":\"07068f11-68c1-50d0-967d-aa50f79cd6c0\",\"entityType\":\"PERSON\",\"name\":\"Lucy Cohu\",\"role\":\"Actor\"},{\"id\":\"7c40c45f-3d23-58b2-a7eb-1b464f7387ad\",\"entityType\":\"PERSON\",\"name\":\"Mark Bazeley\",\"role\":\"Actor\"},{\"id\":\"df076c0c-80ec-516c-82ed-d0b857630c76\",\"entityType\":\"PERSON\",\"name\":\"Grace Hogg-Robinson\",\"role\":\"Actor\"}],\"images\":[{\"id\":\"abe054d4-6a4b-5eee-bced-79e92206fc57\",\"category\":\"16:9|704|396|BANNER\"},{\"id\":\"7fa62077-fa16-59e8-8e42-a9cd048e2c6e\",\"category\":\"16:9|1920|1080|KEY_ART\"},{\"id\":\"1f5966d6-ecfe-512c-9ebe-50101e8d7ebb\",\"category\":\"1:1|1400|1400|MASK\"},{\"id\":\"48508900-08e9-5f70-bdaf-b2f7cd962c2f\",\"category\":\"2:3|960|1440|BANNER\"},{\"id\":\"48508900-08e9-5f70-bdaf-b2f7cd962c2f\",\"category\":\"2:3|960|1440|KEY_ART\"}],\"trailers\":[],\"extras\":[],\"distributors\":[{\"id\":\"6593\",\"name\":\"Universal Studios Int. Bv\"}],\"duration\":\"PT44M13S\",\"mpxMediaID\":2175290435999,\"ibmsTitleID\":760260,\"releaseYear\":2021,\"seriesID\":\"091463a9-8df7-5139-a3d9-35793c131079\",\"seriesTitle\":\"COBRA\",\"seriesSlug\":\"cobra\",\"seasonNumber\":2,\"seasonSlug\":\"season-2\",\"episodeNumber\":6,\"channels\":[]}" }, "redirectURL": "", "headersSize": 0, "bodySize": 1206 }, "cache": {}, "timings": { "blocked": 0, "dns": 0, "ssl": 0, "connect": 0, "send": 0, "wait": 0, "receive": 0 }, "time": 0, "_securityState": "secure" }, { "pageref": "page_4", "startedDateTime": "2023-03-15T19:00:33.423+11:00", "request": { "bodySize": 0, "method": "GET", "url": "https://catalogue.pr.sbsod.com/tv-series/cobra", "httpVersion": "HTTP/2", "headers": [ { "name": "Host", "value": "catalogue.pr.sbsod.com" }, { "name": "User-Agent", "value": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/110.0" }, { "name": "Accept", "value": "application/json, text/plain, */*" }, { "name": "Accept-Language", "value": "en" }, { "name": "Accept-Encoding", "value": "gzip, deflate, br" }, { "name": "Origin", "value": "https://www.sbs.com.au" }, { "name": "Connection", "value": "keep-alive" }, { "name": "Referer", "value": "https://www.sbs.com.au/" }, { "name": "Sec-Fetch-Dest", "value": "empty" }, { "name": "Sec-Fetch-Mode", "value": "cors" }, { "name": "Sec-Fetch-Site", "value": "cross-site" } ], "cookies": [], "queryString": [], "headersSize": null }, "response": { "status": 200, "statusText": "OK", "httpVersion": "HTTP/2", "headers": [ { "name": "content-type", "value": "application/json" }, { "name": "last-modified", "value": "Wed, 15 Mar 2023 07:58:48 GMT" }, { "name": "content-encoding", "value": "gzip" }, { "name": "content-length", "value": "3785" }, { "name": "cache-control", "value": "public, max-age=81, s-maxage=180" }, { "name": "expires", "value": "Wed, 15 Mar 2023 08:01:48 GMT" }, { "name": "date", "value": "Wed, 15 Mar 2023 08:00:27 GMT" }, { "name": "server-timing", "value": "cdn-cache; desc=HIT" }, { "name": "server-timing", "value": "edge; dur=1" }, { "name": "vary", "value": "accept-language, accept-encoding" }, { "name": "access-control-allow-origin", "value": "*" }, { "name": "vary", "value": "accept-language, accept-encoding, Origin" }, { "name": "server-timing", "value": "ak_p; desc=\"466352_389422693_4148987_40_4344_12_0\";dur=1" }, { "name": "X-Firefox-Spdy", "value": "h2" } ], "cookies": [], "content": { "mimeType": "application/json", "size": 14959, "text": "{\"id\":\"091463a9-8df7-5139-a3d9-35793c131079\",\"entityType\":\"TV_SERIES\",\"localeID\":\"en\",\"title\":\"COBRA\",\"slug\":\"cobra\",\"description\":\"The UK prime minister convenes an emergency committee of Britain's leading experts, crisis contingency planners, and senior politicians to deal with an unfolding national emergency.\",\"genres\":[\"Drama\",\"Politics\"],\"availability\":{\"start\":\"2022-05-03T14:00:00Z\",\"end\":\"2024-03-03T12:59:59Z\"},\"classificationID\":\"MA15+\",\"consumerAdvices\":[\"A\",\"D\",\"L\",\"V\"],\"consumerAdviceTexts\":[\"Strong Adult Themes\",\"Strong Drug References\",\"Strong Coarse Language\",\"Strong Violence\"],\"countries\":[\"United Kingdom\"],\"languages\":[\"English\"],\"textTracks\":[{\"localeID\":\"en\",\"language\":\"English\",\"type\":\"SUBTITLE\"}],\"qualities\":[\"HD\",\"nHD\"],\"crews\":[{\"id\":\"93ff5b8d-b515-5902-8345-b600f4c44549\",\"entityType\":\"PERSON\",\"name\":\"Joe Donaldson\",\"role\":\"Producer\"},{\"id\":\"46c0a2a6-4c91-5d15-9868-966d4eef0447\",\"entityType\":\"PERSON\",\"name\":\"Ben Richards\",\"role\":\"Writer\"},{\"id\":\"3a30053d-e494-5221-99a2-ec77981a43c1\",\"entityType\":\"PERSON\",\"name\":\"Hans Herbots\",\"role\":\"Director\"}],\"casts\":[{\"id\":\"e70e7315-74ee-5e0f-8fe0-fec0e584232a\",\"entityType\":\"PERSON\",\"name\":\"Robert Carlyle\",\"role\":\"Actor\"},{\"id\":\"83b24444-c4c6-578b-9c98-f02c0f9b6727\",\"entityType\":\"PERSON\",\"name\":\"Victoria Hamilton\",\"role\":\"Actor\"},{\"id\":\"84495126-2001-5ce0-b0a6-f2861f18ef0d\",\"entityType\":\"PERSON\",\"name\":\"Richard Dormer\",\"role\":\"Actor\"},{\"id\":\"df2ab9f1-a97e-5fbd-8ef7-aedb42978257\",\"entityType\":\"PERSON\",\"name\":\"David Haig\",\"role\":\"Actor\"},{\"id\":\"07068f11-68c1-50d0-967d-aa50f79cd6c0\",\"entityType\":\"PERSON\",\"name\":\"Lucy Cohu\",\"role\":\"Actor\"},{\"id\":\"7c40c45f-3d23-58b2-a7eb-1b464f7387ad\",\"entityType\":\"PERSON\",\"name\":\"Mark Bazeley\",\"role\":\"Actor\"},{\"id\":\"df076c0c-80ec-516c-82ed-d0b857630c76\",\"entityType\":\"PERSON\",\"name\":\"Grace Hogg-Robinson\",\"role\":\"Actor\"},{\"id\":\"6da377cc-8cb0-52c6-9c7d-c8ae0b44d9e0\",\"entityType\":\"PERSON\",\"name\":\"Joshua Hogan\",\"role\":\"Actor\"}],\"images\":[{\"id\":\"d43d3c1c-0572-5ef1-b3b9-407b723dbfc5\",\"category\":\"16:9|3840|2160|BANNER\"},{\"id\":\"37b32432-2480-5aa7-b9b2-5e73953c963e\",\"category\":\"16:9|1280|720|KEY_ART\"},{\"id\":\"07951be8-9383-5312-83e7-7c470d07bc88\",\"category\":\"1:1|3000|3000|MASK\"},{\"id\":\"2314af5d-3ee0-59b2-9615-e0ebbb6ab293\",\"category\":\"2:3|1280|1920|BANNER\"},{\"id\":\"4fefbabf-2ec9-5bb5-b9be-aed468b9587c\",\"category\":\"2:3|960|1440|KEY_ART\"}],\"trailers\":[],\"extras\":[{\"id\":\"e6bd4f02-57c9-58a0-8ce8-a7bc1d84acb2\",\"entityType\":\"CLIP\",\"category\":\"EXTRAS\",\"title\":\"Cobra | Trailer\",\"description\":\"The UK prime minister (Robert Carlyle) convenes an emergency committee of Britain's leading experts, crisis contingency planners, and senior politicians to deal with an unfolding national emergency.\",\"duration\":\"PT30S\",\"availability\":{\"start\":\"2022-05-05T14:00:00Z\",\"end\":\"2023-04-29T14:00:00Z\"},\"mpxMediaID\":2031095363706,\"images\":[{\"id\":\"88210c3a-9b23-58ef-92cb-0dedb2236a91\",\"category\":\"16:9|704|396|BANNER\"},{\"id\":\"359bc2b1-f210-58ea-a99a-84236bdfb71b\",\"category\":\"16:9|1280|720|KEY_ART\"},{\"id\":\"0705655f-b2c4-5881-b9a8-71f27372e4f0\",\"category\":\"1:1|200|200|MASK\"},{\"id\":\"09543c74-f1b3-53e1-83b0-6a25e5cbc1a4\",\"category\":\"2:3|960|1440|BANNER\"},{\"id\":\"358ca5d8-b568-5223-9d08-415c2a7a0a47\",\"category\":\"2:3|960|1440|KEY_ART\"}]}],\"distributors\":[{\"id\":\"6593\",\"name\":\"Universal Studios Int. Bv\"}],\"releaseYear\":2020,\"seasons\":[{\"id\":\"6429202e-7eb6-558c-a3a1-d15a4ee92364\",\"entityType\":\"TV_SEASON\",\"title\":\"Season 1\",\"slug\":\"season-1\",\"seasonNumber\":1,\"availability\":{\"start\":\"2022-05-03T14:00:00Z\",\"end\":\"2024-03-03T12:59:59Z\"},\"episodes\":[{\"id\":\"2f0f2144-bae0-5b9b-a96c-648e058b7778\",\"entityType\":\"TV_EPISODE\",\"seriesID\":\"091463a9-8df7-5139-a3d9-35793c131079\",\"seriesTitle\":\"COBRA\",\"seriesSlug\":\"cobra\",\"seasonNumber\":1,\"episodeNumber\":1,\"title\":\"Episode 1\",\"slug\":\"cobra-s1-ep1\",\"description\":\"As the possibility of a solar storm affecting the UK mounts, Prime Minister Robert Sutherland and his chief of staff Anna Marshall assemble the emergency committee COBRA in an effort to combat the situation.\",\"duration\":\"PT43M24S\",\"mpxMediaID\":2022662723645,\"genres\":[\"Drama\",\"Politics\",\"Drama\",\"Thriller\"],\"classificationID\":\"M\",\"consumerAdvices\":[\"A\",\"D\",\"L\"],\"consumerAdviceTexts\":[\"Adult Themes\",\"Drug References\",\"Coarse Language\"],\"availability\":{\"start\":\"2022-05-03T14:00:00Z\",\"end\":\"2024-03-03T12:59:59Z\"},\"releaseYear\":2020,\"languages\":[\"English\"],\"textTracks\":[{\"localeID\":\"en\",\"language\":\"English\",\"type\":\"SUBTITLE\"}],\"images\":[{\"id\":\"ef9df890-2c95-5fec-8ae9-e2932f5e41af\",\"category\":\"16:9|3840|2160|KEY_ART\"}]},{\"id\":\"01e9a74f-9b45-5bdd-a584-6922a5b0bc3b\",\"entityType\":\"TV_EPISODE\",\"seriesID\":\"091463a9-8df7-5139-a3d9-35793c131079\",\"seriesTitle\":\"COBRA\",\"seriesSlug\":\"cobra\",\"seasonNumber\":1,\"episodeNumber\":2,\"title\":\"Episode 2\",\"slug\":\"cobra-s1-ep2\",\"description\":\"With the nation in the full grip of the crisis and experiencing the worst blackout in the history of the UK, Sutherland and his team are forced to work around the clock to restore power; Anna reconnects with Edin.\",\"duration\":\"PT43M11S\",\"mpxMediaID\":2024804931898,\"genres\":[\"Drama\",\"Politics\",\"Drama\",\"Thriller\"],\"classificationID\":\"MA15+\",\"consumerAdvices\":[\"A\"],\"consumerAdviceTexts\":[\"Strong Adult Themes\"],\"availability\":{\"start\":\"2022-05-10T14:00:00Z\",\"end\":\"2024-03-03T12:59:59Z\"},\"releaseYear\":2020,\"languages\":[\"English\"],\"textTracks\":[{\"localeID\":\"en\",\"language\":\"English\",\"type\":\"SUBTITLE\"}],\"images\":[{\"id\":\"f215013f-e13e-57d1-91ca-91e5f9f0c649\",\"category\":\"16:9|3840|2160|KEY_ART\"}]},{\"id\":\"5a230b88-18d2-5712-8020-3624af345ffd\",\"entityType\":\"TV_EPISODE\",\"seriesID\":\"091463a9-8df7-5139-a3d9-35793c131079\",\"seriesTitle\":\"COBRA\",\"seriesSlug\":\"cobra\",\"seasonNumber\":1,\"episodeNumber\":3,\"title\":\"Episode 3\",\"slug\":\"cobra-s1-ep3\",\"description\":\"Sutherland, Anna, and Fraser head to one of the worst-affected areas; while the prime minister is away, Archie causes problems.\",\"duration\":\"PT44M16S\",\"mpxMediaID\":2027571267846,\"genres\":[\"Drama\",\"Politics\",\"Drama\",\"Thriller\"],\"classificationID\":\"M\",\"consumerAdvices\":[\"A\",\"L\",\"V\"],\"consumerAdviceTexts\":[\"Adult Themes\",\"Coarse Language\",\"Violence\"],\"availability\":{\"start\":\"2022-05-17T14:00:00Z\",\"end\":\"2024-03-03T12:59:59Z\"},\"releaseYear\":2020,\"languages\":[\"English\"],\"textTracks\":[{\"localeID\":\"en\",\"language\":\"English\",\"type\":\"SUBTITLE\"}],\"images\":[{\"id\":\"e5634e25-b339-587a-a180-00f8148eabf3\",\"category\":\"16:9|3840|2160|KEY_ART\"}]},{\"id\":\"4d4f3821-d31b-5d02-8a10-bb4950dcf400\",\"entityType\":\"TV_EPISODE\",\"seriesID\":\"091463a9-8df7-5139-a3d9-35793c131079\",\"seriesTitle\":\"COBRA\",\"seriesSlug\":\"cobra\",\"seasonNumber\":1,\"episodeNumber\":4,\"title\":\"Episode 4\",\"slug\":\"cobra-s1-ep4\",\"description\":\"Sutherland's knowledge about his daughter's part in her friend's death is questioned; a new threat rears its head.\",\"duration\":\"PT44M10S\",\"mpxMediaID\":2029918275610,\"genres\":[\"Drama\",\"Politics\",\"Drama\",\"Thriller\"],\"classificationID\":\"MA15+\",\"consumerAdvices\":[\"L\"],\"consumerAdviceTexts\":[\"Strong Coarse Language\"],\"availability\":{\"start\":\"2022-05-24T14:00:00Z\",\"end\":\"2024-03-03T12:59:59Z\"},\"releaseYear\":2020,\"languages\":[\"English\"],\"textTracks\":[{\"localeID\":\"en\",\"language\":\"English\",\"type\":\"SUBTITLE\"}],\"images\":[{\"id\":\"b7f4d430-8746-57dc-9be7-8a08493edf93\",\"category\":\"16:9|3840|2160|KEY_ART\"}]},{\"id\":\"b42b9e4a-21a2-57c2-a3da-7011c3daa870\",\"entityType\":\"TV_EPISODE\",\"seriesID\":\"091463a9-8df7-5139-a3d9-35793c131079\",\"seriesTitle\":\"COBRA\",\"seriesSlug\":\"cobra\",\"seasonNumber\":1,\"episodeNumber\":5,\"title\":\"Episode 5\",\"slug\":\"cobra-s1-ep5\",\"description\":\"Fraser deals with issues in his personal life as the crisis worsens; the prime minister is forced to consider more extreme measures to retain control and maintain order over the country.\",\"duration\":\"PT43M19S\",\"mpxMediaID\":2032058435771,\"genres\":[\"Drama\",\"Politics\",\"Drama\",\"Thriller\"],\"classificationID\":\"MA15+\",\"consumerAdvices\":[\"A\",\"V\"],\"consumerAdviceTexts\":[\"Strong Adult Themes\",\"Strong Violence\"],\"availability\":{\"start\":\"2022-05-31T14:00:00Z\",\"end\":\"2024-03-03T12:59:59Z\"},\"releaseYear\":2020,\"languages\":[\"English\"],\"textTracks\":[{\"localeID\":\"en\",\"language\":\"English\",\"type\":\"SUBTITLE\"}],\"images\":[{\"id\":\"8f2d9d09-843c-54cc-ad41-a42764ea49ca\",\"category\":\"16:9|1920|1080|KEY_ART\"}]},{\"id\":\"66f6ff1a-6927-54ec-8ed7-a6095d89cf7e\",\"entityType\":\"TV_EPISODE\",\"seriesID\":\"091463a9-8df7-5139-a3d9-35793c131079\",\"seriesTitle\":\"COBRA\",\"seriesSlug\":\"cobra\",\"seasonNumber\":1,\"episodeNumber\":6,\"title\":\"Episode 6\",\"slug\":\"cobra-s1-ep6\",\"description\":\"Fraser and his team reach the endgame as the crisis reaches a boiling point; the prime minister and Anna fight for their political lives.\",\"duration\":\"PT44M4S\",\"mpxMediaID\":2034363459901,\"genres\":[\"Drama\",\"Politics\",\"Drama\",\"Thriller\"],\"classificationID\":\"MA15+\",\"consumerAdvices\":[\"A\",\"V\"],\"consumerAdviceTexts\":[\"Strong Adult Themes\",\"Strong Violence\"],\"availability\":{\"start\":\"2022-06-07T14:00:00Z\",\"end\":\"2024-03-03T12:59:59Z\"},\"releaseYear\":2020,\"languages\":[\"English\"],\"textTracks\":[{\"localeID\":\"en\",\"language\":\"English\",\"type\":\"SUBTITLE\"}],\"images\":[{\"id\":\"1ad96165-6d1d-590c-838f-f03720e3e02a\",\"category\":\"16:9|3840|2160|KEY_ART\"}]}]},{\"id\":\"840d40c3-345a-517a-a73c-b4107eb832d4\",\"entityType\":\"TV_SEASON\",\"title\":\"Season 2\",\"slug\":\"season-2\",\"seasonNumber\":2,\"availability\":{\"start\":\"2023-03-10T13:00:00Z\",\"end\":\"2024-02-28T12:59:59Z\"},\"episodes\":[{\"id\":\"bfb54ecb-593f-57fe-b15a-044f1bdf3c80\",\"entityType\":\"TV_EPISODE\",\"seriesID\":\"091463a9-8df7-5139-a3d9-35793c131079\",\"seriesTitle\":\"COBRA\",\"seriesSlug\":\"cobra\",\"seasonNumber\":2,\"episodeNumber\":1,\"title\":\"Episode 1\",\"slug\":\"cobra-s2-ep1\",\"description\":\"Sutherland and Amrshall assemble the COBRA emergency committee to respond to a potentially explosive situation in Kent. Meanwhile, former Home Secretary Archie Glover Morgan plots a return to power.\",\"duration\":\"PT41M24S\",\"mpxMediaID\":2175290435993,\"genres\":[\"Drama\",\"Politics\",\"Drama\",\"Thriller\"],\"classificationID\":\"M\",\"consumerAdvices\":[\"A\",\"L\",\"V\"],\"consumerAdviceTexts\":[\"Adult Themes\",\"Coarse Language\",\"Violence\"],\"availability\":{\"start\":\"2023-03-10T13:00:00Z\",\"end\":\"2024-02-28T12:59:59Z\"},\"releaseYear\":2021,\"languages\":[\"English\"],\"textTracks\":[],\"images\":[{\"id\":\"8a540f4c-2fb7-54e4-bcd0-8923785ceef5\",\"category\":\"16:9|3840|2160|KEY_ART\"}]},{\"id\":\"77e7b383-4c99-5268-bc9e-ae3d40337fd7\",\"entityType\":\"TV_EPISODE\",\"seriesID\":\"091463a9-8df7-5139-a3d9-35793c131079\",\"seriesTitle\":\"COBRA\",\"seriesSlug\":\"cobra\",\"seasonNumber\":2,\"episodeNumber\":2,\"title\":\"Episode 2\",\"slug\":\"cobra-s2-ep2\",\"description\":\"Following devastation in Kent and the cyber-attack which continues to jam communications, the Prime Minister convenes an emergency COBRA meeting.\",\"duration\":\"PT44M11S\",\"mpxMediaID\":2175290435994,\"genres\":[\"Thriller\",\"Drama\",\"Politics\",\"Drama\"],\"classificationID\":\"M\",\"consumerAdvices\":[\"A\",\"L\"],\"consumerAdviceTexts\":[\"Adult Themes\",\"Coarse Language\"],\"availability\":{\"start\":\"2023-03-10T13:00:00Z\",\"end\":\"2024-02-28T12:59:59Z\"},\"releaseYear\":2021,\"languages\":[\"English\"],\"textTracks\":[],\"images\":[{\"id\":\"8866c0ff-6ced-56bd-ac93-f5a554be0cb5\",\"category\":\"16:9|3840|2160|KEY_ART\"}]},{\"id\":\"a3de5782-09ef-537e-8612-9654cda16777\",\"entityType\":\"TV_EPISODE\",\"seriesID\":\"091463a9-8df7-5139-a3d9-35793c131079\",\"seriesTitle\":\"COBRA\",\"seriesSlug\":\"cobra\",\"seasonNumber\":2,\"episodeNumber\":3,\"title\":\"Episode 3\",\"slug\":\"cobra-s2-ep3\",\"description\":\"COBRA is assembled when fresh disaster strikes, as a breach at Dover port suggests an insidious threat; the PM's strategy is tested by an online activist.\",\"duration\":\"PT42M37S\",\"mpxMediaID\":2175290435995,\"genres\":[\"Drama\",\"Politics\",\"Drama\",\"Thriller\"],\"classificationID\":\"M\",\"consumerAdvices\":[\"A\",\"L\"],\"consumerAdviceTexts\":[\"Adult Themes\",\"Coarse Language\"],\"availability\":{\"start\":\"2023-03-10T13:00:00Z\",\"end\":\"2024-02-28T12:59:59Z\"},\"releaseYear\":2021,\"languages\":[\"English\"],\"textTracks\":[],\"images\":[{\"id\":\"55de9a21-1519-5a1f-8b30-34a4c546b878\",\"category\":\"16:9|1920|1080|KEY_ART\"}]},{\"id\":\"d7b9eedb-9a9b-539e-8ce9-0aafb1db26e7\",\"entityType\":\"TV_EPISODE\",\"seriesID\":\"091463a9-8df7-5139-a3d9-35793c131079\",\"seriesTitle\":\"COBRA\",\"seriesSlug\":\"cobra\",\"seasonNumber\":2,\"episodeNumber\":4,\"title\":\"Episode 4\",\"slug\":\"cobra-s2-ep4\",\"description\":\"The team try to understand the latest discovery, while Francine's attack on Lord Singer is met with delight.\",\"duration\":\"PT43M33S\",\"mpxMediaID\":2175290435996,\"genres\":[\"Drama\",\"Thriller\",\"Drama\",\"Politics\"],\"classificationID\":\"MA15+\",\"consumerAdvices\":[\"V\"],\"consumerAdviceTexts\":[\"Strong Violence\"],\"availability\":{\"start\":\"2023-03-10T13:00:00Z\",\"end\":\"2024-02-28T12:59:59Z\"},\"releaseYear\":2021,\"languages\":[\"English\"],\"textTracks\":[],\"images\":[{\"id\":\"d932fc95-a414-56ee-a3c9-0628130da90c\",\"category\":\"16:9|3840|2160|KEY_ART\"}]},{\"id\":\"230a6720-368d-52c3-93a4-82e5cb47ed36\",\"entityType\":\"TV_EPISODE\",\"seriesID\":\"091463a9-8df7-5139-a3d9-35793c131079\",\"seriesTitle\":\"COBRA\",\"seriesSlug\":\"cobra\",\"seasonNumber\":2,\"episodeNumber\":5,\"title\":\"Episode 5\",\"slug\":\"cobra-s2-ep5\",\"description\":\"Rachel is dismayed by the fresh assault on her reputation, but Robert is distracted following Firestorm's return. Reports of a new cyber attack arrive.\",\"duration\":\"PT43M37S\",\"mpxMediaID\":2175290435997,\"genres\":[\"Drama\",\"Politics\",\"Drama\",\"Thriller\"],\"classificationID\":\"MA15+\",\"consumerAdvices\":[\"L\"],\"consumerAdviceTexts\":[\"Strong Coarse Language\"],\"availability\":{\"start\":\"2023-03-10T13:00:00Z\",\"end\":\"2024-02-28T12:59:59Z\"},\"releaseYear\":2021,\"languages\":[\"English\"],\"textTracks\":[],\"images\":[{\"id\":\"65d3e3d3-25cf-5723-8812-e74d1fd45d66\",\"category\":\"16:9|1920|1080|KEY_ART\"}]},{\"id\":\"c04bf9c1-847c-5dae-b85d-eb2a92daf542\",\"entityType\":\"TV_EPISODE\",\"seriesID\":\"091463a9-8df7-5139-a3d9-35793c131079\",\"seriesTitle\":\"COBRA\",\"seriesSlug\":\"cobra\",\"seasonNumber\":2,\"episodeNumber\":6,\"title\":\"Episode 6\",\"slug\":\"cobra-s2-ep6\",\"description\":\"Reeling from the events in Kent, the COBRA team are briefed on the nature of a sophisticated malware which has infected the UK's critical infrastructure.\",\"duration\":\"PT44M13S\",\"mpxMediaID\":2175290435999,\"genres\":[\"Politics\",\"Drama\",\"Thriller\",\"Drama\"],\"classificationID\":\"M\",\"consumerAdvices\":[\"A\",\"L\",\"V\"],\"consumerAdviceTexts\":[\"Adult Themes\",\"Coarse Language\",\"Violence\"],\"availability\":{\"start\":\"2023-03-10T13:00:00Z\",\"end\":\"2024-02-28T12:59:59Z\"},\"releaseYear\":2021,\"languages\":[\"English\"],\"textTracks\":[],\"images\":[{\"id\":\"7fa62077-fa16-59e8-8e42-a9cd048e2c6e\",\"category\":\"16:9|1920|1080|KEY_ART\"}]}]}],\"redbackSeriesID\":7892,\"featured\":{\"id\":\"2f0f2144-bae0-5b9b-a96c-648e058b7778\",\"entityType\":\"TV_EPISODE\",\"tagLine\":\"Start Here\",\"title\":\"Episode 1\",\"description\":\"As the possibility of a solar storm affecting the UK mounts, Prime Minister Robert Sutherland and his chief of staff Anna Marshall assemble the emergency committee COBRA in an effort to combat the situation.\",\"duration\":\"PT43M24S\",\"availability\":{\"start\":\"2022-05-03T14:00:00Z\",\"end\":\"2024-03-03T12:59:59Z\"},\"mpxMediaID\":2022662723645,\"images\":[{\"id\":\"ef9df890-2c95-5fec-8ae9-e2932f5e41af\",\"category\":\"16:9|3840|2160|KEY_ART\"}]}}" }, "redirectURL": "", "headersSize": 0, "bodySize": 3785 }, "cache": {}, "timings": { "blocked": 0, "dns": 0, "ssl": 0, "connect": 0, "send": 0, "wait": 0, "receive": 0 }, "time": 0, "_securityState": "secure" }, { "pageref": "page_4", "startedDateTime": "2023-03-15T19:00:35.447+11:00", "request": { "bodySize": 0, "method": "GET", "url": "https://pubads.g.doubleclick.net/ondemand/hls/content/2488267/vid/2175290435999B/SIN/streams/5472a13e-a19a-4a35-8225-80bf74da1915/time-events.json", "httpVersion": "HTTP/2", "headers": [ { "name": "Host", "value": "pubads.g.doubleclick.net" }, { "name": "User-Agent", "value": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/110.0" }, { "name": "Accept", "value": "*/*" }, { "name": "Accept-Language", "value": "en-US,en;q=0.5" }, { "name": "Accept-Encoding", "value": "gzip, deflate, br" }, { "name": "Origin", "value": "https://www.sbs.com.au" }, { "name": "Connection", "value": "keep-alive" }, { "name": "Referer", "value": "https://www.sbs.com.au/" }, { "name": "Sec-Fetch-Dest", "value": "empty" }, { "name": "Sec-Fetch-Mode", "value": "cors" }, { "name": "Sec-Fetch-Site", "value": "cross-site" }, { "name": "TE", "value": "trailers" } ], "cookies": [], "queryString": [], "headersSize": 502 }, "response": { "status": 200, "statusText": "OK", "httpVersion": "HTTP/2", "headers": [ { "name": "access-control-allow-credentials", "value": "true" }, { "name": "access-control-allow-headers", "value": "Authorization" }, { "name": "access-control-allow-origin", "value": "https://www.sbs.com.au" }, { "name": "cache-control", "value": "no-cache, no-store, max-age=0, must-revalidate" }, { "name": "content-disposition", "value": "attachment; filename=\"time_events.json\"" }, { "name": "content-encoding", "value": "gzip" }, { "name": "content-type", "value": "application/json" }, { "name": "date", "value": "Wed, 15 Mar 2023 08:00:35 GMT" }, { "name": "expires", "value": "Mon, 01 Jan 1990 00:00:00 GMT" }, { "name": "pragma", "value": "no-cache" }, { "name": "x-content-type-options", "value": "nosniff" }, { "name": "x-frame-options", "value": "SAMEORIGIN" }, { "name": "x-xss-protection", "value": "0" }, { "name": "alt-svc", "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" }, { "name": "X-Firefox-Spdy", "value": "h2" } ], "cookies": [], "content": { "mimeType": "application/json", "size": 1053460, "text": "{\"cuepoints\":[{\"start\":0,\"end\":15,\"start_float\":0, [truncated] ", }, "redirectURL": "", "headersSize": 591, "bodySize": 187003 }, "cache": {}, "timings": { "blocked": 1, "dns": 0, "connect": 0, "ssl": 0, "send": 0, "wait": 153, "receive": 308 }, "time": 462, "_securityState": "secure", "serverIPAddress": "142.250.204.2", "connection": "443" }, { "pageref": "page_4", "startedDateTime": "2023-03-15T19:00:35.923+11:00", "request": { "bodySize": 0, "method": "OPTIONS", "url": "https://deliver.oztam.com.au/api/meter", "httpVersion": "HTTP/1.1", "headers": [ { "name": "Host", "value": "deliver.oztam.com.au" }, { "name": "User-Agent", "value": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/110.0" }, { "name": "Accept", "value": "*/*" }, { "name": "Accept-Language", "value": "en-US,en;q=0.5" }, { "name": "Accept-Encoding", "value": "gzip, deflate, br" }, { "name": "Access-Control-Request-Method", "value": "POST" }, { "name": "Access-Control-Request-Headers", "value": "content-type" }, { "name": "Referer", "value": "https://www.sbs.com.au/" }, { "name": "Origin", "value": "https://www.sbs.com.au" }, { "name": "Connection", "value": "keep-alive" }, { "name": "Sec-Fetch-Dest", "value": "empty" }, { "name": "Sec-Fetch-Mode", "value": "cors" }, { "name": "Sec-Fetch-Site", "value": "cross-site" } ], "cookies": [], "queryString": [], "headersSize": 481 }, "response": { "status": 200, "statusText": "OK", "httpVersion": "HTTP/1.1", "headers": [ { "name": "Date", "value": "Wed, 15 Mar 2023 08:00:36 GMT" }, { "name": "Content-Type", "value": "text/plain; charset=utf-8" }, { "name": "Content-Length", "value": "2" }, { "name": "Connection", "value": "keep-alive" }, { "name": "X-Powered-By", "value": "Express" }, { "name": "Access-Control-Allow-Origin", "value": "*" }, { "name": "Access-Control-Allow-Methods", "value": "*" }, { "name": "Access-Control-Allow-Headers", "value": "Content-Type" }, { "name": "Access-Control-Expose-Headers", "value": "Accept-Ranges, Content-Encoding, Content-Length, Content-Range" }, { "name": "ETag", "value": "W/\"2-nOO9QiTIwXgNtWtBJezz8kv3SLc\"" } ], "cookies": [], "content": { "mimeType": "text/plain; charset=utf-8", "size": 2, "text": "OK" }, "redirectURL": "", "headersSize": 408, "bodySize": 410 }, "cache": {}, "timings": { "blocked": 0, "dns": 51, "connect": 7, "ssl": 33, "send": 0, "wait": 15, "receive": 0 }, "time": 106, "_securityState": "secure", "serverIPAddress": "54.66.50.233", "connection": "443" }, { "pageref": "page_4", "startedDateTime": "2023-03-15T19:00:35.927+11:00", "request": { "bodySize": 0, "method": "GET", "url": "https://www.gstatic.com/cv/js/sender/v1/cast_sender.js?loadCastFramework=1", "httpVersion": "", "headers": [ { "name": "Host", "value": "www.gstatic.com" }, { "name": "User-Agent", "value": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/110.0" }, { "name": "Accept", "value": "*/*" }, { "name": "Accept-Language", "value": "en-US,en;q=0.5" }, { "name": "Accept-Encoding", "value": "gzip, deflate, br" }, { "name": "Connection", "value": "keep-alive" }, { "name": "Referer", "value": "https://www.sbs.com.au/" }, { "name": "Sec-Fetch-Dest", "value": "script" }, { "name": "Sec-Fetch-Mode", "value": "no-cors" }, { "name": "Sec-Fetch-Site", "value": "cross-site" } ], "cookies": [], "queryString": [ { "name": "loadCastFramework", "value": "1" } ], "headersSize": 402 }, "response": { "status": 0, "statusText": "", "httpVersion": "", "headers": [], "cookies": [], "content": { "mimeType": "text/javascript", "size": 4272, "text": "(function(){/*\n\n Copyright The Closure Library Authors.\n SPDX-License-Identifier: Apache-2.0\n*/\n'use strict';var l=function(){var a=h,b=0;return function(){return b\"}else d=void 0===c?\"undefined\":null===c?\"null\":typeof c;w(\"Argument is not a %s (or a non-Element, non-Location mock); got: %s\",\"HTMLScriptElement\",d)}a instanceof A&&a.constructor===A?d=a.g:(d=typeof a,w(\"expected object of type TrustedResourceUrl, got '\"+a+\"' of type \"+(\"object\"!=\nd?d:a?Array.isArray(a)?\"array\":d:\"null\")),d=\"type_error:TrustedResourceUrl\");c.src=d;(d=c.ownerDocument&&c.ownerDocument.defaultView)&&d!=m?d=q(d.document):(null===p&&(p=q(m.document)),d=p);d&&c.setAttribute(\"nonce\",d);(document.head||document.documentElement).appendChild(c)},I=function(){var a=B(),b=[];if(1Aired on Dec-11<\\/span>\",\"director\":[],\"displayTitles\":{\"double\":{\"title\":\"Departure\",\"subtitle\":\"Season 1 Episode 1 - Vanished\"},\"appleumc\":{\"descriptive\":\"Vanished\",\"formatted\":\"Vanished, Season 1 Episode 1\"},\"programpage\":{\"playButton\":\"Play Season 1 Episode 1\"},\"seasonListTitle\":\"1. Vanished\",\"seasonlist\":{\"title\":\"1. Vanished\"},\"videoPlayer\":{\"title\":\"Vanished\",\"subtitle\":\"Departure, Season 1 Episode 1\"},\"episodePromotion\":{\"title\":\"Vanished\",\"subtitle\":\"Season 1 Episode 1\"},\"title\":\"Departure\",\"subtitle\":\"Season 1 Episode 1 - Vanished\",\"components\":{\"seasonEpisodeFull\":\"Season 1 Episode 1\",\"seasonEpisodeAbbreviated\":\"S1 E1\"},\"pageTitle\":\"Vanished - Departure, Season 1 Episode 1\"},\"duration\":2431,\"episodeNumber\":1,\"externalRelations\":{\"mpx\":{\"guid\":695157},\"pilat\":{\"deal\":{\"id\":\"http:\\/\\/www.sbs.com.au\\/pilatDealcode\\/183950\"}},\"tvAnytime\":{\"series\":{\"crid\":\"crid:\\/\\/sbs.com.au\\/233216\"}},\"sbsOnDemandUrl\":\"https:\\/\\/www.sbs.com.au\\/ondemand\\/video\\/1825343043777\\/departure\",\"roku\":{\"mediatype\":\"episode\",\"contentid\":695157},\"appleUniversalSearch\":{\"mediaIdentifier\":\"EPISODE_1825343043777\"},\"sbsondemand\":{\"entity_type\":\"TV_EPISODE\",\"id\":\"d5621666-2f06-5442-9f8c-ba8251e0ccb0\"}},\"id\":\"http:\\/\\/www.sbs.com.au\\/ondemand\\/video\\/1825343043777\",\"inLanguage\":[{\"type\":\"Language\",\"name\":\"English\"}],\"inStreamEvents\":{\"chapters\":[0,857.28,1232.84,1763.24],\"creditsBegin\":2388},\"keywords\":[\"Repackaged\"],\"name\":\"Departure\",\"offer\":{\"availabilityStarts\":\"2020-12-10T13:00:00Z\",\"availabilityEnds\":\"2024-11-30T12:59:59Z\"},\"partOfSeason\":{\"seasonNumber\":\"1\"},\"partOfSeries\":{\"name\":\"Departure\",\"id\":\"http:\\/\\/www.sbs.com.au\\/program\\/7116\",\"slug\":\"departure\",\"uuid\":\"19405dca-a15b-543d-9fdc-5b07d2594583\",\"type\":\"tv\"},\"pilat\":{\"id\":\"http:\\/\\/www.sbs.com.au\\/pilatId\\/695157\"},\"publication\":{\"type\":\"BroadcastEvent\",\"startDate\":\"2020-12-10T13:00:00Z\"},\"regionsAllowed\":\"AU\",\"requiresSubscription\":true,\"revision\":{\"date\":\"20230228040439\",\"id\":80},\"sbsSubCertification\":{\"codes\":[\"a1\"],\"consumerAdvice\":[\"Adult Themes\"]},\"shortDescription\":\"Kendra Malley investigates the circumstances of catastrophic transport accidents involving numerous victims, and fights against the dark forces that hinder her investigations in order to find the truth.\",\"shortDescriptionHtml\":\"Kendra Malley investigates the circumstances of catastrophic transport accidents involving numerous victims, and fights against the dark forces that hinder her investigations in order to find the truth. [English, On Demand] Aired on Dec-11<\\/span>\",\"taxonomy\":{\"useType\":\"Full Episode\",\"genre\":[{\"type\":\"Term\",\"name\":\"Drama\"}],\"subGenre\":[{\"type\":\"Term\",\"name\":\"Drama\\/Thriller\"}],\"era\":[{\"type\":\"Term\",\"name\":\"2010s\"}],\"location\":[{\"type\":\"Term\",\"name\":\"North America\"},{\"type\":\"Term\",\"name\":\"Canada\"}],\"theme\":[{\"type\":\"Term\",\"name\":\"Drama\"},{\"type\":\"Term\",\"name\":\"Thriller\"},{\"type\":\"Term\",\"name\":\"Mystery\"},{\"type\":\"Term\",\"name\":\"Conspiracy\"},{\"type\":\"Term\",\"name\":\"Quest\"},{\"type\":\"Term\",\"name\":\"Missing Person\"}],\"tone\":[{\"type\":\"Term\",\"name\":\"Gripping\"},{\"type\":\"Term\",\"name\":\"Suspenseful\"}],\"section\":[{\"type\":\"Term\",\"name\":\"Programs\"}],\"channel\":[{\"type\":\"Term\",\"name\":\"On Demand\"}],\"grouping\":[{\"type\":\"Term\",\"name\":\"AVOD Drama\"}]},\"thumbnailUrl\":\"https:\\/\\/media.sbs.com.au\\/video\\/fda-series\\/19405dca-a15b-543d-9fdc-5b07d2594583\\/e7d7ba44743bb3fa40e0def325d20fe1.jpg\",\"thumbnails\":[{\"name\":\"Thumbnail Large\",\"encodingFormat\":\"jpeg\",\"contentUrl\":\"https:\\/\\/media.sbs.com.au\\/video\\/fda-series\\/19405dca-a15b-543d-9fdc-5b07d2594583\\/e7d7ba44743bb3fa40e0def325d20fe1.jpg\",\"width\":640,\"height\":360}],\"type\":\"Episode\",\"videoFormat\":\"HD\",\"visualAids\":{\"subtitles\":[\"English\"],\"closedCaptions\":[]}}],\"numberOfItems\":1,\"totalNumberOfItems\":10}" }, "redirectURL": "", "headersSize": 0, "bodySize": 5566 }, "cache": {}, "timings": { "blocked": 0, "dns": 0, "ssl": 0, "connect": 0, "send": 0, "wait": 0, "receive": 0 }, "time": 0, "_securityState": "secure" }, ```
gamer191 commented 1 year ago

So, it's a new set of APIs.

That's interesting, because my amateur reverse engineering last night lead me to a completely different API, although I haven't tested it yet. I'll post details later, because they're on my computer and I'm not home right now

gswan commented 1 year ago

This set of data was captured on 2023-03-15T19:00:36.675+11:00. The day before this they appeared to move the changes into production. I first noticed sporadic oddness on the 13th.

Vangelis66 commented 1 year ago

... I can fake my location to Down Under 😜 , but someone must be willing to share a (temp) SBS account, because:

GET HXR https://www.sbs.com.au/api/v3/video_stream?context=odwebsite&id=2175290435999 =>


{
  "error": "You must be signed in"
}
gswan commented 1 year ago

The URL wouldn't work anyway.

$ youtube-dl -v https://www.sbs.com.au/api/v3/video_stream?context=odwebsite&id=2175290435999
[1] 25257
[gswan@svr7002 sbs]$ [debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: [u'-v', u'https://www.sbs.com.au/api/v3/video_stream?context=odwebsite']
WARNING: Assuming --restrict-filenames since file system encoding cannot encode all characters. Set the LC_ALL environment variable to fix this.
[debug] Encodings: locale ANSI_X3.4-1968, fs ANSI_X3.4-1968, out ANSI_X3.4-1968, pref ANSI_X3.4-1968
[debug] youtube-dl version 2021.12.17
[debug] Python version 2.7.17 (CPython) - Linux-5.4.2-x86_64-with-glibc2.2.5
[debug] exe versions: ffmpeg 4.4, ffprobe 4.4
[debug] Proxy map: {}
[generic] video_stream?context=odwebsite: Requesting header
WARNING: Could not send HEAD request to https://www.sbs.com.au/api/v3/video_stream?context=odwebsite: HTTP Error 404: Not Found
Vangelis66 commented 1 year ago

... That URI isn't supposed to be fed directly to youtube-dl; I got it from my browser via URL sniffing; possibly (when being logged-in) it could yield the needed media stream info (aka being the "playlist API") ... BTW, any URI fed to youtube-dl should be properly quoted 😜 ...

gswan commented 1 year ago

I suspect you need to hijack the session ID as well. Even though I am signed in at the IP address here on this client in another tab, using this URL with a REST API testing system (using GET verb) results in the error you see: "You must be signed in".

gamer191 commented 1 year ago

https://www.sbs.com.au/api/v3/video_stream?context=odwebsite&id=2175290435999

yeah, that's the same url I got last night, but I also got stuck on the authorisation bit. I have an account, but I don't know much about session ids and headers. I was planning on worling on that tonight, but I'm happy to send you my login details instead and you can work on it

PS: the old api didn't require authentication, so it sucks if this one does. This workaround (shameless self-promotion) doesn't require one, so it should probably be added as a permanent fallback

gamer191 commented 1 year ago

By the way, it took me ages to figure out, but odwebsite means on demand website (the website is called sbs on demand)

gamer191 commented 1 year ago

For future reference, context=android and context=ios also told me to sign in (everything else I tried told me “context not supported”)

gamer191 commented 1 year ago

Haha, context=tv lets me completely bypass the login screen :trollface:

EDIT: I'll verify later if it gives me the same result as logging in

dirkf commented 1 year ago
  1. ... (somehow get the media link, not yet shown) ...

Now we know (how easy is this?):

https://www.sbs.com.au/api/v3/video_smil?id={video_id}

gamer191 commented 1 year ago

I just noticed that at the exact same time 🤣 I'll just quickly check to see if that is the same url that the authenticated context=odwebsite api provides, since I found it on the unauthenticated context=tv api, and I'm guessing you did too (correct me if I'm wrong)

dirkf commented 1 year ago

I just omitted all the not obviously required query parameters and found that I got a bigger SMIL manifest than when a context was provided. Let's see if it's a good link...

The data from the /v3/video_stream endpoint looks like well-formed ld+json.

gamer191 commented 1 year ago

I'll just quickly check to see if that is the same url that the authenticated context=odwebsite api provides

Never mind, I can't figure out how to authenticate. Do you want me to share my account details?

EDIT: I figured it out

dirkf commented 1 year ago

I tried this stub _real_extract():

    def _call_api(self, video_id, path, query=None, data=None, headers=None):
        return self._download_json(update_url_query(
            'https://catalogue.pr.sbsod.com/' + path, query), headers=headers)

    def _real_extract(self, url):
        video_id = self._match_id(url)
        smil_url = update_url_query(
            'https://www.sbs.com.au/api/v3/video_smil', {'id': video_id})
        formats = self._extract_smil_formats(smil_url, video_id)
        self._sort_formats(formats)

        media = self._call_api(video_id, 'mpx-media/' + video_id)
        series_slug = media.get('seriesSlug') or ''

        series = self._call_api(video_id, 'tv-series/' + series_slug)
        # ...
        return {
            'id': video_id,
            'title': media['title'], # correct key ???
            'formats': formats,
        }

From the UK, it pulls the SMIL manifest, but even with a further hack to set the Referer used for subsidiary M3U8 manifests to the original .../ondemand/watch/... URL I get 403 for those, and so crash or no formats, depending on fatal=False in the _extract_smil_formats() call. Unsurprisingly, the response headers include x-error-reason: geo-blocked.

gamer191 commented 1 year ago

here's context=android. You'll notice the url is suspiciously similar, if not identical, to the url that yt-dlp (and probably also youtube-dl) currently extract from sbs

context=android ```py { '@context': [ 'http://www.sbs.com.au/schemas/' ], 'type': 'VideoObject', 'name': 'Cobra S2 Ep6', 'bitrate': 'auto', 'encodingFormat': 'hls', 'contentUrl': 'http://link.theplatform.com/s/Bgtm9B/jsbYedBLnm9S?feed=Video%20-%20Single&manifest=m3u&mbr=true&format=redirect', 'closedCaptions': '', 'oztamAnalyticsData': { 'publisherId': '6e10adc9-a9d3-4c23-b50b-b2e29aa29013', 'videoId': '760260', 'videoUrl': 'http://www.sbs.com.au/ondemand/video/2175290435999/cobra-s2-ep6', 'mimetype': 'video/vnd.apple.mpegurl', 'duration': 2653, 'channel': 'Web Exclusive', 'mediaProperties': { 'isLive': 0, 'seriesId': '7892', 'episodeId': '6', 'seriesName': 'Cobra', 'episodeName': '', 'classification': 'M' } }, 'chromecast': { 'receiver': { 'metadata': { 'title': 'Cobra', 'subtitle': 'Season 2 Episode 6', 'image': 'https://videocdn-sbs.akamaized.net/u/video/SBS/managed/images/2023/03/10/2175290435999_03101003_image105845_hd720.jpg', 'image_width': 1280, 'image_height': 720 } }, 'controller': { 'background': 'https://www.sbs.com.au/api/v3/video_image/getimage?type=chromecast_background&url=https%3A%2F%2Fvideocdn-sbs.akamaized.net%2Fu%2Fvideo%2FSBS%2Fmanaged%2Fimages%2F2023%2F03%2F10%2F2175290435999_03101003_image105845_hd720.jpg', 'background_width': 450, 'background_height': 800, 'background_portrait': 'https://www.sbs.com.au/api/v3/video_image/getimage?type=chromecast_expandedcontroller_portrait&url=https%3A%2F%2Fvideocdn-sbs.akamaized.net%2Fu%2Fvideo%2FSBS%2Fmanaged%2Fimages%2F2023%2F03%2F10%2F2175290435999_03101003_image105845_single.jpg', 'background_portrait_width': 450, 'background_portrait_height': 800, 'background_landscape': 'https://videocdn-sbs.akamaized.net/u/video/SBS/managed/images/2023/03/10/2175290435999_03101003_image105845_hd720.jpg', 'background_landscape_width': 1280, 'background_landscape_height': 720 }, 'minicontroller': { 'thumbnail': 'https://videocdn-sbs.akamaized.net/u/video/SBS/managed/images/2023/03/10/2175290435999_03101003_image105845_hd720.jpg', 'thumbnail_width': 1280, 'thumbnail_height': 720 }, 'mediarouter': { 'thumbnail': 'https://videocdn-sbs.akamaized.net/u/video/SBS/managed/images/2023/03/10/2175290435999_03101003_image105845_hd720.jpg', 'thumbnail_width': 1280, 'thumbnail_height': 720 } }, 'event_tracking': [ { 'event_type': 'credits_begin', 'event_seconds': 2621 } ], 'recommended_content': 'https://www.sbs.com.au/api/v3/video_recommendations/relatedvideos?id=2175290435999&context=android', 'adTagCustomParameters': { 'cxsegments': [ ], 'cxprnd': 79833536, 'cxid': '', 'cxsiteid': '1133921284657819058', 'cxurl': 'http://www.sbs.com.au/ondemand/video/single/2175290435999', 'device': 'android', 'ipaddress': 'REDACTED', 'partner': 'none', 'programname': 'cobra', 'genre': [ 'Drama' ], 'season': '2', 'ratings': 'm', 'ppid': '', 'vid': '2175290435999', 'scor': '2175290435999', 'uid': '', 'ifa': '', 'ifaoptout': '1' }, 'video_object': { 'actor': [ { 'type': 'Person', 'name': 'Robert Carlyle' }, { 'type': 'Person', 'name': 'Victoria Hamilton' }, { 'type': 'Person', 'name': 'Richard Dormer' } ], 'consumerAdvice': [ 'v', 'l', 'a' ], 'contentRating': 'm', 'country': { 'name': 'United Kingdom' }, 'datePublished': '2021-01-01T01:01:01', 'descriptionHtml': '[English, On Demand] Aired on Mar-16', 'director': [ ], 'displayTitles': { 'double': { 'title': 'COBRA', 'subtitle': 'Season 2 Episode 6' }, 'appleumc': { 'descriptive': 'Episode 6', 'formatted': 'Season 2 Episode 6' }, 'programpage': { 'playButton': 'Play Season 2 Episode 6' }, 'seasonListTitle': 'Episode 6', 'seasonlist': { 'title': 'Episode 6' }, 'videoPlayer': { 'title': 'Episode 6', 'subtitle': 'COBRA, Season 2' }, 'episodePromotion': { 'title': 'Episode 6', 'subtitle': 'Season 2' }, 'title': 'COBRA', 'subtitle': 'Season 2 Episode 6', 'components': { 'seasonEpisodeFull': 'Season 2 Episode 6', 'seasonEpisodeAbbreviated': 'S2 E6' }, 'pageTitle': 'COBRA, Season 2 Episode 6' }, 'duration': 2653, 'episodeNumber': 6, 'externalRelations': { 'mpx': { 'guid': 760260 }, 'pilat': { 'deal': { 'id': 'http://www.sbs.com.au/pilatDealcode/191308' } }, 'tvAnytime': { 'series': { 'crid': 'crid://sbs.com.au/237723' } }, 'sbsOnDemandUrl': 'https://www.sbs.com.au/ondemand/video/2175290435999/cobra-s2-ep6', 'roku': { 'mediatype': 'episode', 'contentid': 760260 }, 'appleUniversalSearch': { 'mediaIdentifier': 'EPISODE_2175290435999' }, 'sbsondemand': { 'entity_type': 'TV_EPISODE', 'id': 'c04bf9c1-847c-5dae-b85d-eb2a92daf542' } }, 'id': 'http://www.sbs.com.au/ondemand/video/2175290435999', 'inLanguage': [ { 'type': 'Language', 'name': 'English' } ], 'inStreamEvents': { 'chapters': [ 0, 630.76, 1252.12, 2269.52 ], 'creditsBegin': 2621 }, 'keywords': [ 'Preconditioned' ], 'name': 'Cobra S2 Ep6', 'offer': { 'availabilityStarts': '2023-03-10T13:00:00Z', 'availabilityEnds': '2024-02-28T12:59:59Z' }, 'partOfSeason': { 'seasonNumber': '2' }, 'partOfSeries': { 'name': 'COBRA', 'id': 'http://www.sbs.com.au/program/7892', 'slug': 'cobra', 'uuid': '091463a9-8df7-5139-a3d9-35793c131079', 'type': 'tv' }, 'pilat': { 'id': 'http://www.sbs.com.au/pilatId/760260' }, 'publication': { 'type': 'BroadcastEvent', 'startDate': '2023-03-15T13:00:00Z' }, 'regionsAllowed': 'AU', 'requiresSubscription': true, 'revision': { 'date': '20230317234556', 'id': 17 }, 'sbsSubCertification': { 'codes': [ 'a1', 'l2', 'v2' ], 'consumerAdvice': [ 'Adult Themes', 'Coarse Language', 'Violence' ] }, 'shortDescriptionHtml': '[English, On Demand] Aired on Mar-16', 'taxonomy': { 'useType': 'Full Episode', 'genre': [ { 'type': 'Term', 'name': 'Drama' } ], 'subGenre': [ { 'type': 'Term', 'name': 'Drama/Thriller' } ], 'section': [ { 'type': 'Term', 'name': 'Programs' } ], 'channel': [ { 'type': 'Term', 'name': 'On Demand' } ], 'grouping': [ { 'type': 'Term', 'name': 'AVOD Drama' } ] }, 'thumbnailUrl': 'https://videocdn-sbs.akamaized.net/u/video/SBS/managed/images/2023/03/10/2175290435999_03101003_image105845_large.jpg', 'thumbnails': [ { 'name': '4x3', 'encodingFormat': 'jpeg', 'contentUrl': 'https://videocdn-sbs.akamaized.net/u/video/SBS/managed/images/2023/03/10/2175290435999_03101003_image105845_4:3.jpg', 'width': 640, 'height': 480 }, { 'name': 'Double', 'encodingFormat': 'jpeg', 'contentUrl': 'https://videocdn-sbs.akamaized.net/u/video/SBS/managed/images/2023/03/10/2175290435999_03101003_image105845_double.jpg', 'width': 460, 'height': 290 }, { 'name': 'Facebook', 'encodingFormat': 'jpeg', 'contentUrl': 'https://videocdn-sbs.akamaized.net/u/video/SBS/managed/images/2023/03/10/2175290435999_03101003_image105845_facebook.jpg', 'width': 200, 'height': 200 }, { 'name': 'Full', 'encodingFormat': 'jpeg', 'contentUrl': 'https://videocdn-sbs.akamaized.net/u/video/SBS/managed/images/2023/03/10/2175290435999_03101003_image105845_full.jpg', 'width': 704, 'height': 396 }, { 'name': 'Full Mobile', 'encodingFormat': 'jpeg', 'contentUrl': 'https://videocdn-sbs.akamaized.net/u/video/SBS/managed/images/2023/03/10/2175290435999_03101003_image105845_fullmobile.jpg', 'width': 320, 'height': 180 }, { 'name': 'Hd720', 'encodingFormat': 'jpeg', 'contentUrl': 'https://videocdn-sbs.akamaized.net/u/video/SBS/managed/images/2023/03/10/2175290435999_03101003_image105845_hd720.jpg', 'width': 1280, 'height': 720 }, { 'name': 'Network Tile', 'encodingFormat': 'jpeg', 'contentUrl': 'https://videocdn-sbs.akamaized.net/u/video/SBS/managed/images/2023/03/10/2175290435999_03101003_image105845_networktile.jpg', 'width': 300, 'height': 250 }, { 'name': 'Programs Large', 'encodingFormat': 'jpeg', 'contentUrl': 'https://videocdn-sbs.akamaized.net/u/video/SBS/managed/images/2023/03/10/2175290435999_03101003_image105845_programslarge.jpg', 'width': 460, 'height': 258 }, { 'name': 'Programs Small', 'encodingFormat': 'jpeg', 'contentUrl': 'https://videocdn-sbs.akamaized.net/u/video/SBS/managed/images/2023/03/10/2175290435999_03101003_image105845_programssmall.jpg', 'width': 220, 'height': 122 }, { 'name': 'Single', 'encodingFormat': 'jpeg', 'contentUrl': 'https://videocdn-sbs.akamaized.net/u/video/SBS/managed/images/2023/03/10/2175290435999_03101003_image105845_single.jpg', 'width': 220, 'height': 290 }, { 'name': 'Sony', 'encodingFormat': 'jpeg', 'contentUrl': 'https://videocdn-sbs.akamaized.net/u/video/SBS/managed/images/2023/03/10/2175290435999_03101003_image105845_sony.jpg', 'width': 128, 'height': 96 }, { 'name': 'Thumb Carousel Large', 'encodingFormat': 'jpeg', 'contentUrl': 'https://videocdn-sbs.akamaized.net/u/video/SBS/managed/images/2023/03/10/2175290435999_03101003_image105845_carousellarge.jpg', 'width': 396, 'height': 260 }, { 'name': 'Thumb Carousel Small', 'encodingFormat': 'jpeg', 'contentUrl': 'https://videocdn-sbs.akamaized.net/u/video/SBS/managed/images/2023/03/10/2175290435999_03101003_image105845_carouselsmall.jpg', 'width': 220, 'height': 124 }, { 'name': 'Thumb Small', 'encodingFormat': 'jpeg', 'contentUrl': 'https://videocdn-sbs.akamaized.net/u/video/SBS/managed/images/2023/03/10/2175290435999_03101003_image105845_thumbsmall.jpg', 'width': 100, 'height': 100 }, { 'name': 'Thumbnail', 'encodingFormat': 'jpeg', 'contentUrl': 'https://videocdn-sbs.akamaized.net/u/video/SBS/managed/images/2023/03/10/2175290435999_03101003_image105845_small.jpg', 'width': 189, 'height': 106 }, { 'name': 'Thumbnail Large', 'encodingFormat': 'jpeg', 'contentUrl': 'https://videocdn-sbs.akamaized.net/u/video/SBS/managed/images/2023/03/10/2175290435999_03101003_image105845_large.jpg', 'width': 640, 'height': 360 } ], 'type': 'Episode', 'videoFormat': 'SD', 'visualAids': { 'subtitles': [ ], 'closedCaptions': [ ] } } } ```
gamer191 commented 1 year ago

And here's context=ios (probably almost identical):

context=ios ```py { '@context': [ 'http://www.sbs.com.au/schemas/' ], 'type': 'VideoObject', 'name': 'Cobra S2 Ep6', 'bitrate': 'auto', 'encodingFormat': 'hls', 'contentUrl': 'http://link.theplatform.com/s/Bgtm9B/jsbYedBLnm9S?feed=Video%20-%20Single&manifest=m3u&mbr=true&format=redirect', 'closedCaptions': '', 'oztamAnalyticsData': { 'publisherId': '6e10adc9-a9d3-4c23-b50b-b2e29aa29013', 'videoId': '760260', 'videoUrl': 'http://www.sbs.com.au/ondemand/video/2175290435999/cobra-s2-ep6', 'mimetype': 'video/vnd.apple.mpegurl', 'duration': 2653, 'channel': 'Web Exclusive', 'mediaProperties': { 'isLive': 0, 'seriesId': '7892', 'episodeId': '6', 'seriesName': 'Cobra', 'episodeName': '', 'classification': 'M' } }, 'chromecast': { 'receiver': { 'metadata': { 'title': 'Cobra', 'subtitle': 'Season 2 Episode 6', 'image': 'https://videocdn-sbs.akamaized.net/u/video/SBS/managed/images/2023/03/10/2175290435999_03101003_image105845_hd720.jpg', 'image_width': 1280, 'image_height': 720 } }, 'controller': { 'background': 'https://www.sbs.com.au/api/v3/video_image/getimage?type=chromecast_background&url=https%3A%2F%2Fvideocdn-sbs.akamaized.net%2Fu%2Fvideo%2FSBS%2Fmanaged%2Fimages%2F2023%2F03%2F10%2F2175290435999_03101003_image105845_hd720.jpg', 'background_width': 450, 'background_height': 800, 'background_portrait': 'https://www.sbs.com.au/api/v3/video_image/getimage?type=chromecast_expandedcontroller_portrait&url=https%3A%2F%2Fvideocdn-sbs.akamaized.net%2Fu%2Fvideo%2FSBS%2Fmanaged%2Fimages%2F2023%2F03%2F10%2F2175290435999_03101003_image105845_single.jpg', 'background_portrait_width': 450, 'background_portrait_height': 800, 'background_landscape': 'https://videocdn-sbs.akamaized.net/u/video/SBS/managed/images/2023/03/10/2175290435999_03101003_image105845_hd720.jpg', 'background_landscape_width': 1280, 'background_landscape_height': 720 }, 'minicontroller': { 'thumbnail': 'https://videocdn-sbs.akamaized.net/u/video/SBS/managed/images/2023/03/10/2175290435999_03101003_image105845_hd720.jpg', 'thumbnail_width': 1280, 'thumbnail_height': 720 }, 'mediarouter': { 'thumbnail': 'https://videocdn-sbs.akamaized.net/u/video/SBS/managed/images/2023/03/10/2175290435999_03101003_image105845_hd720.jpg', 'thumbnail_width': 1280, 'thumbnail_height': 720 } }, 'event_tracking': [ { 'event_type': 'credits_begin', 'event_seconds': 2621 } ], 'recommended_content': 'https://www.sbs.com.au/api/v3/video_recommendations/relatedvideos?id=2175290435999&context=ios', 'adTagCustomParameters': { 'cxsegments': [ ], 'cxprnd': 79134143, 'cxid': '', 'cxsiteid': '1133921284657819058', 'cxurl': 'http://www.sbs.com.au/ondemand/video/single/2175290435999', 'device': 'ios', 'ipaddress': 'REDACTED', 'partner': 'none', 'programname': 'cobra', 'genre': [ 'Drama' ], 'season': '2', 'ratings': 'm', 'ppid': '', 'vid': '2175290435999', 'scor': '2175290435999', 'uid': '', 'ifa': '', 'ifaoptout': '1' }, 'video_object': { 'actor': [ { 'type': 'Person', 'name': 'Robert Carlyle' }, { 'type': 'Person', 'name': 'Victoria Hamilton' }, { 'type': 'Person', 'name': 'Richard Dormer' } ], 'consumerAdvice': [ 'v', 'l', 'a' ], 'contentRating': 'm', 'country': { 'name': 'United Kingdom' }, 'datePublished': '2021-01-01T01:01:01', 'descriptionHtml': '[English, On Demand] Aired on Mar-16', 'director': [ ], 'displayTitles': { 'double': { 'title': 'COBRA', 'subtitle': 'Season 2 Episode 6' }, 'appleumc': { 'descriptive': 'Episode 6', 'formatted': 'Season 2 Episode 6' }, 'programpage': { 'playButton': 'Play Season 2 Episode 6' }, 'seasonListTitle': 'Episode 6', 'seasonlist': { 'title': 'Episode 6' }, 'videoPlayer': { 'title': 'Episode 6', 'subtitle': 'COBRA, Season 2' }, 'episodePromotion': { 'title': 'Episode 6', 'subtitle': 'Season 2' }, 'title': 'COBRA', 'subtitle': 'Season 2 Episode 6', 'components': { 'seasonEpisodeFull': 'Season 2 Episode 6', 'seasonEpisodeAbbreviated': 'S2 E6' }, 'pageTitle': 'COBRA, Season 2 Episode 6' }, 'duration': 2653, 'episodeNumber': 6, 'externalRelations': { 'mpx': { 'guid': 760260 }, 'pilat': { 'deal': { 'id': 'http://www.sbs.com.au/pilatDealcode/191308' } }, 'tvAnytime': { 'series': { 'crid': 'crid://sbs.com.au/237723' } }, 'sbsOnDemandUrl': 'https://www.sbs.com.au/ondemand/video/2175290435999/cobra-s2-ep6', 'roku': { 'mediatype': 'episode', 'contentid': 760260 }, 'appleUniversalSearch': { 'mediaIdentifier': 'EPISODE_2175290435999' }, 'sbsondemand': { 'entity_type': 'TV_EPISODE', 'id': 'c04bf9c1-847c-5dae-b85d-eb2a92daf542' } }, 'id': 'http://www.sbs.com.au/ondemand/video/2175290435999', 'inLanguage': [ { 'type': 'Language', 'name': 'English' } ], 'inStreamEvents': { 'chapters': [ 0, 630.76, 1252.12, 2269.52 ], 'creditsBegin': 2621 }, 'keywords': [ 'Preconditioned' ], 'name': 'Cobra S2 Ep6', 'offer': { 'availabilityStarts': '2023-03-10T13:00:00Z', 'availabilityEnds': '2024-02-28T12:59:59Z' }, 'partOfSeason': { 'seasonNumber': '2' }, 'partOfSeries': { 'name': 'COBRA', 'id': 'http://www.sbs.com.au/program/7892', 'slug': 'cobra', 'uuid': '091463a9-8df7-5139-a3d9-35793c131079', 'type': 'tv' }, 'pilat': { 'id': 'http://www.sbs.com.au/pilatId/760260' }, 'publication': { 'type': 'BroadcastEvent', 'startDate': '2023-03-15T13:00:00Z' }, 'regionsAllowed': 'AU', 'requiresSubscription': true, 'revision': { 'date': '20230317234556', 'id': 17 }, 'sbsSubCertification': { 'codes': [ 'a1', 'l2', 'v2' ], 'consumerAdvice': [ 'Adult Themes', 'Coarse Language', 'Violence' ] }, 'shortDescriptionHtml': '[English, On Demand] Aired on Mar-16', 'taxonomy': { 'useType': 'Full Episode', 'genre': [ { 'type': 'Term', 'name': 'Drama' } ], 'subGenre': [ { 'type': 'Term', 'name': 'Drama/Thriller' } ], 'section': [ { 'type': 'Term', 'name': 'Programs' } ], 'channel': [ { 'type': 'Term', 'name': 'On Demand' } ], 'grouping': [ { 'type': 'Term', 'name': 'AVOD Drama' } ] }, 'thumbnailUrl': 'https://videocdn-sbs.akamaized.net/u/video/SBS/managed/images/2023/03/10/2175290435999_03101003_image105845_large.jpg', 'thumbnails': [ { 'name': '4x3', 'encodingFormat': 'jpeg', 'contentUrl': 'https://videocdn-sbs.akamaized.net/u/video/SBS/managed/images/2023/03/10/2175290435999_03101003_image105845_4:3.jpg', 'width': 640, 'height': 480 }, { 'name': 'Double', 'encodingFormat': 'jpeg', 'contentUrl': 'https://videocdn-sbs.akamaized.net/u/video/SBS/managed/images/2023/03/10/2175290435999_03101003_image105845_double.jpg', 'width': 460, 'height': 290 }, { 'name': 'Facebook', 'encodingFormat': 'jpeg', 'contentUrl': 'https://videocdn-sbs.akamaized.net/u/video/SBS/managed/images/2023/03/10/2175290435999_03101003_image105845_facebook.jpg', 'width': 200, 'height': 200 }, { 'name': 'Full', 'encodingFormat': 'jpeg', 'contentUrl': 'https://videocdn-sbs.akamaized.net/u/video/SBS/managed/images/2023/03/10/2175290435999_03101003_image105845_full.jpg', 'width': 704, 'height': 396 }, { 'name': 'Full Mobile', 'encodingFormat': 'jpeg', 'contentUrl': 'https://videocdn-sbs.akamaized.net/u/video/SBS/managed/images/2023/03/10/2175290435999_03101003_image105845_fullmobile.jpg', 'width': 320, 'height': 180 }, { 'name': 'Hd720', 'encodingFormat': 'jpeg', 'contentUrl': 'https://videocdn-sbs.akamaized.net/u/video/SBS/managed/images/2023/03/10/2175290435999_03101003_image105845_hd720.jpg', 'width': 1280, 'height': 720 }, { 'name': 'Network Tile', 'encodingFormat': 'jpeg', 'contentUrl': 'https://videocdn-sbs.akamaized.net/u/video/SBS/managed/images/2023/03/10/2175290435999_03101003_image105845_networktile.jpg', 'width': 300, 'height': 250 }, { 'name': 'Programs Large', 'encodingFormat': 'jpeg', 'contentUrl': 'https://videocdn-sbs.akamaized.net/u/video/SBS/managed/images/2023/03/10/2175290435999_03101003_image105845_programslarge.jpg', 'width': 460, 'height': 258 }, { 'name': 'Programs Small', 'encodingFormat': 'jpeg', 'contentUrl': 'https://videocdn-sbs.akamaized.net/u/video/SBS/managed/images/2023/03/10/2175290435999_03101003_image105845_programssmall.jpg', 'width': 220, 'height': 122 }, { 'name': 'Single', 'encodingFormat': 'jpeg', 'contentUrl': 'https://videocdn-sbs.akamaized.net/u/video/SBS/managed/images/2023/03/10/2175290435999_03101003_image105845_single.jpg', 'width': 220, 'height': 290 }, { 'name': 'Sony', 'encodingFormat': 'jpeg', 'contentUrl': 'https://videocdn-sbs.akamaized.net/u/video/SBS/managed/images/2023/03/10/2175290435999_03101003_image105845_sony.jpg', 'width': 128, 'height': 96 }, { 'name': 'Thumb Carousel Large', 'encodingFormat': 'jpeg', 'contentUrl': 'https://videocdn-sbs.akamaized.net/u/video/SBS/managed/images/2023/03/10/2175290435999_03101003_image105845_carousellarge.jpg', 'width': 396, 'height': 260 }, { 'name': 'Thumb Carousel Small', 'encodingFormat': 'jpeg', 'contentUrl': 'https://videocdn-sbs.akamaized.net/u/video/SBS/managed/images/2023/03/10/2175290435999_03101003_image105845_carouselsmall.jpg', 'width': 220, 'height': 124 }, { 'name': 'Thumb Small', 'encodingFormat': 'jpeg', 'contentUrl': 'https://videocdn-sbs.akamaized.net/u/video/SBS/managed/images/2023/03/10/2175290435999_03101003_image105845_thumbsmall.jpg', 'width': 100, 'height': 100 }, { 'name': 'Thumbnail', 'encodingFormat': 'jpeg', 'contentUrl': 'https://videocdn-sbs.akamaized.net/u/video/SBS/managed/images/2023/03/10/2175290435999_03101003_image105845_small.jpg', 'width': 189, 'height': 106 }, { 'name': 'Thumbnail Large', 'encodingFormat': 'jpeg', 'contentUrl': 'https://videocdn-sbs.akamaized.net/u/video/SBS/managed/images/2023/03/10/2175290435999_03101003_image105845_large.jpg', 'width': 640, 'height': 360 } ], 'type': 'Episode', 'videoFormat': 'SD', 'visualAids': { 'subtitles': [ ], 'closedCaptions': [ ] } } } ```
Vangelis66 commented 1 year ago

Now we know (how easy is this?):

https://www.sbs.com.au/api/v3/video_smil?id={video_id}

From the UK, it pulls the SMIL manifest, but even with a further hack to set the Referer used for subsidiary M3U8 manifests to the original .../ondemand/watch/... URL I get 403 for those, and so crash or no formats, depending on fatal=False in the_extract_smil_formats() call. Unsurprisingly, the response headers include x-error-reason: geo-blocked.

GET-ing "https://www.sbs.com.au/api/v3/video_smil?id=2175290435999" (no proxy, no authentication required) and inspecting the downloaded SMIL, the URI to the master HLSe manifest is:

https://sbs-vod-prod-01.akamaized.net/Content/HLS_AES_TSO/VOD/geo/12986/2483/a3330a06-4a56-45fd-911e-110540bf8c7a/9439a831-9b13-6280-ed4f-cb66148195cb/master.m3u8?hdnea=st%3D1679098254%7Eexp%3D1679116254%7Eacl%3D%2FContent%2FHLS_AES_TSO%2FVOD%2Fgeo%2F12986%2F2483%2Fa3330a06-4a56-45fd-911e-110540bf8c7a%2F9439a831-9b13-6280-ed4f-cb66148195cb%2F%2A%7Ehmac%3D2a18adac3a1f40ff68d43a582a0805697cd3c5d119a43e294811646e3f519fc6

Then, with a whitelisted AU HTTPS proxy:

yt-dl --proxy "localhost:8080" -vF "https://sbs-vod-prod-01.akamaized.net/Content/HLS_AES_TSO/VOD/geo/12986/2483/a3330a06-4a56-45fd-911e-110540bf8c7a/9439a831-9b13-6280-ed4f-cb66148195cb/master.m3u8?hdnea=st%3D1679098254%7Eexp%3D1679116254%7Eacl%3D%2FContent%2FHLS_AES_TSO%2FVOD%2Fgeo%2F12986%2F2483%2Fa3330a06-4a56-45fd-911e-110540bf8c7a%2F9439a831-9b13-6280-ed4f-cb66148195cb%2F%2A%7Ehmac%3D2a18adac3a1f40ff68d43a582a0805697cd3c5d119a43e294811646e3f519fc6" => 

[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['--ffmpeg-location', '.\\FFmpeg', '--external-downloader-args', '-v 8 -stats', '--proxy', 'localhost:8080', '-vF', 'https://sbs-vod-prod-01.akamaized.net/Content/HLS_AES_TSO/VOD/geo/12986/2483/a3330a06-4a56-45fd-911e-110540bf8c7a/9439a831-9b13-6280-ed4f-cb66148195cb/master.m3u8?hdnea=st%3D1679098254%7Eexp%3D1679116254%7Eacl%3D%2FContent%2FHLS_AES_TSO%2FVOD%2Fgeo%2F12986%2F2483%2Fa3330a06-4a56-45fd-911e-110540bf8c7a%2F9439a831-9b13-6280-ed4f-cb66148195cb%2F%2A%7Ehmac%3D2a18adac3a1f40ff68d43a582a0805697cd3c5d119a43e294811646e3f519fc6']
[debug] Encodings: locale cp1253, fs mbcs, out cp737, pref cp1253
[debug] youtube-dl version 2023.03.16.1919
[debug] Python version 3.4.4 (CPython) - Windows-Vista-6.0.6003-SP2
[debug] exe versions: ffmpeg n5.2-dev-2245-N-109649-gab8cde6, ffprobe n5.2-dev-2245-N-109649-gab8cde6, phantomjs 2.1.1, rtmpdump 2.4
[debug] Proxy map: {'http': 'localhost:8080', 'https': 'localhost:8080'}
[generic] master: Requesting header
[generic] master: Downloading m3u8 information
[info] Available formats for master:
format code  extension  resolution note
439          mp4        398x224     439k , avc1.4D401E, 25.0fps, mp4a.40.2
870          mp4        640x360     870k , avc1.4D401E, 25.0fps, mp4a.40.2
1419         mp4        1024x576   1419k , avc1.4D4029, 25.0fps, mp4a.40.2
1981         mp4        1280x720   1981k , avc1.4D4029, 25.0fps, mp4a.40.2 (best)
Vangelis66 commented 1 year ago

and create the HAR: https://brainshark.zendesk.com/hc/en-us/articles/360012432712-Performing-a-Browser-Trace-Firefox.

FWIW, this article requires I "Sign in to Brainshark Support" :wink: ...

gamer191 commented 1 year ago

I just omitted all the not obviously required query parameters and found that I got a bigger SMIL manifest than when a context was provided. Let's see if it's a good link...

I just visually compared the manifest files, and the main difference is that if context isn't provided then it contains a bunch of mentions of https://securepubads.g.doubleclick.net

gamer191 commented 1 year ago

context=odwebsite gives a completely different json (once I've authenticated it)

Whoops, I posted the wrong json:

context=odwebsite ``` { "@context": [ "http://www.sbs.com.au/schemas/" ], "type": "StreamProvider", "name": "Cobra S2 Ep6", "chromecast": { "receiver": { "metadata": { "title": "Cobra", "subtitle": "Season 2 Episode 6", "image": "https://videocdn-sbs.akamaized.net/u/video/SBS/managed/images/2023/03/10/2175290435999_03101003_image105845_hd720.jpg", "image_width": 1280, "image_height": 720 } }, "controller": { "background": "https://www.sbs.com.au/api/v3/video_image/getimage?type=chromecast_background&url=https%3A%2F%2Fvideocdn-sbs.akamaized.net%2Fu%2Fvideo%2FSBS%2Fmanaged%2Fimages%2F2023%2F03%2F10%2F2175290435999_03101003_image105845_hd720.jpg", "background_width": 450, "background_height": 800, "background_portrait": "https://www.sbs.com.au/api/v3/video_image/getimage?type=chromecast_expandedcontroller_portrait&url=https%3A%2F%2Fvideocdn-sbs.akamaized.net%2Fu%2Fvideo%2FSBS%2Fmanaged%2Fimages%2F2023%2F03%2F10%2F2175290435999_03101003_image105845_single.jpg", "background_portrait_width": 450, "background_portrait_height": 800, "background_landscape": "https://videocdn-sbs.akamaized.net/u/video/SBS/managed/images/2023/03/10/2175290435999_03101003_image105845_hd720.jpg", "background_landscape_width": 1280, "background_landscape_height": 720 }, "minicontroller": { "thumbnail": "https://videocdn-sbs.akamaized.net/u/video/SBS/managed/images/2023/03/10/2175290435999_03101003_image105845_hd720.jpg", "thumbnail_width": 1280, "thumbnail_height": 720 }, "mediarouter": { "thumbnail": "https://videocdn-sbs.akamaized.net/u/video/SBS/managed/images/2023/03/10/2175290435999_03101003_image105845_hd720.jpg", "thumbnail_width": 1280, "thumbnail_height": 720 } }, "videoProgress": { "trackingUrl": "https://www.sbs.com.au/api/v3/video_progress/record?", "urlParameters": { "videoId": "videoid", "currentPosition": "seconds" } }, "adTag": { "ppid": "", "iu": "/4117/video.web.sbs.com.au", "description_url": "https://www.sbs.com.au/ondemand/video/2175290435999", "customParameters": { "cxsegments": "", "cxprnd": "35428564", "cxid": "", "cxsiteid": "1133921284657819058", "cxurl": "http://www.sbs.com.au/ondemand/video/single/2175290435999", "device": "web", "ipaddress": "REDACTED", "partner": "none", "programname": "cobra", "genre": "Drama", "season": "2", "ratings": "m", "vid": "2175290435999", "scor": "2175290435999", "uid": "", "ifa": "", "ifaoptout": "1" } }, "bidding": { "podconfig": { "durationrangesec": [ 15, 30 ], "perpodkeys": true, "adomaindedupe": true, "pods": [ { "podid": 1, "adpoddurationsec": 60, "placementid": 24949453 }, { "podid": 2, "adpoddurationsec": 90, "placementid": 24949454 }, { "podid": 3, "adpoddurationsec": 90, "placementid": 24949454 }, { "podid": 4, "adpoddurationsec": 90, "placementid": 24949454 }, { "podid": 5, "adpoddurationsec": 90, "placementid": 24949454 }, { "podid": 6, "adpoddurationsec": 90, "placementid": 24949454 }, { "podid": 7, "adpoddurationsec": 90, "placementid": 24949454 }, { "podid": 8, "adpoddurationsec": 90, "placementid": 24949454 }, { "podid": 9, "adpoddurationsec": 90, "placementid": 24949454 } ] }, "user": { "buyeruids": [], "gdpr": { "consentrequired": false, "consentstring": "" } }, "device": { "ua": null, "ip": null, "devicetype": null, "ifa": null }, "video": { "w": null, "h": null, "mimes": [], "protocols": [] }, "content": { "id": "2175290435999", "episode": "6", "title": "S2 Ep6", "series": "Cobra", "season": "2", "len": 2653, "livestream": 0 }, "xdyn_params": { "telaria": { "custom": "Telaria" }, "finecast": { "keywords": "ppid=d89d64cf-91d5-4bcc-93b0-ad515dca319e,member_id=12040,kw_videoid=2175290435999,kw_episode=6,kw_genre=Drama,kw_programname=Cobra,kw_series=COBRA,kw_season=2,kw_classification=m,kw_language=English,vpmsessionid=[OZTAMSESSIONID],hb=1,kw_pod=%%PSP:pod%%" }, "pubmatic": { "pmzoneid": "kw_episode=6,kw_genre=Drama,kw_programname=Cobra,kw_series=COBRA,kw_season=2,kw_classification=m,kw_language=English,vpmsessionid=[OZTAMSESSIONID],kw_pod=%%PSP:pod%%", "dctr": "ppid=d89d64cf-91d5-4bcc-93b0-ad515dca319e|kw_videoid=2175290435999|kw_episode=6|kw_genre=Drama|kw_programname=Cobra|kw_series=COBRA|kw_season=2|kw_classification=m|kw_language=English|vpmsessionid=[OZTAMSESSIONID]|hb=1|kw_pod=%%PSP:pod%%" }, "appnexus": { "keywords": "ppid=d89d64cf-91d5-4bcc-93b0-ad515dca319e,member_id=12040,kw_episode=6,kw_videoid=2175290435999,kw_genre=Drama,kw_programname=Cobra,kw_series=COBRA,kw_season=2,kw_classification=m,kw_language=English,vpmsessionid=[OZTAMSESSIONID],hb=1,kw_pod=%%PSP:pod%%,publisherId=160670" } }, "site": { "page": null } }, "streamProviders": [ { "type": "GoogleDAIProvider", "providerName": "Google DAI", "providerAccountId": "2488267", "videoEncoding": "hls", "videoBitrate": "auto", "videoStreamType": "vod", "videoId": "2175290435999B", "assetType": "HLS TS Muxed" }, { "type": "AkamaiHLSProvider", "providerName": "Akamai HLS", "videoEncoding": "hls", "videoBitrate": "auto", "videoStreamType": "vod", "videoId": "2175290435999", "contentUrl": "https://sbs-vod-prod-01.akamaized.net/Content/HLS_AES_TSO/VOD/geo/12986/2483/a3330a06-4a56-45fd-911e-110540bf8c7a/9439a831-9b13-6280-ed4f-cb66148195cb/master.m3u8?hdnea=st%3D1679116896%7Eexp%3D1679134896%7Eacl%3D%2FContent%2FHLS_AES_TSO%2FVOD%2Fgeo%2F12986%2F2483%2Fa3330a06-4a56-45fd-911e-110540bf8c7a%2F9439a831-9b13-6280-ed4f-cb66148195cb%2F%2A%7Ehmac%3D36c477b0e6cd66397fa7996c380bb88e0c27036630f975df47c3312372d32095", "assetType": "HLS TS Muxed", "textTracks": [ { "name": "eng", "contentUrl": "https://subtitle-converter.pr.sbsod.com/convert?url=https%3A%2F%2Fvideocdn-sbs.akamaized.net%2Fu%2Fvideo%2FSBS%2Fmanaged%2Fclosedcaptions%2F2023%2F03%2F10%2F010503%2F760260.DFXP&format=vtt", "language": "eng", "format": "WebVTT", "characteristics": [ "public.accessibility.transcribes-spoken-dialog" ], "attributes": [ "AUTOSELECT=YES" ] } ] } ], "oztam": { "publisherId": "6e10adc9-a9d3-4c23-b50b-b2e29aa29013", "videoId": "760260", "videoUrl": "http://www.sbs.com.au/ondemand/video/2175290435999/cobra-s2-ep6", "mimetype": "video/vnd.apple.mpegurl", "duration": 2653, "channel": "Web Exclusive", "mediaProperties": { "isLive": 0, "seriesId": "7892", "episodeId": "6", "seriesName": "Cobra", "episodeName": "", "classification": "M" } }, "videoItem": { "actor": [ { "type": "Person", "name": "Robert Carlyle" }, { "type": "Person", "name": "Victoria Hamilton" }, { "type": "Person", "name": "Richard Dormer" } ], "consumerAdvice": [ "v", "l", "a" ], "contentRating": "m", "country": { "name": "United Kingdom" }, "datePublished": "2021-01-01T01:01:01", "descriptionHtml": "[English, On Demand] Aired on Mar-16", "director": [], "displayTitles": { "double": { "title": "COBRA", "subtitle": "Season 2 Episode 6" }, "appleumc": { "descriptive": "Episode 6", "formatted": "Season 2 Episode 6" }, "programpage": { "playButton": "Play Season 2 Episode 6" }, "seasonListTitle": "Episode 6", "seasonlist": { "title": "Episode 6" }, "videoPlayer": { "title": "Episode 6", "subtitle": "COBRA, Season 2" }, "episodePromotion": { "title": "Episode 6", "subtitle": "Season 2" }, "title": "COBRA", "subtitle": "Season 2 Episode 6", "components": { "seasonEpisodeFull": "Season 2 Episode 6", "seasonEpisodeAbbreviated": "S2 E6" }, "pageTitle": "COBRA, Season 2 Episode 6" }, "duration": 2653, "episodeNumber": 6, "externalRelations": { "mpx": { "guid": 760260 }, "pilat": { "deal": { "id": "http://www.sbs.com.au/pilatDealcode/191308" } }, "tvAnytime": { "series": { "crid": "crid://sbs.com.au/237723" } }, "sbsOnDemandUrl": "https://www.sbs.com.au/ondemand/video/2175290435999/cobra-s2-ep6", "roku": { "mediatype": "episode", "contentid": 760260 }, "appleUniversalSearch": { "mediaIdentifier": "EPISODE_2175290435999" }, "sbsondemand": { "entity_type": "TV_EPISODE", "id": "c04bf9c1-847c-5dae-b85d-eb2a92daf542" } }, "id": "http://www.sbs.com.au/ondemand/video/2175290435999", "inLanguage": [ { "type": "Language", "name": "English" } ], "inStreamEvents": { "chapters": [ 0, 630.76, 1252.12, 2269.52 ], "creditsBegin": 2621 }, "keywords": [ "Preconditioned" ], "name": "Cobra S2 Ep6", "offer": { "availabilityStarts": "2023-03-10T13:00:00Z", "availabilityEnds": "2024-02-28T12:59:59Z" }, "partOfSeason": { "seasonNumber": "2" }, "partOfSeries": { "name": "COBRA", "id": "http://www.sbs.com.au/program/7892", "slug": "cobra", "uuid": "091463a9-8df7-5139-a3d9-35793c131079", "type": "tv" }, "pilat": { "id": "http://www.sbs.com.au/pilatId/760260" }, "publication": { "type": "BroadcastEvent", "startDate": "2023-03-15T13:00:00Z" }, "regionsAllowed": "AU", "requiresSubscription": true, "revision": { "date": "20230317234556", "id": 17 }, "sbsSubCertification": { "codes": [ "a1", "l2", "v2" ], "consumerAdvice": [ "Adult Themes", "Coarse Language", "Violence" ] }, "shortDescriptionHtml": "[English, On Demand] Aired on Mar-16", "taxonomy": { "useType": "Full Episode", "genre": [ { "type": "Term", "name": "Drama" } ], "subGenre": [ { "type": "Term", "name": "Drama/Thriller" } ], "section": [ { "type": "Term", "name": "Programs" } ], "channel": [ { "type": "Term", "name": "On Demand" } ], "grouping": [ { "type": "Term", "name": "AVOD Drama" } ] }, "thumbnailUrl": "https://videocdn-sbs.akamaized.net/u/video/SBS/managed/images/2023/03/10/2175290435999_03101003_image105845_large.jpg", "thumbnails": [ { "name": "4x3", "encodingFormat": "jpeg", "contentUrl": "https://videocdn-sbs.akamaized.net/u/video/SBS/managed/images/2023/03/10/2175290435999_03101003_image105845_4:3.jpg", "width": 640, "height": 480 }, { "name": "Double", "encodingFormat": "jpeg", "contentUrl": "https://videocdn-sbs.akamaized.net/u/video/SBS/managed/images/2023/03/10/2175290435999_03101003_image105845_double.jpg", "width": 460, "height": 290 }, { "name": "Facebook", "encodingFormat": "jpeg", "contentUrl": "https://videocdn-sbs.akamaized.net/u/video/SBS/managed/images/2023/03/10/2175290435999_03101003_image105845_facebook.jpg", "width": 200, "height": 200 }, { "name": "Full", "encodingFormat": "jpeg", "contentUrl": "https://videocdn-sbs.akamaized.net/u/video/SBS/managed/images/2023/03/10/2175290435999_03101003_image105845_full.jpg", "width": 704, "height": 396 }, { "name": "Full Mobile", "encodingFormat": "jpeg", "contentUrl": "https://videocdn-sbs.akamaized.net/u/video/SBS/managed/images/2023/03/10/2175290435999_03101003_image105845_fullmobile.jpg", "width": 320, "height": 180 }, { "name": "Hd720", "encodingFormat": "jpeg", "contentUrl": "https://videocdn-sbs.akamaized.net/u/video/SBS/managed/images/2023/03/10/2175290435999_03101003_image105845_hd720.jpg", "width": 1280, "height": 720 }, { "name": "Network Tile", "encodingFormat": "jpeg", "contentUrl": "https://videocdn-sbs.akamaized.net/u/video/SBS/managed/images/2023/03/10/2175290435999_03101003_image105845_networktile.jpg", "width": 300, "height": 250 }, { "name": "Programs Large", "encodingFormat": "jpeg", "contentUrl": "https://videocdn-sbs.akamaized.net/u/video/SBS/managed/images/2023/03/10/2175290435999_03101003_image105845_programslarge.jpg", "width": 460, "height": 258 }, { "name": "Programs Small", "encodingFormat": "jpeg", "contentUrl": "https://videocdn-sbs.akamaized.net/u/video/SBS/managed/images/2023/03/10/2175290435999_03101003_image105845_programssmall.jpg", "width": 220, "height": 122 }, { "name": "Single", "encodingFormat": "jpeg", "contentUrl": "https://videocdn-sbs.akamaized.net/u/video/SBS/managed/images/2023/03/10/2175290435999_03101003_image105845_single.jpg", "width": 220, "height": 290 }, { "name": "Sony", "encodingFormat": "jpeg", "contentUrl": "https://videocdn-sbs.akamaized.net/u/video/SBS/managed/images/2023/03/10/2175290435999_03101003_image105845_sony.jpg", "width": 128, "height": 96 }, { "name": "Thumb Carousel Large", "encodingFormat": "jpeg", "contentUrl": "https://videocdn-sbs.akamaized.net/u/video/SBS/managed/images/2023/03/10/2175290435999_03101003_image105845_carousellarge.jpg", "width": 396, "height": 260 }, { "name": "Thumb Carousel Small", "encodingFormat": "jpeg", "contentUrl": "https://videocdn-sbs.akamaized.net/u/video/SBS/managed/images/2023/03/10/2175290435999_03101003_image105845_carouselsmall.jpg", "width": 220, "height": 124 }, { "name": "Thumb Small", "encodingFormat": "jpeg", "contentUrl": "https://videocdn-sbs.akamaized.net/u/video/SBS/managed/images/2023/03/10/2175290435999_03101003_image105845_thumbsmall.jpg", "width": 100, "height": 100 }, { "name": "Thumbnail", "encodingFormat": "jpeg", "contentUrl": "https://videocdn-sbs.akamaized.net/u/video/SBS/managed/images/2023/03/10/2175290435999_03101003_image105845_small.jpg", "width": 189, "height": 106 }, { "name": "Thumbnail Large", "encodingFormat": "jpeg", "contentUrl": "https://videocdn-sbs.akamaized.net/u/video/SBS/managed/images/2023/03/10/2175290435999_03101003_image105845_large.jpg", "width": 640, "height": 360 } ], "type": "Episode", "videoFormat": "SD", "visualAids": { "subtitles": [], "closedCaptions": [] } }, "trackingEvents": [ { "event_type": "credits_begin", "event_seconds": 2621 } ], "conviva": { "contentId": "2175290435999", "streamType": "VOD", "streamDuration": 2653, "contentType": "Full Episode", "assetName": "[2175290435999] Cobra S2 Ep6", "show": "Cobra", "episodeName": "S2 Ep6", "episodeNumber": "6", "season": "2", "pubDate": "Mar 11, 2023", "genre": "Drama", "subGenre": "Thriller", "category": "Drama/Thriller", "channel": "Web Exclusive", "cdn": "AKAMAI", "verticalName": "ondemand", "durationType": "Long Form", "viewerId": "REDACTED", "viewerAge": REDACTED, "viewerGender": "Male", "viewerAgreement": true, "accessType": "Authenticated" }, "recommendedContent": "https://www.sbs.com.au/api/v3/video_recommendations/relatedvideos?id=2175290435999&context=odwebsite" } ```
gamer191 commented 1 year ago

How interesting:

I don't know how to read a smil file, but what I did notice was it has a bunch of links to https://sbs-vod-prod-01.akamaized.net/Content/HLS_AES_TSO/VOD/geo/12986/2483/a3330a06-4a56-45fd-911e-110540bf8c7a/9439a831-9b13-6280-ed4f-cb66148195cb/master.m3u8, the exact url that context=oddesktop returned as it's contenturl. I assume that means that context=tv ultimately links to the same file as context=oddesktop, but without requiring authentication

gamer191 commented 1 year ago

(it does have different parameters though)

dirkf commented 1 year ago

https://en.wikipedia.org/wiki/Synchronized_Multimedia_Integration_Language

As shown in my stub extractor, yt-dl knows how to extract the media items from a SMIL manifest. But a lot of media players can play SMIL directly.

The stub extractor should work, as far as it goes, in region.

dirkf commented 1 year ago

Comparing the odwebsite and tv JSON blocks, the former identifies as a StreamProvider ld+json object (non-standard, in accordance with the 404 non-standard http://www.sbs.com.au/schemas/) while the latter is a (superset of the standard) VideoObject.

The StreamProvider has the SMIL expanded and a Chromecast block. For our purposes the tv JSON is equivalent and easier to get.

In the context of steps 1-4 above, this adds actual thumbnail URLs which aren't available from the catalogue.pr.sbsod.com endpoints (only IDs that, so far at least, we don't know how to resolve: https://www.sbs.com.au/api/v3/video_image/getimage disappointingly needs an actual URL passed in its query parameters).

With all this, my draft extractor is passing its test, albeit with a different MD5 for the download fragment, but just returning the detected geo-restriction error for the problem video here. PR beckons.

dirkf commented 1 year ago

And arrives: #31880. Local testing needed.

gswan commented 1 year ago

Updated here, built and tested with the original subject of this issue. Downloaded successfully. Will try a few more random items as well. Thanks for the update.

gswan commented 1 year ago

Tried a few more programs and all successfully downloaded OK.

dirkf commented 1 year ago

PR #31880 has been updated to match yt-dlp/yt-dlp#6839. Any yt-dl hold-outs who would like to test it, pls report in the PR.

Spin35 commented 1 year ago

When will PR #31880 be available in a windows .exe form? I've been using the yt-dlp_2023.05.11.094900 fix and it has been working fine.

gswan commented 1 year ago

Yep. SBS have made another change. Working one day and then stopped with a 403 error fetching the m3u8 data. Example:

$ youtube-dl --verbose https://www.sbs.com.au/ondemand/watch/2208035907943
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['--verbose', 'https://www.sbs.com.au/ondemand/watch/2208035907943']
[debug] Encodings: locale utf-8, fs utf-8, out utf-8, pref utf-8
[debug] youtube-dl version 2021.12.17 (single file build)
[debug] Python 3.11.2 (CPython x86_64 64bit) - Linux-6.3.1AXTOS-11-x86_64-with-glibc2.37 - OpenSSL 3.0.8 7 Feb 2023 - glibc 2.37
[debug] exe versions: ffmpeg 4.4, ffprobe 4.4
[debug] Proxy map: {}
[SBS] 2208035907943: Downloading JSON metadata
[ThePlatform] lRZJykj8Jcuc: Downloading SMIL data
[ThePlatform] lRZJykj8Jcuc: Downloading m3u8 information
WARNING: Failed to download m3u8 information: HTTP Error 403: Forbidden
ERROR: No video formats found; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
Traceback (most recent call last):
  File "/usr/local/bin/youtube-dl/youtube_dl/YoutubeDL.py", line 825, in wrapper
    return func(self, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/bin/youtube-dl/youtube_dl/YoutubeDL.py", line 846, in __extract_info
    ie_result = ie.extract(url)
                ^^^^^^^^^^^^^^^
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/common.py", line 535, in extract
    ie_result = self._real_extract(url)
                ^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/theplatform.py", line 309, in _real_extract
    self._sort_formats(formats)
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/common.py", line 1375, in _sort_formats
    raise ExtractorError('No video formats found')
youtube_dl.utils.ExtractorError: No video formats found; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
bnw42 commented 1 year ago

gswan your trouble appears to be either a transient issue or some problem at your end since it is working fine for me, with both the show you tried to download (https://www.sbs.com.au/ondemand/watch/2208035907943) and also another randomly chosen show.

I would recommend that if you have an issue with SBS first check here: (https://forums.whirlpool.net.au/thread/2699206?p=-1&#bottom) to confirm whether the issue is with yt-dlp or something else (eg your end or the SBS servers) before posting on yt-dlp. Just a suggestion. The discussion on that forum is these days pretty much limited to using yt-dlp (and frontends) since other methods no longer work. Response is often within an hour.

bnw42 commented 1 year ago

BTW, I use the nightly build of yt-dlp, not youtube-dl, which hasn't worked in ages.

gswan commented 1 year ago

Thanks! I did not realise there was a fork. I've been using youtube-dl for ages. Grabbed yt-dlp nightly and runs fine on my example.

Vangelis66 commented 1 year ago

not youtube-dl, which hasn't worked in ages.

While, sadly, this holds true for the latest binary release (from 2021), as well as when building from current master branch, youtube-dl works if you build it with #31880 (linked above) merged-in (you need this version of sbsIE):

yt-dl -vF "https://www.sbs.com.au/ondemand/watch/2208035907943" => 

[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['--ffmpeg-location', '.\\FFmpeg', '--external-downloader-args', '-v 8 -stats', '-vF', 'https://www.sbs.com.au/ondemand/watch/2208035907943']
[debug] Encodings: locale cp1253, fs mbcs, out cp737, pref cp1253
[debug] youtube-dl version 2023.06.22.2214 (single file build)
[debug] Python 3.4.4 (CPython x86 32bit) - Windows-Vista-6.0.6003-SP2 - OpenSSL1.0.2d 9 Jul 2015
[debug] exe versions: ffmpeg n6.1-dev-1252-N-111136-gf66e186, ffprobe n6.1-dev-1252-N-111136-gf66e186, phantomjs 2.1.1, rtmpdump 2.4
[debug] Proxy map: {}
[debug] Using fake IP 1.158.238.70 (AU) as X-Forwarded-For.
[SBS] 2208035907943: Downloading SMIL file
[SBS] 2208035907943: Downloading m3u8 information
[SBS] 2208035907943: Downloading JSON metadata
[SBS] 2208035907943: Downloading JSON metadata
[info] Available formats for 2208035907943:
format code  extension  resolution note
hls-439      mp4        398x224     439k , avc1.4D401E, 25.0fps, mp4a.40.2
hls-870      mp4        640x360     870k , avc1.4D401E, 25.0fps, mp4a.40.2
hls-1419     mp4        1024x576   1419k , avc1.4D4029, 25.0fps, mp4a.40.2
hls-1981     mp4        1280x720   1981k , avc1.4D4029, 25.0fps, mp4a.40.2 (best)

The new SBS API can be successfully fooled by the X-F-F trick the sbsIE employs 😉 , and the same is true for the actual stream CDN 👍 ; however, download speeds from Southern Europe are abysmal:

[SBS] 2208035907943: Downloading SMIL file
[SBS] 2208035907943: Downloading m3u8 information
[SBS] 2208035907943: Downloading JSON metadata
[SBS] 2208035907943: Downloading JSON metadata
[hlsnative] Downloading m3u8 manifest
[hlsnative] Total fragments: 1466
[download] Destination: The Crash S1 Ep1 - 18_35_41-2208035907943.mp4
[download]  10.2% of ~429.98MiB at 34.11KiB/s ETA 03:13:07

aria2c or yt-dlp with the -N 6 flag is recommended if outside Australia...