From 31468a05028ee6cec3993de18cdaa070835b9bf7 Mon Sep 17 00:00:00 2001 From: Dan Coffey Date: Fri, 10 Apr 2026 14:41:34 -0400 Subject: [PATCH 01/15] rebranding callout --- theolive/callouts/_rebranding_notice.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 theolive/callouts/_rebranding_notice.md diff --git a/theolive/callouts/_rebranding_notice.md b/theolive/callouts/_rebranding_notice.md new file mode 100644 index 000000000000..30adcfca9715 --- /dev/null +++ b/theolive/callouts/_rebranding_notice.md @@ -0,0 +1,5 @@ +:::info OptiView Rebranding + +OptiView Live Streaming is the new name for THEOlive Streaming as part of the OptiView product suite. During the transition, you may still see references to THEOlive. OptiView Live and THEOlive refer to the same product. + +::: From 4cdbcc8a3c431ee4c31110cf7a54401ad6c388b7 Mon Sep 17 00:00:00 2001 From: Dan Coffey Date: Fri, 10 Apr 2026 14:42:02 -0400 Subject: [PATCH 02/15] branding callout added to pages --- theolive/getting-started.mdx | 3 ++- theolive/index.mdx | 3 +++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/theolive/getting-started.mdx b/theolive/getting-started.mdx index da0404acdd80..2867f7c8d147 100644 --- a/theolive/getting-started.mdx +++ b/theolive/getting-started.mdx @@ -6,8 +6,9 @@ sidebar_custom_props: description: Create your first stream, from setup to embedding the player. --- -OptiView Live Streaming is the new name for THEOlive Streaming as part of the OptiView product suite. During the transition, you may still see references to THEOlive. OptiView Live and THEOlive refer to the same product. +import RebrandingNotice from '@site/theolive/callouts/_rebranding_notice.md'; + # Getting started This guide walks you through creating your first stream, from setting up an account to embedding the player on your page. diff --git a/theolive/index.mdx b/theolive/index.mdx index 9b5ae138bf94..52ed68c07c5c 100644 --- a/theolive/index.mdx +++ b/theolive/index.mdx @@ -6,6 +6,9 @@ sidebar_position: 1 # OptiView live streaming import SidebarDocCardList from '@site/src/components/SidebarDocCardList'; +import RebrandingNotice from '@site/theolive/callouts/_rebranding_notice.md'; + + OptiView live is a streaming solution perfect for use cases such as live sports, sports betting and interactivity, with support for all kinds of platforms and devices. From 6e9813d839664934a06cb84f8619d2d1c6a66f7e Mon Sep 17 00:00:00 2001 From: Dan Coffey Date: Fri, 10 Apr 2026 14:52:08 -0400 Subject: [PATCH 03/15] naming updates --- theolive/api/full-example.mdx | 2 +- theolive/index.mdx | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/theolive/api/full-example.mdx b/theolive/api/full-example.mdx index c547e6db2d79..4f3fa463d050 100644 --- a/theolive/api/full-example.mdx +++ b/theolive/api/full-example.mdx @@ -224,7 +224,7 @@ This starts all engines on the channel. The channel status will transition throu ## 7. Verify and play -Use the distribution ID to play the stream. With [THEOplayer on web](../playback/optiview-player.mdx): +Use the distribution ID to play the stream. With [OptiView player on web](../playback/optiview-player.mdx): ```javascript player.source = { diff --git a/theolive/index.mdx b/theolive/index.mdx index 52ed68c07c5c..6246cf359287 100644 --- a/theolive/index.mdx +++ b/theolive/index.mdx @@ -17,7 +17,7 @@ The supported streaming protocols are: - **HESP**: Ideal for the 1–5 second latency range, delivering low latency at scale for sports betting and interactive experiences. - **HLS**: An industry standard targeting 8 seconds and up, with broad platform support, ensuring compatibility across a wide range of devices and players. -On these pages, you'll learn how to get started with the THEOlive backend and player, how to use the various features, +On these pages, you'll learn how to get started with the OptiView Live backend and OptiView player, how to use the various features, and explore examples. From 8c8c5cd6d7c066d2bc849781a0f894aea253f97b Mon Sep 17 00:00:00 2001 From: Dan Coffey Date: Fri, 10 Apr 2026 15:05:24 -0400 Subject: [PATCH 04/15] wording changes to getting started --- theolive/getting-started.mdx | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/theolive/getting-started.mdx b/theolive/getting-started.mdx index 2867f7c8d147..cdb19a3a041f 100644 --- a/theolive/getting-started.mdx +++ b/theolive/getting-started.mdx @@ -1,6 +1,7 @@ --- sidebar_position: 2 sidebar_label: Getting started +title: 'Getting started' sidebar_custom_props: icon: 🚀 description: Create your first stream, from setup to embedding the player. @@ -9,7 +10,6 @@ description: Create your first stream, from setup to embedding the player. import RebrandingNotice from '@site/theolive/callouts/_rebranding_notice.md'; -# Getting started This guide walks you through creating your first stream, from setting up an account to embedding the player on your page. @@ -40,7 +40,7 @@ A channel consists of three main components that need to be configured: - **Ingest** — where the media is retrieved from. This is the entry point for your content and multiple protocols are supported like RTMP and SRT. - **Engine** — processes the incoming media, handling transcoding and packaging. -- **Distributions** — different output versions of an engine. Each distribution lets you enable or disable protocols, choose CDNs, and more. +- **Distributions** — different output versions of an engine. Each distribution lets you enable or disable protocols, set security, choose latency targets, and more.
@@ -55,7 +55,7 @@ A channel consists of three main components that need to be configured: Create a new ingest, give it a name, and select the protocol you want to use (RTMP or SRT) and which mode (pull or push). :::tip -You only need a single ingest to start streaming but are free to create multiple ones for redundancy purposes for example. +You only need a single ingest to start streaming but for high availablity and redundancy multiple ingests and engines should be utilized. :::
![Create an ingest](assets/img/create-ingest.png)
@@ -73,7 +73,7 @@ The engine is responsible for transcoding and packaging the incoming media. Crea
-- **Name** — a descriptive name for your engine. +- **Name** — a human-readable, descriptive name for your engine. - **Priority** — determines which engine takes precedence when multiple engines are configured. A lower number means higher priority. - **Ingest** — select which ingest this engine should use as its source. - **Region** — the region where the transcoding takes place. Choose one close to your ingest location. @@ -82,7 +82,7 @@ The engine is responsible for transcoding and packaging the incoming media. Crea - **Enable HESP** — output content in HESP format for low latency delivery. - **Enable HLS** — output content in HLS format for broad platform compatibility. - **Enable HLS MPEG-TS** — output content in HLS MPEG-TS format. Only recommended for very specific platforms that don't support HLS with CMAF segments. This feature needs to be explicitly enabled in your account by an admin and isn't compatible with some other features like DRM. -- **DAI Asset Key** — asset key for OptiView ads. To learn more, contact your Dolby team. +- **DAI Asset Key** — asset key for [OptiView Ads](/ads/getting-started/). To learn more, contact your Dolby team.
@@ -90,20 +90,20 @@ The engine is responsible for transcoding and packaging the incoming media. Crea ### 2.3 Distributions -A distribution represents an output version of an engine. Create a new distribution, give it a name and a connected engine. The default properties are fine to get started, but a lot of properties can be configured: +A distribution represents an output media stream from an engine. Create a new distribution, give it a name and a connected engine. The default properties are fine to get started, but a lot of properties can be configured: ![Configure a distribution](assets/img/configure-distribution.png) - **Endpoints** — the connected engines that feed into this distribution. - **Outputs** — enable or disable streaming protocols (HESP, HLS, HLS MPEG-TS). - **Player** — configure player settings such as target latency and max bitrate. -- **WebRTC** — optional WebRTC configuration for real-time delivery. +- **WebRTC** — optional WebRTC configuration for real-time delivery with [OptiView Real-time streaming](/millicast/getting-started/). - **Overrides** — add custom overrides for specific settings. - **Security** — configure access restrictions including geo blocking, IP blocking, referrer blocking and JWT security. ## 3. Start the channel -When you're all set, you can start your channel from the channel details page by clicking the `Start all` button. This will start all engines at once. Starting your channel means your transcoding time will start counting for billing purposes. +When you're all set, you can start your channel from the channel details page by clicking the `Start all` button. This will start all engines at once. Starting your channel means your transcoding time will start counting for billing purposes, even if a stream is not connected. For advanced use cases such as production updates, you can start and stop individual engines separately. However, for most use cases all engines will be started and stopped at the same time. From 3d37ca3235bb92cf3c8fbddce5b1c1ecbdd0a8df Mon Sep 17 00:00:00 2001 From: Dan Coffey Date: Fri, 10 Apr 2026 15:08:51 -0400 Subject: [PATCH 05/15] millicast to optiview real time callout --- millicast/callouts/_rebranding_notice.md | 5 +++++ millicast/getting-started/index.mdx | 3 +++ millicast/introduction-to-streaming-apis.mdx | 3 +++ 3 files changed, 11 insertions(+) create mode 100644 millicast/callouts/_rebranding_notice.md diff --git a/millicast/callouts/_rebranding_notice.md b/millicast/callouts/_rebranding_notice.md new file mode 100644 index 000000000000..9d48b3eec4fb --- /dev/null +++ b/millicast/callouts/_rebranding_notice.md @@ -0,0 +1,5 @@ +:::info OptiView Rebranding + +Dolby OptiView Real-time Streaming is the new name for Dolby.io Real-time Streaming (Millicast) as part of the OptiView product suite. During the transition, you may still see references to Millicast or Dolby.io. These all refer to the same product. + +::: diff --git a/millicast/getting-started/index.mdx b/millicast/getting-started/index.mdx index b46eed52bd37..281e5962c3e5 100644 --- a/millicast/getting-started/index.mdx +++ b/millicast/getting-started/index.mdx @@ -4,6 +4,9 @@ slug: /getting-started --- import DocCard from '@theme/DocCard'; +import RebrandingNotice from '@site/millicast/callouts/_rebranding_notice.md'; + + # Getting started with Millicast diff --git a/millicast/introduction-to-streaming-apis.mdx b/millicast/introduction-to-streaming-apis.mdx index 0e0f2977686b..125e06154ef4 100644 --- a/millicast/introduction-to-streaming-apis.mdx +++ b/millicast/introduction-to-streaming-apis.mdx @@ -6,6 +6,9 @@ sidebar_position: 10 # Introduction to Streaming APIs import DocCard from '@theme/DocCard'; +import RebrandingNotice from '@site/millicast/callouts/_rebranding_notice.md'; + + Dolby.io Streaming APIs were created to make it easier to stream your high-value content at scale with ultra-low latency. From 2c6dc49e000be4af83bd77e7311e9b63ab9abe98 Mon Sep 17 00:00:00 2001 From: Dan Coffey Date: Fri, 10 Apr 2026 15:26:27 -0400 Subject: [PATCH 06/15] ads branding updates from theo to optiview --- ads/getting-started/android.mdx | 6 +++--- ads/getting-started/chromecast.mdx | 8 ++++---- ads/getting-started/ios.mdx | 6 +++--- ads/getting-started/react-native.mdx | 6 +++--- ads/getting-started/web.mdx | 8 ++++---- ads/how-to-guides/ad-impressions.md | 4 ++-- ads/index.mdx | 2 +- 7 files changed, 20 insertions(+), 20 deletions(-) diff --git a/ads/getting-started/android.mdx b/ads/getting-started/android.mdx index 18a784b5a8bc..b500d32d4cd3 100644 --- a/ads/getting-started/android.mdx +++ b/ads/getting-started/android.mdx @@ -6,16 +6,16 @@ sidebar_custom_props: { 'icon': 'android' } # Getting started with OptiView Ads on Android -This guide will get you started to integrate OptiView Ads in your THEOplayer Android SDK: configure the license, update dependencies and set the source description. +This guide will get you started to integrate OptiView Ads in your OptiView Player Android SDK: configure the license, update dependencies and set the source description. ## Prerequisites import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; -1. You need to have a THEOplayer license which is compatible with OptiView Ads. This can be done through the [player portal](https://portal.theoplayer.com). +1. You need to have an OptiView Player license which is compatible with OptiView Ads. This can be done through the [player portal](https://portal.theoplayer.com). 2. You need a correctly deployed [OptiView Ads signaling service](signaling-service.mdx). -3. Add the THEOplayer Android SDK to your project by following our [Getting started](/theoplayer/getting-started/sdks/android/getting-started) guide. Make sure to [set up a OptiView Ads-compatible license](/theoplayer/getting-started/sdks/android/getting-started/#setting-up-the-license) in your app. +3. Add the OptiView Player Android SDK to your project by following our [Getting started](/theoplayer/getting-started/sdks/android/getting-started) guide. Make sure to [set up a OptiView Ads-compatible license](/theoplayer/getting-started/sdks/android/getting-started/#setting-up-the-license) in your app. 4. Add the OptiView Ads integration as a dependency in your module-level `build.gradle` file: diff --git a/ads/getting-started/chromecast.mdx b/ads/getting-started/chromecast.mdx index b82ce0a738ac..8add195e9f11 100644 --- a/ads/getting-started/chromecast.mdx +++ b/ads/getting-started/chromecast.mdx @@ -6,16 +6,16 @@ sidebar_custom_props: { 'icon': 'web' } # Getting started with OptiView Ads on Chromecast CAF -This guide will get you started with OptiView Ads using the THEOplayer Chromecast CAF SDK. +This guide will get you started with OptiView Ads using the OptiView Player Chromecast CAF SDK. ! NOTE: Currently the Chromecast CAF SDK only supports image overlays from OptiView Ads. ## Prerequisites -1. You need to have a THEOplayer license which is compatible with OptiView Ads. This can be done through the [player portal](https://portal.theoplayer.com). +1. You need to have an OptiView Player license which is compatible with OptiView Ads. This can be done through the [player portal](https://portal.theoplayer.com). 2. You need a correctly deployed [OptiView Ads signaling service](signaling-service.mdx). 3. Your THEOplayer SDK needs to have the `theoads` feature enabled. - As of THEOplayer version 8.2.0, this feature is enabled by default in the main `theoplayer` package so we recommend to use at least this version, preferable the latest available version. + As of OptiView Player version 8.2.0, this feature is enabled by default in the main `theoplayer` package so we recommend to use at least this version, preferable the latest available version. You can install this package with the following command: ```bash @@ -29,7 +29,7 @@ This guide will get you started with OptiView Ads using the THEOplayer Chromecas ### Configuring the Chromecast receiver OptiView Ads is supported using the default Chromecast Shaka player for HLS on Chromecast CAF. To enable this, before starting the Chromecast application, configure it to use Shaka. -Also, you need to load the THEOplayer Chromecast CAF SDK. +Also, you need to load the OptiView Player Chromecast CAF SDK. Here is an example of a bare-bones CAF receiver app you can use as a starting point for basic playback without any custom UI: diff --git a/ads/getting-started/ios.mdx b/ads/getting-started/ios.mdx index e4909b397b30..30fe95be0373 100644 --- a/ads/getting-started/ios.mdx +++ b/ads/getting-started/ios.mdx @@ -6,16 +6,16 @@ sidebar_custom_props: { 'icon': 'apple' } # Getting started with OptiView Ads on iOS -This guide will get you started to integrate OptiView Ads in your THEOplayer iOS SDK: configure the license, update dependencies and set the source description. +This guide will get you started to integrate OptiView Ads in your OptiView Player iOS SDK: configure the license, update dependencies and set the source description. ## Prerequisites import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; -1. You need to have a THEOplayer license which is compatible with OptiView Ads. This can be done through the [player portal](https://portal.theoplayer.com). +1. You need to have an OptiView Player license which is compatible with OptiView Ads. This can be done through the [player portal](https://portal.theoplayer.com). 2. You need a correctly deployed [OptiView Ads signaling service](signaling-service.mdx). -3. Add the THEOplayer iOS SDK to your project by following our [Getting started](/theoplayer/getting-started/sdks/ios/getting-started) guide. Make sure to [set up a OptiView Ads-compatible license](/theoplayer/getting-started/sdks/ios/getting-started/#theoplayer-license) in your app. +3. Add the OptiView Player iOS SDK to your project by following our [Getting started](/theoplayer/getting-started/sdks/ios/getting-started) guide. Make sure to [set up a OptiView Ads-compatible license](/theoplayer/getting-started/sdks/ios/getting-started/#theoplayer-license) in your app. 4. Add the OptiView Ads integration as a dependency to your project: diff --git a/ads/getting-started/react-native.mdx b/ads/getting-started/react-native.mdx index 745a04e344e2..85f2ae3bf00e 100644 --- a/ads/getting-started/react-native.mdx +++ b/ads/getting-started/react-native.mdx @@ -6,14 +6,14 @@ sidebar_custom_props: { 'icon': 'react' } # Getting started with OptiView Ads on React Native -This guide will get you started with OptiView Ads in your THEOplayer React Native SDK: configure the license, update dependencies and set the source description. +This guide will get you started with OptiView Ads in your OptiView Player React Native SDK: configure the license, update dependencies and set the source description. ## Prerequisites import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; -1. You need to have a THEOplayer license which is compatible with OptiView Ads. This can be done through the [player portal](https://portal.theoplayer.com). +1. You need to have an OptiView Player license which is compatible with OptiView Ads. This can be done through the [player portal](https://portal.theoplayer.com). 2. You need a correctly deployed [OptiView Ads signaling service](signaling-service.mdx). 3. Enable the OptiView Ads integration based on the target platform: @@ -46,7 +46,7 @@ import TabItem from '@theme/TabItem'; ## Integration -This guide assumes you know how to set up React Native with THEOplayer. +This guide assumes you know how to set up React Native with OptiView Player. For more information regarding this check out the [THEOplayer getting started](/theoplayer/getting-started/frameworks/react-native/getting-started/). ### Player configuration diff --git a/ads/getting-started/web.mdx b/ads/getting-started/web.mdx index 8e7b809c8745..ab5d5c0e300d 100644 --- a/ads/getting-started/web.mdx +++ b/ads/getting-started/web.mdx @@ -6,15 +6,15 @@ sidebar_custom_props: { 'icon': 'web' } # Getting started with OptiView Ads on Web -This guide will get you started with OptiView Ads in your THEOplayer Web SDK: configure the license, update dependencies and set the source description. +This guide will get you started with OptiView Ads in your OptiView Player Web SDK: configure the license, update dependencies and set the source description. ## Prerequisites -1. You need to have a THEOplayer license which is compatible with OptiView Ads. This can be done through the [player portal](https://portal.theoplayer.com). +1. You need to have an OptiView Player license which is compatible with OptiView Ads. This can be done through the [player portal](https://portal.theoplayer.com). 2. You need a correctly deployed [OptiView Ads signaling service](signaling-service.mdx). 3. Your THEOplayer SDK needs to have the `theoads` feature enabled. - As of THEOplayer version 8.2.0, this feature is enabled by default in the main `theoplayer` package so we recommend to use at least this version, preferable the latest available version. + As of OptiView Player version 8.2.0, this feature is enabled by default in the main `theoplayer` package so we recommend to use at least this version, preferable the latest available version. You can install this package with the following command: ```bash @@ -23,7 +23,7 @@ This guide will get you started with OptiView Ads in your THEOplayer Web SDK: co ## Integration -This guide assumes you know how to set up THEOplayer. For more information regarding this, check out the [THEOplayer getting started](/theoplayer/getting-started/sdks/web/getting-started/). +This guide assumes you know how to set up OptiView Player. For more information regarding this, check out the [THEOplayer getting started](/theoplayer/getting-started/sdks/web/getting-started/). ### Google DAI library diff --git a/ads/how-to-guides/ad-impressions.md b/ads/how-to-guides/ad-impressions.md index b8af784831ec..0eb26f798c83 100644 --- a/ads/how-to-guides/ad-impressions.md +++ b/ads/how-to-guides/ad-impressions.md @@ -12,11 +12,11 @@ The ad impression is beaconed simultaneously with the firing of the player's `ad ## Information tracked -The information passed only contains an identifier of the THEOplayer license build so the impressions are linked to the customer. It also includes the ad experience type. +The information passed only contains an identifier of the OptiView Player license build so the impressions are linked to the customer. It also includes the ad experience type. No information about the viewers is passed along. ## View my impression usage -You can view your ad impressions on the portal dashboard underneath the THEOplayer license impressions. +You can view your ad impressions on the portal dashboard underneath the OptiView Player license impressions. ![Portal dashboard](../assets/img/impressions.png) diff --git a/ads/index.mdx b/ads/index.mdx index c91f8141f1a0..ce30f90e27b4 100644 --- a/ads/index.mdx +++ b/ads/index.mdx @@ -39,7 +39,7 @@ To ensure high availability, we recommend maintaining the original origin stream OptiView Ads is tightly integrated with [Google Ad Manager](https://developers.google.com/ad-manager/dynamic-ad-insertion 'Google DAI') for ad decisioning, transcoding, and serving, ensuring a streamlined process for ad delivery and management. -OptiView Ads enables innovative ad formats through THEOplayer, providing new ways to monetize content in a less intrusive manner. The out-of-the-box formats include, but are not limited to: +OptiView Ads enables innovative ad formats through OptiView Player, providing new ways to monetize content in a less intrusive manner. The out-of-the-box formats include, but are not limited to: - **Default Full Screen Ad Insertion**: Replaces the content with an advertisement. - **Double Box**: Allows content to continue playing side-by-side with an advertisement and its companion background. From ecad89e004ca9bbbe0774e103b5c69fcc88a6e1a Mon Sep 17 00:00:00 2001 From: Dan Coffey Date: Fri, 10 Apr 2026 15:51:02 -0400 Subject: [PATCH 07/15] language to unify millicast and dolby.io to OptiView Real-time --- millicast/analytics/index.md | 18 ++++++------ .../broadcast/hardware-encoders/elgato.mdx | 2 +- .../broadcast/hardware-encoders/haivision.mdx | 6 ++-- .../broadcast/hardware-encoders/index.mdx | 2 +- .../broadcast/hardware-encoders/magewell.mdx | 12 ++++---- .../broadcast/hardware-encoders/osprey.mdx | 12 ++++---- .../broadcast/hardware-encoders/teradek.mdx | 10 +++---- .../broadcast/hardware-encoders/videon.mdx | 6 ++-- millicast/broadcast/index.mdx | 28 +++++++++---------- .../broadcast/multi-source-broadcasting.mdx | 2 +- millicast/broadcast/ndi.md | 22 +++++++-------- millicast/broadcast/publishing-parameters.md | 2 +- .../broadcast/redundant-ingest/index.mdx | 6 ++-- millicast/broadcast/rtmp-and-rtmps.mdx | 10 +++---- millicast/broadcast/rtsp.mdx | 10 +++---- .../software-encoders/flowcaster.mdx | 12 ++++---- .../broadcast/software-encoders/gstreamer.mdx | 16 +++++------ .../broadcast/software-encoders/index.mdx | 4 +-- .../software-encoders/liveu-studio.mdx | 12 ++++---- .../broadcast/software-encoders/obs/index.mdx | 10 +++---- .../broadcast/software-encoders/vmix.mdx | 6 ++-- .../broadcast/software-encoders/zoom.mdx | 10 +++---- millicast/broadcast/srt.mdx | 12 ++++---- .../using-native-sdk-ingest-raw-frames.md | 2 +- millicast/broadcast/webrtc-and-whip.mdx | 20 ++++++------- millicast/callouts/_rebranding_notice.md | 2 +- millicast/capture/360-cameras.mdx | 16 +++++------ millicast/capture/action-cameras.mdx | 20 ++++++------- millicast/capture/index.mdx | 8 +++--- .../capture/live-streaming-from-drones.mdx | 12 ++++---- millicast/capture/production-cameras.mdx | 12 ++++---- millicast/capture/screensharing.mdx | 10 +++---- millicast/capture/web-cameras.mdx | 10 +++---- .../access-control/allowed-origins.md | 10 +++---- .../access-control/geo-blocking.mdx | 4 +-- .../distribution/access-control/index.md | 4 +-- millicast/distribution/cloud-transcoder.mdx | 4 +-- millicast/distribution/index.mdx | 14 +++++----- .../multi-region-support/index.mdx | 10 +++---- .../how-to-setup-media-storage.md | 4 +-- .../stream-recordings/start-recording.mdx | 8 +++--- millicast/distribution/syndication.mdx | 12 ++++---- .../distribution/using-webrtc-simulcast.mdx | 4 +-- .../creating-real-time-streaming-web-app.mdx | 8 +++--- millicast/getting-started/index.mdx | 10 +++---- millicast/getting-started/using-rest-apis.mdx | 16 +++++------ .../getting-started/using-the-dashboard.mdx | 8 +++--- millicast/introduction-to-streaming-apis.mdx | 18 ++++++------ millicast/platform-requirements/index.md | 2 +- millicast/playback/audience-engagement.md | 2 +- millicast/playback/audio-multiplexing.md | 10 +++---- millicast/playback/frame-metadata.md | 2 +- .../playback/hosted-player/customization.md | 2 +- millicast/playback/hosted-player/index.md | 2 +- millicast/playback/index.mdx | 8 +++--- millicast/playback/ipv6-support.md | 2 +- millicast/playback/multi-view.md | 24 ++++++++-------- .../samples/sample-apps-android-viewer.mdx | 6 ++-- .../sdk/getting-started-with-publishing.md | 4 +-- .../players-sdks/android/sdk/index.mdx | 4 +-- .../getting-started-with-publishing.md | 8 +++--- .../getting-started-with-subscribing.md | 4 +-- .../playback/players-sdks/desktop/index.mdx | 2 +- .../playback/players-sdks/flutter/index.mdx | 6 ++-- .../ios/samples/sample-apps-ios-viewer.mdx | 6 ++-- .../sdk/getting-started-with-publishing.md | 2 +- .../sdk/getting-started-with-subscribing.md | 2 +- .../playback/players-sdks/ios/sdk/index.mdx | 4 +-- .../players-sdks/react-native/index.mdx | 4 +-- .../playback/players-sdks/viewer-events.md | 8 +++--- .../web/samples/sample-apps-react.mdx | 6 ++-- .../playback/players-sdks/web/sdk/index.mdx | 2 +- .../playback/securing-stream-playback.md | 18 ++++++------ .../playback/source-and-layer-selection.md | 14 +++++----- .../how-to-broadcast-in-dashboard.mdx | 4 +-- millicast/streaming-dashboard/index.mdx | 18 ++++++------ .../managing-your-tokens.mdx | 12 ++++---- .../multi-source-builder.mdx | 4 +-- .../streaming-dashboard/subscribe-tokens.mdx | 12 ++++---- millicast/streaming-dashboard/token-api.mdx | 4 +-- millicast/webhooks/index.mdx | 6 ++-- millicast/webhooks/thumbnail.mdx | 6 ++-- theoplayer/callouts/_rebranding_notice.md | 5 ++++ theoplayer/getting-started/index.mdx | 6 +++- theoplayer/index.mdx | 5 +++- 85 files changed, 362 insertions(+), 350 deletions(-) create mode 100644 theoplayer/callouts/_rebranding_notice.md diff --git a/millicast/analytics/index.md b/millicast/analytics/index.md index 387e9967ec41..3b5b03080a03 100644 --- a/millicast/analytics/index.md +++ b/millicast/analytics/index.md @@ -3,7 +3,7 @@ title: Analytics APIs slug: /analytics-api --- -The Analytics APIs allow you to query your usage independent of the Dolby.io dashboard and get details of how your users are consuming your streams. +The Analytics APIs allow you to query your usage independent of the OptiView Streaming Dashboard and get details of how your users are consuming your streams. To access the analytics APIs you must have an API token. To learn more on how to get your API token, please read the following article [Acquiring Your API Token](/millicast/streaming-dashboard/token-api.mdx). @@ -19,11 +19,11 @@ A breakdown of per-stream data is also only available within a 7 day window. Thi To query for a particular month’s data, the API requires the date range to be from **day 1** of the month in question to **day 1** of the next month. An example of the query would look like this: startDate=2021-**01-01**&stopDate=2021-**02-01**&resolution=**Month**. This query would return the total bandwidth usage for the month of January 2021. -It is advised that you save your Daily and Hourly data if you feel that you would need it beyond the 365 and 7 day retention provided by Dolby.io Real-time Streaming. +It is advised that you save your Daily and Hourly data if you feel that you would need it beyond the 365 and 7 day retention provided by OptiView Real-time Streaming. Wildcards -The Dolby.io Real-time Streaming publisher token provides a Wildcard option which allows you to use an arbitrary stream name on-the-fly, rather than specifying the stream name in advance. This is beneficial if you are dynamically generating streams and are not sure how many streams you will need to generate or which names you will need to use. Because queries for stream analytics require a stream name, it is important for you to keep track of which stream names are being used if you would later like to query the analytics data for these individual streams. +The OptiView Real-time Streaming publisher token provides a Wildcard option which allows you to use an arbitrary stream name on-the-fly, rather than specifying the stream name in advance. This is beneficial if you are dynamically generating streams and are not sure how many streams you will need to generate or which names you will need to use. Because queries for stream analytics require a stream name, it is important for you to keep track of which stream names are being used if you would later like to query the analytics data for these individual streams. ## Basic call structure @@ -33,11 +33,11 @@ In this example we want to query the API to get usage information for our entire ## Example tutorial: JS / Nodejs -In the following example, we will use the Analytics APIs to query a Dolby.io Real-time Streaming account for a date range of usage and display it in a graph using Google Charts (see: https://developers.google.com/chart/interactive/docs/gallery/areachart) +In the following example, we will use the Analytics APIs to query an OptiView Real-time Streaming account for a date range of usage and display it in a graph using Google Charts (see: https://developers.google.com/chart/interactive/docs/gallery/areachart) Before proceeding we assume you are familiar with Nodejs and have some familiarity with Google Charts. For this example we used a Nodejs server version 12.19 (the latest stable version as of February 2021). -As with all API calls to our platform you must have your API token ready, you can find this in your Dolby.io dashboard. +As with all API calls to our platform you must have your API token ready, you can find this in your OptiView Streaming Dashboard. Let's start by creating a new Nodejs project: @@ -57,7 +57,7 @@ const startUTC = '2020-08-01'; // UTC year-month-day const stopUTC = '2021-01-01'; const token = '__TOKEN__'; -// Dolby.io Real-time Streaming request details +// OptiView Real-time Streaming request details const options = { hostname: 'api.millicast.com', path: '/api/analytics/account/series?startDate=' + startUTC + '&stopDate=' + stopUTC + '&resolution=Month', @@ -105,7 +105,7 @@ https.createServer({ key: fs.readFileSync('ssl/key.pem'), cert: fs.readFileSync( console.log('running! see port https://localhost:' + port + '/usage'); ``` -In this example we use the standard Express module along with the built in HTTPS module to handle secure requests coming from the client HTML side and for calls going out to the Dolby.io Real-time Streaming from the server. This example uses openssl self-signed certificates to satisfy the key and conf requirement in the HTTPS module on Nodejs. We are testing locally so we run a simple local web server from the Visual Studio Code editor to do the calls over HTTPS locally (https://localhost:8443/). In this case, you would only need to bypass the browser warning that comes up to access your HTML file. +In this example we use the standard Express module along with the built in HTTPS module to handle secure requests coming from the client HTML side and for calls going out to the OptiView Real-time Streaming from the server. This example uses openssl self-signed certificates to satisfy the key and conf requirement in the HTTPS module on Nodejs. We are testing locally so we run a simple local web server from the Visual Studio Code editor to do the calls over HTTPS locally (https://localhost:8443/). In this case, you would only need to bypass the browser warning that comes up to access your HTML file. The express **"get"** method handles the request call to the API when the HTML user makes calls via the "/usage" path specified in the method. The path here is an arbitrary label, feel free to use whatever path name you prefer, just remember the call on the HTML counterpart has to match the path. @@ -189,7 +189,7 @@ First open your editor and create a blank html file, save it as index.html. In y let data = google.visualization.arrayToDataTable(o); let opt = { - title: 'Dolby.io Real-time Streaming Usage', + title: 'OptiView Real-time Streaming Usage', hAxis: {title: 'Month', titleTextStyle: {color: '#333'}}, vAxis: {minValue: 0} }; @@ -496,7 +496,7 @@ Notice, the data sent to the server is in the same format that is expected on th ## Viewers per stream -Calculating the viewers per stream (daily or hourly), which region they viewed from, and how much bandwidth they consumed is a straightforward process. Navigate to the Dolby.io API reference and select the [Analytics Streams Geo Series API](/millicast/api/analytics-streams-geo-series). Add your startDate, stopDate, resolution, and streamName. Additionally, in the top right corner, add your API Secret key found in the [Settings Tab](../streaming-dashboard/index.mdx#settings) of the dashboard. Once all the fields have correct values click the `Try It!` button to get your data. +Calculating the viewers per stream (daily or hourly), which region they viewed from, and how much bandwidth they consumed is a straightforward process. Navigate to the OptiView API reference and select the [Analytics Streams Geo Series API](/millicast/api/analytics-streams-geo-series). Add your startDate, stopDate, resolution, and streamName. Additionally, in the top right corner, add your API Secret key found in the [Settings Tab](../streaming-dashboard/index.mdx#settings) of the dashboard. Once all the fields have correct values click the `Try It!` button to get your data. > 🚧 Get your data before it expires! > diff --git a/millicast/broadcast/hardware-encoders/elgato.mdx b/millicast/broadcast/hardware-encoders/elgato.mdx index f68d347ed960..267b7b9eb984 100644 --- a/millicast/broadcast/hardware-encoders/elgato.mdx +++ b/millicast/broadcast/hardware-encoders/elgato.mdx @@ -92,7 +92,7 @@ import Elgato7 from '../../assets/img/hardware-encoders/elgato_7.png'; -Concurrently, the actions can be seen through Dolby.io Streaming dashboard\*. Visit the stream token, and under the Publishing tab, copy in a new tab the Hosted Player Path URL\*\*. +Concurrently, the actions can be seen through OptiView Real-time Streaming dashboard\*. Visit the stream token, and under the Publishing tab, copy in a new tab the Hosted Player Path URL\*\*. \*Note: OBS needs to have the stream token configured for this step to be possible. Visit the [dedicated OBS guide](/millicast/broadcast/software-encoders/obs/index.mdx) on how to set up a WebRTC stream. diff --git a/millicast/broadcast/hardware-encoders/haivision.mdx b/millicast/broadcast/hardware-encoders/haivision.mdx index 0234dd3bd0bb..550465d4183d 100644 --- a/millicast/broadcast/hardware-encoders/haivision.mdx +++ b/millicast/broadcast/hardware-encoders/haivision.mdx @@ -14,7 +14,7 @@ See the official [Haivision](https://www.haivision.com/) site for documentation, ### How to use Haivision Makito X4 encoder with SRT -To get started, log into your [Dolby.io Streaming Account](https://dashboard.dolby.io/signin). +To get started, log into your [OptiView Real-time Streaming Account](https://dashboard.dolby.io/signin). 1. Select **Live Broadcast** from the left menu. @@ -45,7 +45,7 @@ To get started, log into your [Dolby.io Streaming Account](https://dashboard.dol If you haven't already, begin by following the [Getting Started](/millicast/getting-started/index.mdx) tutorial to start your first broadcast. You'll need your _RTMP publish path_ and _RTMP publish stream name_ for the steps described below. ::: -To get started, log into your [Dolby.io Streaming Account](https://dashboard.dolby.io/signin). Enter your KB web interface, switch views to the Channel Control Center, and create a new channel. +To get started, log into your [OptiView Real-time Streaming Account](https://dashboard.dolby.io/signin). Enter your KB web interface, switch views to the Channel Control Center, and create a new channel. Follow the Create Channel Wizard prompts to create a channel as normal: @@ -53,7 +53,7 @@ Follow the Create Channel Wizard prompts to create a channel as normal: 2. Identify your live source for the channel input. 3. Choose RTMP for the channel output and copy the RTMP publish path from the _Publishing_ tab of the stream token. RTMP URL: `rtmp://rtmp-auto.millicast.com:1935/v2/pub` -4. Enter the RTMP publish stream name from your Dolby.io Streaming Dashboard. +4. Enter the RTMP publish stream name from your OptiView Real-time Streaming Dashboard. Stream Name: `myStreamName?token=3bc330607a15a0ecebebd8c9ee2a559fd143c937174bd276e213a96425bb107e` With the broadcast credentials set up, the stream is ready to go live. To view the stream, navigate back to your newly created token and switch to the _Playback_ tab. From the Playback tab, copy the _Hosted Player path_ URL and open it in your browser. diff --git a/millicast/broadcast/hardware-encoders/index.mdx b/millicast/broadcast/hardware-encoders/index.mdx index bd1ac7a917be..112a2fd1a3ee 100644 --- a/millicast/broadcast/hardware-encoders/index.mdx +++ b/millicast/broadcast/hardware-encoders/index.mdx @@ -6,7 +6,7 @@ slug: /hardware-encoders import DocCardList from '@theme/DocCardList'; -In today's digital landscape, the demand for real-time streaming content has skyrocketed, prompting broadcasters and video creators to prioritize the efficient delivery of high-quality video and audio streams. Hardware-based encoders play a crucial role in this process with their offerings of superior encoding capabilities and seamless transmission. Needless to say, workflows don't have to be interrupted in order to better a stream. Using the Dolby.io Streaming API protocols like [SRT](/millicast/broadcast/srt.mdx), [NDI](/millicast/broadcast/ndi.md), and [WHIP](/millicast/broadcast/webrtc-and-whip.mdx) can be ingested directly from the encoders like [Teradek](teradek.mdx), [Osprey](osprey.mdx), and [Videon](videon.mdx) and distributed in WebRTC. +In today's digital landscape, the demand for real-time streaming content has skyrocketed, prompting broadcasters and video creators to prioritize the efficient delivery of high-quality video and audio streams. Hardware-based encoders play a crucial role in this process with their offerings of superior encoding capabilities and seamless transmission. Needless to say, workflows don't have to be interrupted in order to better a stream. Using the OptiView Real-time Streaming API protocols like [SRT](/millicast/broadcast/srt.mdx), [NDI](/millicast/broadcast/ndi.md), and [WHIP](/millicast/broadcast/webrtc-and-whip.mdx) can be ingested directly from the encoders like [Teradek](teradek.mdx), [Osprey](osprey.mdx), and [Videon](videon.mdx) and distributed in WebRTC. ## Integration guides diff --git a/millicast/broadcast/hardware-encoders/magewell.mdx b/millicast/broadcast/hardware-encoders/magewell.mdx index d537ef7f0b35..026c608b99d7 100644 --- a/millicast/broadcast/hardware-encoders/magewell.mdx +++ b/millicast/broadcast/hardware-encoders/magewell.mdx @@ -3,7 +3,7 @@ title: Magewell slug: /hardware-encoders/magewell --- -[Magewell](https://www.magewell.com/) is a leading encoder manufacturer that supports connecting to the Dolby.io Real-time Streaming Service for broadcasting real-time streams. This guide outlines a number of different options for broadcasting streams from a Magewell device to the Dolby.io servers. +[Magewell](https://www.magewell.com/) is a leading encoder manufacturer that supports connecting to the OptiView Real-time Streaming Service for broadcasting real-time streams. This guide outlines a number of different options for broadcasting streams from a Magewell device to the OptiView Real-time servers. :::tip Getting Started If you haven't already, begin by following the [Getting Started](/millicast/getting-started/index.mdx) tutorial to start your first broadcast. You'll need your _RTMP publish path_ and _RTMP publish stream name_ for the steps described below. @@ -13,7 +13,7 @@ See the official [Magewell site](https://www.magewell.com/support-contacts) for ## Using the Ultra Encode to broadcast RTMP -The [Magewell Ultra Encode](https://www.magewell.com/ultra-encode) supports broadcasting RTMP streams, which can be ingested by the Dolby.io Real-time Streaming service. +The [Magewell Ultra Encode](https://www.magewell.com/ultra-encode) supports broadcasting RTMP streams, which can be ingested by the OptiView Real-time Streaming service. To begin, first power on your Ultra Encode, connect it to the internet (Ethernet or WiFi), and connect your video capture device. Once connected, [log in](https://www.magewell.com/files/documents/User_Manual/ultra_encode_user_manual_en.pdf) to the Ultra Encode dashboard and navigate to the `Streaming Server` tab on the left side panel. Inside of `Streaming Server` click the `+ Add Server` button and select `RTMP`. @@ -23,7 +23,7 @@ import RtmpMagewell from '../../assets/img/hardware-encoders/rmtp-magewell.png'; -Next, navigate to your [Dolby.io Dashboard](https://dashboard.dolby.io/signin) and [gather your RTMP token credentials](/millicast/broadcast/rtmp-and-rtmps.mdx#how-to-find-your-rtmp-publish-url). Add the `RTMP publish path` from your Dolby.io Dashboard to the `URL`, and add your `RTMP Publish Stream Name`, also from the Dolby.io dashboard, to the `Stream key`. +Next, navigate to your [OptiView Streaming Dashboard](https://dashboard.dolby.io/signin) and [gather your RTMP token credentials](/millicast/broadcast/rtmp-and-rtmps.mdx#how-to-find-your-rtmp-publish-url). Add the `RTMP publish path` from your OptiView Streaming Dashboard to the `URL`, and add your `RTMP Publish Stream Name`, also from the OptiView Streaming Dashboard, to the `Stream key`. Finally, select which network you'd like the encoder to use to connect, and save the settings. @@ -51,7 +51,7 @@ import ConnectMagewellStream from '../../assets/img/hardware-encoders/connect-ma ## Using the Ultra Encode to broadcast SRT -The [Magewell Ultra Encode](https://www.magewell.com/ultra-encode) supports broadcasting SRT streams, which can be ingested by the Dolby.io Real-time Streaming service. +The [Magewell Ultra Encode](https://www.magewell.com/ultra-encode) supports broadcasting SRT streams, which can be ingested by the OptiView Real-time Streaming service. To begin, first power on your Ultra Encode, connect it to the internet (Ethernet or WiFi), and connect your video capture device. Once connected, [log in](https://www.magewell.com/files/documents/User_Manual/ultra_encode_user_manual_en.pdf) to the Ultra Encode dashboard and navigate to the `Streaming Server` tab on the left side panel. Inside of `Streaming Server` click the `+ Add Server` button and select `SRT Caller`. @@ -61,7 +61,7 @@ import SrtCaller from '../../assets/img/hardware-encoders/srt-caller.png'; -Next, navigate to your [Dolby.io Dashboard](https://dashboard.dolby.io/signin) and [gather your SRT token credentials](/millicast/broadcast/srt.mdx). Add the `SRT publish path` from your Dolby.io Dashboard to the `Address`, set the `Port` to `10000`, and add your `SRT Stream ID`, also from the Dolby.io dashboard, to the `Stream ID`. +Next, navigate to your [OptiView Streaming Dashboard](https://dashboard.dolby.io/signin) and [gather your SRT token credentials](/millicast/broadcast/srt.mdx). Add the `SRT publish path` from your OptiView Streaming Dashboard to the `Address`, set the `Port` to `10000`, and add your `SRT Stream ID`, also from the OptiView Streaming Dashboard, to the `Stream ID`. import SrtSetup from '../../assets/img/hardware-encoders/srt-setup.png'; @@ -69,7 +69,7 @@ import SrtSetup from '../../assets/img/hardware-encoders/srt-setup.png'; -Additionally, if you have `Passphrase encryption` enabled on the Dolby.io Dashboard, you can enable it on the encoder side by setting `Encryption` to `AES-128`. +Additionally, if you have `Passphrase encryption` enabled on the OptiView Streaming Dashboard, you can enable it on the encoder side by setting `Encryption` to `AES-128`. Once saved, make sure the stream is activated by toggling the server switch on the `Streaming Server` page. diff --git a/millicast/broadcast/hardware-encoders/osprey.mdx b/millicast/broadcast/hardware-encoders/osprey.mdx index 2caf79267194..7c8f20eda312 100644 --- a/millicast/broadcast/hardware-encoders/osprey.mdx +++ b/millicast/broadcast/hardware-encoders/osprey.mdx @@ -43,9 +43,9 @@ import OspreyTalon3 from '../../assets/img/hardware-encoders/osprey_login.jpeg'; ### How-to use Osprey Talon with WHIP -To get started, you'll have to [login](https://streaming.dolby.io) to a Dolby.io account. Within the account, you'll need the _Stream Name_ and _Publishing Token_. +To get started, you'll have to [login](https://streaming.dolby.io) to a OptiView Real-time account. Within the account, you'll need the _Stream Name_ and _Publishing Token_. -Inside the encoder UI, click on the _Channels_ tab. From the Channels tab, set the protocol to Dolby.io (WebRTC). Enter your Stream Name and Publishing Token in the corresponding fields. +Inside the encoder UI, click on the _Channels_ tab. From the Channels tab, set the protocol to OptiView (WebRTC). Enter your Stream Name and Publishing Token in the corresponding fields. import WhipOsprey from '../../assets/img/hardware-encoders/osprey_talon_whip.png'; @@ -61,11 +61,11 @@ import OspreyBroadcast from '../../assets/img/hardware-encoders/osprey_broadcast -The stream is now live. To view the stream, navigate back to your newly created token on the Dolby.io Dashboard and switch to the _Playback_ tab. From the Playback tab, copy the _Hosted Player Path_ URL and open it in your browser. +The stream is now live. To view the stream, navigate back to your newly created token on the OptiView Streaming Dashboard and switch to the _Playback_ tab. From the Playback tab, copy the _Hosted Player Path_ URL and open it in your browser. ### How-to use Osprey Talon with SRT -To get started, you'll have to [login](https://streaming.dolby.io) to a Dolby.io account. Within the account, you'll need the _SRT stream ID_ and _SRT publish path_. +To get started, you'll have to [login](https://streaming.dolby.io) to a OptiView Real-time account. Within the account, you'll need the _SRT stream ID_ and _SRT publish path_. Inside the encoder UI, click on the _Channels_ tab. From the Channels tab, set the protocol to **TS over SRT**. @@ -82,7 +82,7 @@ Once configured, you can press start and the encoder will begin streaming conten #### Turn on SRT encryption -To enable SRT encryption for the SRT feed, in the Dolby.io dashboard for your stream token, enable **Passphrase encryption** and copy the **SRT passphrase**. +To enable SRT encryption for the SRT feed, in the OptiView Streaming Dashboard for your stream token, enable **Passphrase encryption** and copy the **SRT passphrase**. import StrPassphrase from '../../assets/img/hardware-encoders/osprey_srt_passphrase.png'; @@ -102,7 +102,7 @@ Once configured, you can press start and the encoder will begin streaming conten ### How-to use Osprey Talon with RTMP -To get started, you'll have to [login](https://streaming.dolby.io) to a Dolby.io account. Within the account, you'll need the _RTMP publish path_ and _RTMP publish stream name_. +To get started, you'll have to [login](https://streaming.dolby.io) to a OptiView Real-time account. Within the account, you'll need the _RTMP publish path_ and _RTMP publish stream name_. Inside the encoder UI, click on the _Channels_ tab. From the Channels tab, set the protocol to **RTMP/RTMPS**. diff --git a/millicast/broadcast/hardware-encoders/teradek.mdx b/millicast/broadcast/hardware-encoders/teradek.mdx index 6198621d248e..2524dab2f404 100644 --- a/millicast/broadcast/hardware-encoders/teradek.mdx +++ b/millicast/broadcast/hardware-encoders/teradek.mdx @@ -3,7 +3,7 @@ title: Teradek slug: /hardware-encoders/teradek --- -**Teradek** is a designer and manufacturer of professional high-end video equipment and solutions for creating and sharing content. Teradek offers a range of support for different broadcast standards and protocols, including support for [RTMP, RTMPS](/millicast/broadcast/rtmp-and-rtmps.mdx), [SRT](/millicast/broadcast/srt.mdx), and [NDI](/millicast/broadcast/ndi.md), all of which can be distributed via the Dolby.io real-time streaming CDN. +**Teradek** is a designer and manufacturer of professional high-end video equipment and solutions for creating and sharing content. Teradek offers a range of support for different broadcast standards and protocols, including support for [RTMP, RTMPS](/millicast/broadcast/rtmp-and-rtmps.mdx), [SRT](/millicast/broadcast/srt.mdx), and [NDI](/millicast/broadcast/ndi.md), all of which can be distributed via the OptiView Real-time CDN. :::tip Getting Started If you haven't already, begin by following the [Getting Started](/millicast/getting-started/index.mdx) tutorial to start your first broadcast. You'll need your _RTMP publish path_ and _RTMP publish stream name_ for the steps described below. @@ -15,7 +15,7 @@ See the official [Teradek](https://teradek.com/) site for documentation, install ### How-to setup the VidiU for RTMP streaming -To get started, you'll have to [login](https://streaming.dolby.io) to a Dolby.io account. Within the account, you'll need to create a token and copy RTMP publishing paths. You'll also have to download the [Vidiu or Teradek app](https://teradek.com/pages/vidiu-x) for your mobile device. +To get started, you'll have to [login](https://streaming.dolby.io) to a OptiView Real-time account. Within the account, you'll need to create a token and copy RTMP publishing paths. You'll also have to download the [Vidiu or Teradek app](https://teradek.com/pages/vidiu-x) for your mobile device. From your VidiU app on your mobile device, select `Device > Settings > Broadcast > Platform`. After Platform, select `RTMP(S)` at the bottom of the menu. @@ -33,7 +33,7 @@ import Vidiu2 from '../../assets/img/hardware-encoders/teradek-vidiu2.png'; -Enter your Dolby.io Real-time Streaming RTMP or RTMPS path, and your RTMP publish stream name: +Enter your OptiView Real-time Streaming RTMP or RTMPS path, and your RTMP publish stream name: - For example, RTMP would look similar to: `rtmp://rtmp-auto.millicast.com:1935/v2/pub` @@ -54,7 +54,7 @@ To view the stream, navigate back to your newly created token and switch to the ### How-to setup the Teradek Wave for RTMP streaming -To get started, you'll have to [login](https://streaming.dolby.io) to a Dolby.io account. Within the account, you'll need to create a token and copy RTMP publishing paths. You'll also have to have your Teradek Wave in hand, ready to use. +To get started, you'll have to [login](https://streaming.dolby.io) to a OptiView Real-time account. Within the account, you'll need to create a token and copy RTMP publishing paths. You'll also have to have your Teradek Wave in hand, ready to use. - From your Teradek Wave, start by selecting `Create event > Device > Configure your event`and setting your Channel Name. - Set the Server URL for RTMP as your RTMP publish path. For example: @@ -79,4 +79,4 @@ You can also adjust the additional settings on the Teredak Wave, such as: To view the stream, navigate back to your newly created token and switch to the _Playback_ tab. From the Playback tab, copy the _Hosted Player Path_ URL and open it in your browser. -Teredak products that use [RTMP, RTMPS](/millicast/broadcast/rtmp-and-rtmps.mdx), [SRT](/millicast/broadcast/srt.mdx), and [NDI](/millicast/broadcast/ndi.md) can all be used with Dolby.io Real-time Streaming for low-latency streams with global delivery. +Teredak products that use [RTMP, RTMPS](/millicast/broadcast/rtmp-and-rtmps.mdx), [SRT](/millicast/broadcast/srt.mdx), and [NDI](/millicast/broadcast/ndi.md) can all be used with OptiView Real-time Streaming for low-latency streams with global delivery. diff --git a/millicast/broadcast/hardware-encoders/videon.mdx b/millicast/broadcast/hardware-encoders/videon.mdx index 56eba38ee4f2..b9e9bd1bf014 100644 --- a/millicast/broadcast/hardware-encoders/videon.mdx +++ b/millicast/broadcast/hardware-encoders/videon.mdx @@ -57,9 +57,9 @@ import AudioProfiles from '../../assets/img/hardware-encoders/videon_audio_profi #### Using RTMP -Open your Dolby.io dashboard and copy the [**RTMP publishing paths**](/millicast/broadcast/rtmp-and-rtmps.mdx). Additionally, enable the** RTMP multi-bitrate** toggle. You can also use the [Multi-Source builder](/millicast/streaming-dashboard/multi-source-builder.mdx) to generate those URLs. +Open your OptiView Streaming Dashboard and copy the [**RTMP publishing paths**](/millicast/broadcast/rtmp-and-rtmps.mdx). Additionally, enable the** RTMP multi-bitrate** toggle. You can also use the [Multi-Source builder](/millicast/streaming-dashboard/multi-source-builder.mdx) to generate those URLs. -Under **Outputs**, for each **RTMP**, select **Video Source** corresponding to the RTMP profile (1080p for the highest profile and 360p for the lowest profile). Make sure to set **Streaming Providers** to _Generic RTMP_ and paste the **Stream URL** from the Dolby.io RTMP dashboard. +Under **Outputs**, for each **RTMP**, select **Video Source** corresponding to the RTMP profile (1080p for the highest profile and 360p for the lowest profile). Make sure to set **Streaming Providers** to _Generic RTMP_ and paste the **Stream URL** from the OptiView RTMP dashboard. import OutputsImg from '../../assets/img/hardware-encoders/videon_outputs.png'; @@ -85,7 +85,7 @@ import VideonRtmp from '../../assets/img/hardware-encoders/videon-rtmp.png'; #### Using SRT -Under **Outputs**, for each **SRT**, select **Video Source** corresponding to the SRT profile (1080p for the highest profile and 360p for the lowest profile). For the **URL**, select the _srt://_ protocol, enter the URL of the **SRT publish path** from the Dolby.io dashboard, and enter port 10000. For the **Stream ID**, use the **SRT stream ID** from the dashboard and append **&simulcastId** for the first layer, **&sourceId=1&simulcastId&videoOnly** for the second layer, and **&sourceId=2&simulcastId&videoOnly** for the third layer. You can also use the [Multi-Source builder](/millicast/streaming-dashboard/multi-source-builder.mdx) to generate those URLs. +Under **Outputs**, for each **SRT**, select **Video Source** corresponding to the SRT profile (1080p for the highest profile and 360p for the lowest profile). For the **URL**, select the _srt://_ protocol, enter the URL of the **SRT publish path** from the OptiView Streaming Dashboard, and enter port 10000. For the **Stream ID**, use the **SRT stream ID** from the dashboard and append **&simulcastId** for the first layer, **&sourceId=1&simulcastId&videoOnly** for the second layer, and **&sourceId=2&simulcastId&videoOnly** for the third layer. You can also use the [Multi-Source builder](/millicast/streaming-dashboard/multi-source-builder.mdx) to generate those URLs. Example: diff --git a/millicast/broadcast/index.mdx b/millicast/broadcast/index.mdx index 421bf16bb4fc..399e7dd5f4b3 100644 --- a/millicast/broadcast/index.mdx +++ b/millicast/broadcast/index.mdx @@ -6,13 +6,13 @@ slug: /broadcast import DocCardList from '@theme/DocCardList'; -Broadcasting content requires access to the public internet and encoding, which can be accomplished in a browser, software, hardware, or with the Dolby.io Client-side broadcaster SDKs. +Broadcasting content requires access to the public internet and encoding, which can be accomplished in a browser, software, hardware, or with the OptiView Real-time client-side broadcaster SDKs. -The Dolby.io CDN can ingest streams encoded in a few main formats: +The OptiView Real-time CDN can ingest streams encoded in a few main formats: - [WebRTC](/millicast/broadcast/webrtc-and-whip.mdx), an internet transfer protocol that supports video codecs H.264, H.265, VP8, VP9, AV1, and the Opus audio codec. Broad support is made possible through implementations of **WebRTC HTTP Ingest Protocol (WHIP)**. -- [SRT](/millicast/broadcast/srt.mdx), a video transfer protocol that can be transmuxed to WebRTC via the Dolby.io CDN and supports H.264 video and AAC audio. -- [RTMP](/millicast/broadcast/rtmp-and-rtmps.mdx) **and RTMPS**, internet transfer protocols that can be transmuxed to WebRTC via the Dolby.io CDN that supports only the H.264 video codec. +- [SRT](/millicast/broadcast/srt.mdx), a video transfer protocol that can be transmuxed to WebRTC via the OptiView Real-time CDN and supports H.264 video and AAC audio. +- [RTMP](/millicast/broadcast/rtmp-and-rtmps.mdx) **and RTMPS**, internet transfer protocols that can be transmuxed to WebRTC via the OptiView Real-time CDN that supports only the H.264 video codec. _SRT and RTMP will automatically have AAC audio converted to Opus via the CDN_ @@ -76,16 +76,16 @@ The **WebRTC-HTTP Ingestion Protocol ([WHIP](/millicast/broadcast/webrtc-and-whi WHIP acts like a signaler, handling the creation and deletion of endpoints needed during transport while maintaining the benefits of WebRTC, such as end-to-end encryption and ultra-low latency. [How-to use GStreamer with WHIP](/millicast/broadcast/software-encoders/gstreamer.mdx)
-**GStreamer** is a popular pipeline-based media framework that links together multiple nodes into a media processing workflow. Using WHIP, you can encode an output node to broadcast streaming content through Dolby.io. +**GStreamer** is a popular pipeline-based media framework that links together multiple nodes into a media processing workflow. Using WHIP, you can encode an output node to broadcast streaming content through OptiView Real-time Streaming. [How-to use FlowCaster with WHIP](/millicast/broadcast/software-encoders/flowcaster.mdx)
**FlowCaster** software provides a secure connection to provide IP streaming for editors and remote collaboration. [How-to use LiveU Studio with WHIP](/millicast/broadcast/software-encoders/liveu-studio.mdx)
-**LiveU Studio** is a cloud-based SaaS solution for live video production. By supporting WHIP, media streams ingested from LiveU Studio and can be broadcast by Dolby.io. +**LiveU Studio** is a cloud-based SaaS solution for live video production. By supporting WHIP, media streams ingested from LiveU Studio can be broadcast by OptiView Real-time Streaming. [How-to Setup an Osprey Talon for WHIP](/millicast/broadcast/hardware-encoders/osprey.mdx)
-The **Osprey Talon** provides exceptional quality with 4k resolution and a plug-and-play interface. There are some recommended settings to enable broadcasting to the Dolby.io platform by using this encoder in the pipeline. +The **Osprey Talon** provides exceptional quality with 4k resolution and a plug-and-play interface. There are some recommended settings to enable broadcasting to the OptiView Real-time platform by using this encoder in the pipeline. To learn how to create a stream from OBS using WebRTC, see the following video: @@ -105,8 +105,8 @@ To learn how to create a stream from OBS using WebRTC, see the following video: The **Secure Reliable Transport ([SRT](/millicast/broadcast/srt.mdx))** is an open-source protocol that uses an intelligent packet retransmission mechanism on otp of a UDP data flow along with AES-128 and 256-bit encryption. Dolby is part of the _SRT Alliance_, an organization to promote the technology for optimizing streaming performance. -[How-to setup a Dolby.io SRT Stream](/millicast/broadcast/srt.mdx)
-The Dolby.io dashboard is used to configure the publish path and stream id for an incoming SRT media stream. +[How-to setup an OptiView Real-time SRT Stream](/millicast/broadcast/srt.mdx)
+The OptiView Streaming Dashboard is used to configure the publish path and stream id for an incoming SRT media stream. [How-to use OBS with SRT](/millicast/broadcast/software-encoders/obs/index.mdx)
**Open Broadcaster Software (OBS)** is free and open source software is popular for cross-platform streaming. You will need to download a recent version of OBS that has been extended to provide SRT support. @@ -129,20 +129,20 @@ To learn how to create a stream from OBS using SRT, see the following video: **Real-time Messaging Protocol ([RTMP](/millicast/broadcast/rtmp-and-rtmps.mdx))** is well-established in many hardware and software applications. With many years of use, RTMP is a good option for compatibility while sacrificing some latency in order to handle transmuxing the incoming stream to WebRTC. -[How-to setup a Dolby.io RTMP Stream](/millicast/broadcast/rtmp-and-rtmps.mdx)
-The Dolby.io dashboard is used to configure the publish path and stream id for an incoming RTMP or RTMPs media stream. +[How-to setup an OptiView Real-time RTMP Stream](/millicast/broadcast/rtmp-and-rtmps.mdx)
+The OptiView Streaming Dashboard is used to configure the publish path and stream id for an incoming RTMP or RTMPs media stream. [How-to use FFmpeg with RTMP](/millicast/broadcast/software-encoders/ffmpeg.mdx)
**FFmpeg** is a free and open-source software project that is commonly used in legacy media workflows. It is a command-line tool that is capable of outputting streaming content via RTMP, RTMPS, and RTSP. [How-to use vMix with RTMP](/millicast/broadcast/software-encoders/vmix.mdx)
-**vMix** is a software vision mixer available for Windows. It is useful for certain live video production workflows and supports RTMP output that can be broadcast by Dolby.io. +**vMix** is a software vision mixer available for Windows. It is useful for certain live video production workflows and supports RTMP output that can be broadcast by OptiView Real-time Streaming. [How-to Setup a Haivision KB encoder for RTMP](/millicast/broadcast/hardware-encoders/haivision.mdx)
The **Haivision KB** series of media encoders deliver high-quality video streaming with 4k resolution and a plug-and-play interface with a small rack-mountable form factor. There are some recommended encoding sessions to optimize this encoder in the broadcast pipeline. [How-to Setup a Teradek VidiU Go for RTMP](/millicast/broadcast/hardware-encoders/teradek.mdx)
-The **Teradek VidiU Go** is a hardware encoder is capable of broadcast quality video that can be sent over RTMP for compatibility with Dolby.io broadcast workflows. +The **Teradek VidiU Go** is a hardware encoder is capable of broadcast quality video that can be sent over RTMP for compatibility with OptiView Real-time broadcast workflows. ### Publish parameters @@ -153,7 +153,7 @@ Publish parameters allow modifying broadcasting preferences to customize streami Web and mobile browsers are widely available and have wide encoding support, whether broadcasting from Chrome, Safari, Firefox, or Edge. To start broadcasting, see the [Getting Started with Broadcasting](/millicast/getting-started/index.mdx) guide. -You can also start broadcasting directly from the Dolby.io dashboard. For more information, see the following video: +You can also start broadcasting directly from the OptiView Streaming Dashboard. For more information, see the following video:
-To create a multi-view experience you must capture multiple video or audio feeds and then broadcast them as a [multi-source stream](/millicast/broadcast/multi-source-broadcasting.mdx). Once broadcasting a multi-source stream, you can view the stream using the Dolby.io Millicast viewer app, or by building your own multi-view application. Dolby.io also supports [Audio Multiplexing](/millicast/playback/audio-multiplexing.md) for mixed audio playback. +To create a multi-view experience you must capture multiple video or audio feeds and then broadcast them as a [multi-source stream](/millicast/broadcast/multi-source-broadcasting.mdx). Once broadcasting a multi-source stream, you can view the stream using the OptiView viewer app, or by building your own multi-view application. OptiView Real-time Streaming also supports [Audio Multiplexing](/millicast/playback/audio-multiplexing.md) for mixed audio playback. -## Multi-view with the Dolby.io viewer +## Multi-view with the OptiView viewer -Once you have created a [Multisource stream](/millicast/broadcast/multi-source-broadcasting.mdx), you can open the stream viewer from the [Dolby.io dashboard](https://streaming.dolby.io/#/tokens) or by navigating to: +Once you have created a [Multisource stream](/millicast/broadcast/multi-source-broadcasting.mdx), you can open the stream viewer from the [OptiView Streaming Dashboard](https://streaming.dolby.io/#/tokens) or by navigating to: ``` https://viewer.millicast.com?streamId=[YOUR_ACCOUNT_ID]/[YOUR_STREAM_NAME] @@ -40,22 +40,22 @@ https://viewer.millicast.com?streamId=[YOUR_ACCOUNT_ID]/[YOUR_STREAM_NAME]&multi ## Creating a Multi-view web application -Dolby.io supports [Multisource Playback](/millicast/playback/source-and-layer-selection.md) via the [Client SDKs](/millicast/playback/players-sdks/index.mdx), allowing you to build your own multi-view experience for your app or platform. +OptiView Real-time Streaming supports [Multisource Playback](/millicast/playback/source-and-layer-selection.md) via the [Client SDKs](/millicast/playback/players-sdks/index.mdx), allowing you to build your own multi-view experience for your app or platform. Before getting started building a multi-view application it is worth understanding; 1. How to broadcast [Multisource Streams](/millicast/broadcast/multi-source-broadcasting.mdx). 2. How to [Create a Basic Streaming Web App](/millicast/getting-started/creating-real-time-streaming-web-app.mdx). 3. What [Broadcast Events](/millicast/playback/players-sdks/viewer-events.md) are and how to use them. -4. How the Dolby.io platform organizes and handles [Multisource Playback](/millicast/playback/source-and-layer-selection.md). +4. How the OptiView Real-time platform organizes and handles [Multisource Playback](/millicast/playback/source-and-layer-selection.md). ### Store and track incoming Multisource feeds :::info Not building a Web App? -All Dolby.io [Client SDKs](/millicast/playback/players-sdks/index.mdx) support building Multi-view applications. Although the below example is using JavaScript the principles are the same for each SDK. +All OptiView Real-time [Client SDKs](/millicast/playback/players-sdks/index.mdx) support building Multi-view applications. Although the below example is using JavaScript the principles are the same for each SDK. ::: -The Dolby.io platform tracks broadcasts by their `account ID` and `stream name` and individual streams within broadcasts by their `sourceID`, a unique identifier that can be used for selecting feeds to render from the [viewer node](source-and-layer-selection.md). Unlike a traditional broadcast where there is only one stream to playback, a multi-view application must account for multiple feeds arriving asynchronously. To accomplish this, the application should [listen for streams using a `broadcastEvent`](/millicast/playback/players-sdks/viewer-events.md#using-events), and store the stream `sourceID` as it becomes active. +The OptiView Real-time platform tracks broadcasts by their `account ID` and `stream name` and individual streams within broadcasts by their `sourceID`, a unique identifier that can be used for selecting feeds to render from the [viewer node](source-and-layer-selection.md). Unlike a traditional broadcast where there is only one stream to playback, a multi-view application must account for multiple feeds arriving asynchronously. To accomplish this, the application should [listen for streams using a `broadcastEvent`](/millicast/playback/players-sdks/viewer-events.md#using-events), and store the stream `sourceID` as it becomes active. ```javascript const activeSources = new Set(); @@ -72,7 +72,7 @@ await millicastView.on('broadcastEvent', (event) => { ### Add video elements and render feeds -Once we've captured the `sourceID` of an incoming stream, we need to signal to the Viewer node which _track_ the stream will play on. The Dolby.io Millicast SDKs include a function that allows you to [dynamically add a track to the Viewer node](source-and-layer-selection.md#dynamic-viewer-track) called `addRemoteTrack`. +Once we've captured the `sourceID` of an incoming stream, we need to signal to the Viewer node which _track_ the stream will play on. The OptiView Real-time SDKs include a function that allows you to [dynamically add a track to the Viewer node](source-and-layer-selection.md#dynamic-viewer-track) called `addRemoteTrack`. [addRemoteTrack](https://millicast.github.io/millicast-sdk/View.html#addRemoteTrack) requires the media type of the incoming stream (_audio or video_) and a [`MediaStream`](https://developer.mozilla.org/en-US/docs/Web/API/MediaStream), an interface that signals a stream of media content. `addRemoteTrack` will then return a promise that will be resolved when the [`RTCRtpTransceiver`](https://developer.mozilla.org/en-US/docs/Web/API/RTCRtpTransceiver) is assigned a `mid` value. @@ -123,7 +123,7 @@ In the above code `videoDiv` is where we want the `