diff --git a/index.d.ts b/index.d.ts index 08c81da4d6..e033a10f8f 100644 --- a/index.d.ts +++ b/index.d.ts @@ -151,6 +151,8 @@ declare namespace dashjs { wallclockTimeUpdateInterval?: number, manifestUpdateRetryInterval?: number, applyServiceDescription?: boolean, + applyProducerReferenceTime?: boolean, + applyContentSteering?: boolean, cacheInitSegments?: boolean, eventControllerRefreshDelay?: number, enableManifestDurationMismatchFix?: boolean, @@ -606,6 +608,10 @@ declare namespace dashjs { getOfflineController(): OfflineController; + triggerSteeringRequest(): Promise; + + getCurrentSteeringResponseData(): object; + getSettings(): MediaPlayerSettingClass; updateSettings(settings: MediaPlayerSettingClass): void; diff --git a/samples/advanced/content-steering.html b/samples/advanced/content-steering.html new file mode 100644 index 0000000000..441ac937ef --- /dev/null +++ b/samples/advanced/content-steering.html @@ -0,0 +1,233 @@ + + + + + Content Steering + + + + + + + + + + + + + +
+
+
+ +
+
+

Content Steering

+
+
+

Description

+

Content distributors often use multiple Content Delivery Networks (CDNs) to + distribute their content to the end-users. They may upload a copy of their catalogue + to each CDN, or more commonly have all CDNs pull the content from a common + origin. Alternate URLs are generated, one for each CDN, that point at identical + content. DASH players may access alternate URLs in the event of delivery + problems.

+

Content steering describes a deterministic capability for a content + distributor to switch the content source that a player uses either at start-up or + midstream, by means of a remote steering service. The DASH implementation of + Content Steering also supports the notion of a proxy steering server which can + switch a mobile client between broadcast and unicast sources.

+
+
+
+
+

Architecture

+ Steering architecture illustration +
+
+
+
+
+
+ + +
+
+
+
+
+ +
+
+
+

CDN Selection

+ Steering alpha CDN + Steering alpha beta +
+
+
+
+
+
+

Fragment Requests

+ + + + + + + + + + + + + + + + + + + + +
TypeService LocationRequest URL
Audio
Video
+
+
+
+
+

Steering Data

+ + + + + + + + + + + + + + + + +
TimestampRequest URLResponse
+
    +
  • Version:
  • +
  • Reload URI:
  • +
  • Service Location Priority: +
  • +
  • TTL:
  • +
+
+
+
+
+
+
+
+
+
+
+ © DASH-IF +
+
+
+ + + + + + diff --git a/samples/advanced/img/content-steering-simulation-alpha-cdn.drawio.png b/samples/advanced/img/content-steering-simulation-alpha-cdn.drawio.png new file mode 100644 index 0000000000..33efd79071 Binary files /dev/null and b/samples/advanced/img/content-steering-simulation-alpha-cdn.drawio.png differ diff --git a/samples/advanced/img/content-steering-simulation-beta-cdn.drawio.png b/samples/advanced/img/content-steering-simulation-beta-cdn.drawio.png new file mode 100644 index 0000000000..66567e0ecd Binary files /dev/null and b/samples/advanced/img/content-steering-simulation-beta-cdn.drawio.png differ diff --git a/samples/advanced/img/steering.png b/samples/advanced/img/steering.png new file mode 100644 index 0000000000..c66d7873d6 Binary files /dev/null and b/samples/advanced/img/steering.png differ diff --git a/samples/advanced/listening-to-SCTE-EMSG-events.html b/samples/advanced/listening-to-SCTE-EMSG-events.html index 4472e7356b..d73ed7fc0a 100644 --- a/samples/advanced/listening-to-SCTE-EMSG-events.html +++ b/samples/advanced/listening-to-SCTE-EMSG-events.html @@ -25,7 +25,7 @@