Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
94 commits
Select commit Hold shift + click to select a range
207f017
Update THEOlive introduction page
jeroentempels-dolby Mar 23, 2026
fecd1a9
Rewrite getting-started page with new images
jeroentempels-dolby Mar 23, 2026
09954d6
Update sidebar and reorganize platform pages
jeroentempels-dolby Mar 23, 2026
8c617d9
Reorder contribution sidebar: encoders before multi-audio and metadata
jeroentempels-dolby Mar 23, 2026
8c560ae
Fix FFmpeg logo: use local SVG instead of external URL
jeroentempels-dolby Mar 23, 2026
06ba412
Add Wirecast to software encoders overview page
jeroentempels-dolby Mar 23, 2026
4568b13
Reorder software encoder sidebar to match overview page
jeroentempels-dolby Mar 23, 2026
6d921d2
Render FFmpeg and Wirecast logos as inline SVG components in software…
jeroentempels-dolby Mar 23, 2026
98e76de
Rebrand FFmpeg page to OptiView Live, clean up intro, and reorganize …
jeroentempels-dolby Mar 23, 2026
33368bc
Restructure FFmpeg page and clean up OBS intro
jeroentempels-dolby Mar 23, 2026
03a04cb
Rebrand software encoder pages to OptiView Live and update start chan…
jeroentempels-dolby Mar 23, 2026
1e81696
Match hardware encoders page style to software encoders table layout
jeroentempels-dolby Mar 23, 2026
08586d2
Update hardware encoder docs with theo.live URLs, image reference, an…
jeroentempels-dolby Mar 23, 2026
1eadedd
Update multi-audio support with new image, remove playback limitations
jeroentempels-dolby Mar 23, 2026
d5f3438
Add closed captions page, rename multi-audio and in-stream SEI metadata
jeroentempels-dolby Mar 23, 2026
c87b970
Add ingest protocols page to contribution section
jeroentempels-dolby Mar 24, 2026
b661ef3
Add architecture page with channel, ingest, engine, and distribution …
jeroentempels-dolby Mar 24, 2026
81058be
Split Platform into Stream Configuration and Platform categories
jeroentempels-dolby Mar 24, 2026
6fb5897
Rename Stream Configuration page to ABR and simplify content
jeroentempels-dolby Mar 24, 2026
48ef2ee
Rename sidebar categories to match architecture and add Distribution …
jeroentempels-dolby Mar 24, 2026
5ce770d
Fix broken link in multi-channel and rename stream-configuration page…
jeroentempels-dolby Mar 25, 2026
71479f9
Move Platform below Playback in the sidebar
jeroentempels-dolby Mar 25, 2026
f093a1a
Simplify ABR page content
jeroentempels-dolby Mar 25, 2026
6ebe8f4
Rename stream-configuration folder to media-engine
jeroentempels-dolby Mar 25, 2026
07578af
Add streaming protocols page to media engine
jeroentempels-dolby Mar 25, 2026
2a818bb
Move DVR, Advertisements and Nielsen into new Channel category and fi…
jeroentempels-dolby Mar 25, 2026
1e0c114
Add DRM page to Media Engine
jeroentempels-dolby Mar 25, 2026
1c97a66
Move redundancy page to Distribution
jeroentempels-dolby Mar 25, 2026
3012f7e
Add descriptions and icons to Ingest, Channel and Media Engine overvi…
jeroentempels-dolby Mar 25, 2026
507d069
Add descriptions and icons to overview pages and sidebar categories
jeroentempels-dolby Mar 25, 2026
1b62b64
Remove alias page from Distribution and clean up broken references
jeroentempels-dolby Mar 25, 2026
f4ee481
Add multi-distribution page to Distribution
jeroentempels-dolby Mar 25, 2026
5d32fcc
Rewrite redundancy page for distribution-based failover
jeroentempels-dolby Mar 25, 2026
95c03c2
Split Thumbnails and HLS into separate pages
jeroentempels-dolby Mar 25, 2026
1e0d561
Add max bitrate page to Distribution
jeroentempels-dolby Mar 25, 2026
a2075fb
Rewrite security pages: geo-blocking, referrer blocking, and add over…
jeroentempels-dolby Mar 25, 2026
34fb92d
Rewrite IP-blocking and token-based security pages
jeroentempels-dolby Mar 25, 2026
9a7a3a4
Rewrite manage-team page as Organization with new images
jeroentempels-dolby Mar 25, 2026
89d916a
Move authorization to REST API as Authentication page
jeroentempels-dolby Mar 25, 2026
951206f
Rename team page to Manage organization
jeroentempels-dolby Mar 25, 2026
bed20b2
Rewrite authentication page and replace THEOlive with OptiView Live
jeroentempels-dolby Mar 25, 2026
f3f489f
Add DVR window page content with configuration image
jeroentempels-dolby Mar 25, 2026
e53efc0
Remove advertisements page and its reference in getting-started
jeroentempels-dolby Mar 25, 2026
46d0e38
Remove viewer tracking page from Platform
jeroentempels-dolby Mar 25, 2026
fd827be
Add icons and descriptions to Platform pages
jeroentempels-dolby Mar 25, 2026
566377d
Replace viewer insights, webhooks and scheduler content with coming soon
jeroentempels-dolby Mar 25, 2026
91da04c
Rename Platform to Automations & Insights, move manage-team to top level
jeroentempels-dolby Mar 25, 2026
d884006
Fix React hydration errors and class warnings in MDX files
jeroentempels-dolby Mar 25, 2026
74e2fa2
Hide Automations & Insights category until content is written
jeroentempels-dolby Mar 25, 2026
6707813
Enable THEOlive version dropdown and update channel diagram to full-c…
jeroentempels-dolby Mar 25, 2026
25a01c3
Add schedulers guide
TimLeenaers Mar 26, 2026
4ef5cf9
v2: webhooks guide
TimLeenaers Mar 30, 2026
728710b
Rename
jeroentempels-dolby Mar 30, 2026
d4c801a
Move THEOlive web playback docs to THEOplayer how-to-guides
jeroentempels-dolby Mar 30, 2026
ccc04ed
Move THEOlive Android playback docs to THEOplayer how-to-guides
jeroentempels-dolby Mar 30, 2026
a59b989
Move THEOlive iOS playback docs to THEOplayer how-to-guides
jeroentempels-dolby Mar 30, 2026
fed70a2
Move THEOlive React Native, Flutter and Roku playback docs to THEOpla…
jeroentempels-dolby Mar 30, 2026
88a3fec
Consolidate playback folder into single OptiView Player page
jeroentempels-dolby Mar 30, 2026
f28df78
Restructure OptiView Player page with overview, platform links and HE…
jeroentempels-dolby Mar 30, 2026
2a91bec
Rewrite HESP limitations as cohesive section
jeroentempels-dolby Mar 30, 2026
fa229fc
Convert HESP limitations to a list
jeroentempels-dolby Mar 30, 2026
685cd3a
Fix broken anchor in v1 Android getting-started page
jeroentempels-dolby Mar 30, 2026
0176ca4
Add API examples to Nielsen and DVR window pages
jeroentempels-dolby Mar 30, 2026
8dd8c11
Add API examples to multi-audio and closed captions pages
jeroentempels-dolby Mar 30, 2026
c358e40
Add API examples to DRM and streaming protocols pages
jeroentempels-dolby Mar 30, 2026
96e7a47
Add API examples to distribution security and max bitrate pages
jeroentempels-dolby Mar 30, 2026
869af16
Link Playback sidebar item directly to OptiView Player page
jeroentempels-dolby Mar 30, 2026
3d2fb20
Make platform API examples consistent with endpoint and JSON format
jeroentempels-dolby Mar 30, 2026
5264dfc
Small tweaks
jeroentempels-dolby Mar 30, 2026
d3de285
Add curl example to authentication page, minor scheduler cleanup
jeroentempels-dolby Mar 30, 2026
3aadef6
Replace THEOlive with OptiView Live in non-URL text
jeroentempels-dolby Mar 30, 2026
cc54337
Replace THEOlive with OptiView Live in web player docs
jeroentempels-dolby Mar 30, 2026
3c9471f
Replace THEOlive with OptiView Live in Android, iOS, React Native, Fl…
jeroentempels-dolby Mar 30, 2026
0f82bde
Simplify getting started page names across all SDK platforms
jeroentempels-dolby Mar 30, 2026
ec98e37
Replace console references with dashboard and update URL to dashboard…
jeroentempels-dolby Mar 30, 2026
f42566a
Move direct HLS playback to playback section, rename to Other HLS pla…
jeroentempels-dolby Mar 30, 2026
e8b9d9b
Add distribution override placeholder page
jeroentempels-dolby Mar 30, 2026
8c50c75
Add concrete geo-redundancy example with priorities to redundancy page
jeroentempels-dolby Mar 30, 2026
6aeb157
Make HLS MPEG-TS a separate section with warning on streaming protoco…
jeroentempels-dolby Mar 30, 2026
0756922
Add encoding quality page to media engine
jeroentempels-dolby Mar 30, 2026
68a4151
Add Swagger link to API docs and rate limits placeholder page
jeroentempels-dolby Mar 30, 2026
0d17a24
Add full API example page with end-to-end channel setup walkthrough
jeroentempels-dolby Mar 30, 2026
42cd066
Rename rate-limiting to rate-limits
jeroentempels-dolby Mar 30, 2026
ffe51bd
Cleanup images
jeroentempels-dolby Mar 30, 2026
b136000
Add distribution override documentation page
jeroentempels-dolby Mar 31, 2026
5e8b6de
Add migration from V1 documentation page
jeroentempels-dolby Mar 31, 2026
713508d
Remove rate limits page from API section
jeroentempels-dolby Mar 31, 2026
c1c304c
Remove commented-out Automations & Insights sidebar entry
jeroentempels-dolby Mar 31, 2026
0130e7c
Run prettier on all files
jeroentempels-dolby Mar 31, 2026
d39b2df
Fix broken security link in distribution override page
jeroentempels-dolby Mar 31, 2026
47dc52d
Fix broken API reference link in getting started page
jeroentempels-dolby Mar 31, 2026
646300c
Remove horizontal rules under page titles
jeroentempels-dolby Mar 31, 2026
1b7e60b
Add icon and description to migration from V1 page
jeroentempels-dolby Mar 31, 2026
992c87c
Fix prettier
jeroentempels-dolby Mar 31, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 5 additions & 9 deletions docusaurus.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -408,9 +408,6 @@ const config: Config = {
if (existingPath.startsWith('/theoplayer/how-to-guides/web/uplynk/')) {
return [existingPath.replace('/theoplayer/how-to-guides/web/uplynk/', '/theoplayer/how-to-guides/miscellaneous/verizon-media/')];
}
if (existingPath.startsWith('/theolive/playback/web/')) {
return [existingPath.replace('/theolive/playback/web/', '/theoplayer/how-to-guides/web/theolive/')];
}
return undefined;
},
} satisfies ClientRedirectsPlugin.Options,
Expand Down Expand Up @@ -614,12 +611,11 @@ const config: Config = {
docsPluginId: 'theoplayer',
position: 'right',
},
// TODO: Enable theolive version dropdown when v2 docs are finalized
// {
// type: 'docsVersionDropdown',
// docsPluginId: 'theolive',
// position: 'right',
// },
{
type: 'docsVersionDropdown',
docsPluginId: 'theolive',
position: 'right',
},
],
},
footer: {
Expand Down
63 changes: 45 additions & 18 deletions sidebarsTheolive.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,57 +5,82 @@ const sidebars: SidebarsConfig = {
theolive: [
'index',
'getting-started',
'manage-team',
'architecture',
{
type: 'category',
label: 'Contribution',
label: 'Channel',
customProps: {
icon: '📺',
},
description: 'Configure channel-level settings and optional features.',
link: { type: 'generated-index', slug: 'channel' },
items: [{ type: 'autogenerated', dirName: 'channel' }],
},
{
type: 'category',
label: 'Ingest',
customProps: {
icon: '📡',
},
description: 'THEOlive Contribution / Publishing guides',
description: 'Get your live media into the platform.',
link: { type: 'generated-index', slug: 'contribution' },
items: [{ type: 'autogenerated', dirName: 'contribution' }],
},
{
type: 'category',
label: 'Platform',
label: 'Media Engine',
customProps: {
icon: '📖',
icon: '⚙️',
},
description: 'THEOlive Platform guides',
link: { type: 'generated-index', slug: 'platform' },
items: [{ type: 'autogenerated', dirName: 'platform' }],
description: 'How your stream is processed and packaged for delivery.',
link: { type: 'generated-index', slug: 'media-engine' },
items: [{ type: 'autogenerated', dirName: 'media-engine' }],
},
{
type: 'category',
label: 'Distribution',
customProps: {
icon: '📤',
},
description: 'Control how and where your stream reaches viewers.',
link: { type: 'generated-index', slug: 'distribution' },
items: [{ type: 'autogenerated', dirName: 'distribution' }],
},
{
type: 'category',
label: 'Playback',
customProps: {
icon: '▶️',
},
description: 'THEOlive Playback / Player guides',
link: { type: 'generated-index', slug: 'playback' },
description: 'Integrate the player into your app or website.',
link: { type: 'doc', id: 'playback/optiview-player' },
items: [{ type: 'autogenerated', dirName: 'playback' }],
},
{
type: 'category',
label: 'Platform',
customProps: {
icon: '📖',
},
description: 'THEOlive Platform guides',
link: { type: 'generated-index', slug: 'platform' },
items: [{ type: 'autogenerated', dirName: 'platform' }],
},
'troubleshooting',
{
type: 'html',
value: '<hr />',
},
{
type: 'doc',
id: 'contribution/hardware-encoders/index',
},
{
type: 'doc',
id: 'contribution/software-encoders/index',
},
{
type: 'link',
label: 'THEOlive REST API',
label: 'REST API',
customProps: {
icon: '🛜',
},
href: '/theolive/next/api/',
},
'api/migration-from-v1',
],
theoLiveApi: [
{
Expand All @@ -64,6 +89,8 @@ const sidebars: SidebarsConfig = {
href: '/theolive/next/',
},
'api/index',
'api/authentication',
'api/full-example',
...apiSidebar.slice(1),
],
};
Expand Down
36 changes: 13 additions & 23 deletions sidebarsTheoplayer.ts
Original file line number Diff line number Diff line change
Expand Up @@ -46,14 +46,6 @@ const sidebars: SidebarsConfig = {
exclude: platformNames,
},
},
{
type: 'category',
label: 'THEOlive',
customProps: {
icon: '🚀',
},
items: [{ type: 'link', label: 'Getting started', href: '/theolive/playback/web/getting-started/' }],
},
{
type: 'autogenerated',
dirName: 'how-to-guides/web',
Expand Down Expand Up @@ -92,14 +84,6 @@ const sidebars: SidebarsConfig = {
exclude: platformNames,
},
},
{
type: 'category',
label: 'THEOlive',
customProps: {
icon: '🚀',
},
items: [{ type: 'link', label: 'Getting started', href: '/theolive/playback/android/getting-started/' }],
},
{
type: 'autogenerated',
dirName: 'how-to-guides/android',
Expand Down Expand Up @@ -168,6 +152,10 @@ const sidebars: SidebarsConfig = {
exclude: platformNames,
},
},
{
type: 'autogenerated',
dirName: 'how-to-guides/react-native',
},
],
}),
connectorsCategory({
Expand All @@ -189,7 +177,13 @@ const sidebars: SidebarsConfig = {
'flutter/index',
'external/flutter-theoplayer-sdk/flutter_theoplayer_sdk/flutter_theoplayer_sdk/README',
howToGuidesCategory({
items: [{ type: 'autogenerated', dirName: 'external/flutter-theoplayer-sdk/doc' }],
items: [
{ type: 'autogenerated', dirName: 'external/flutter-theoplayer-sdk/doc' },
{
type: 'autogenerated',
dirName: 'how-to-guides/flutter',
},
],
}),
'external/flutter-theoplayer-sdk/flutter_theoplayer_sdk/flutter_theoplayer_sdk/CHANGELOG',
githubLink({
Expand Down Expand Up @@ -239,12 +233,8 @@ const sidebars: SidebarsConfig = {
},
},
{
type: 'category',
label: 'THEOlive',
customProps: {
icon: '🚀',
},
items: [{ type: 'link', label: 'Getting started', href: '/theolive/playback/roku/getting-started/' }],
type: 'autogenerated',
dirName: 'how-to-guides/roku',
},
],
}),
Expand Down
46 changes: 46 additions & 0 deletions theolive/api/authentication.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
---
sidebar_label: Authentication
sidebar_position: 0
---

# Authentication


To make secure calls to the REST API, both authentication and authorization are required. OptiView Live uses token–secret pairs to authorize API requests and ensure secure access.

## Creating an API token

1. Navigate to **API Tokens** in the dashboard.
2. Click **New** to create a new token.
3. Enter a name for the token.
4. Confirm to generate the token.

The key and secret will be displayed once the token is created.

:::warning[Note down your key and secret]

Make sure to store the key and secret securely — they cannot be viewed again after this step.

:::

## Using the token-secret pair with Basic Authentication

OptiView Live uses Basic Authentication for API requests. To authenticate, include your key-secret pair (base64-encoded) in the `Authorization` header, prepended with the word `Basic`.

1. Combine your key and secret in the format `key:secret`.
Example: `my-token:my-secret`

2. Base64 encode the combined value.
Example: `bXktdG9rZW46bXktc2VjcmV0`

3. Include the encoded string in the Authorization header, prefixed with the word Basic.
Example header: `Authorization: Basic bXktdG9rZW46bXktc2VjcmV0`

## Full example

```bash
curl -X GET https://api.theo.live/v2/channels \
-H "Authorization: Basic bXktdG9rZW46bXktc2VjcmV0"
```

You're now ready to make authenticated requests to the OptiView Live API.
Loading
Loading