> **Dolby OptiView Rebranding**
>
> Dolby OptiView Live Streaming is the new name for THEOlive 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.

> **Streaming API Available**
>
> We have released **v2 of the Streaming API**, which is recommended for new customers. You can switch between versions using the version selector in the top right corner of the page.
>
> [**View the v2 documentation →**](https://docs-preview.optiview.dolby.com/pr-860/theolive.md)

# Backend

THEOlive provides a REST API to manage channels, configure them and start / stop them. Each possible call can be found at our [API Reference](https://docs-preview.optiview.dolby.com/pr-860/theolive/v1/api/channels/create-channel.md).

However, to make things easier for non-developers, we built a management console on top of these API calls which makes it straightforward to perform the basic actions. To be able to create and use a THEOlive channel, you should register for an account and get a token to perform [authenticated requests](https://docs-preview.optiview.dolby.com/pr-860/theolive/v1/platform/authorization.md) to our API.

## 1. Create an account in the management console

To start your journey, you'll have to create a THEOlive account in the [management console](https://console.theo.live/) .

Once you've entered your username and password, you can already create your first channel and start streaming.

![](/pr-860/assets/images/302e789-dashboard-2fb8cc2cbd44158aecaecce517242784.png "Homepage of the THEOlive management console")

> **📘 API reference**
>
> This guide describes how to get started with the THEOlive management console. Please consult the [API reference](https://docs-preview.optiview.dolby.com/pr-860/theolive/v1/api/channels/create-channel.md) and [Authorization](https://docs-preview.optiview.dolby.com/pr-860/theolive/v1/platform/authorization.md) if you would like to work with API calls.

## 2. Create your first channel

Time to start streaming! In the management console, please click "create channel", which will return the following screen: here you can enter a name for your channel, choose the ingest location, and define your [Stream configuration](https://docs-preview.optiview.dolby.com/pr-860/theolive/v1/contribution/stream-configuration.md). It is important to choose a location as close as possible to you to reduce latency.

![](/pr-860/assets/images/b636bf5-create-channel-7c0497378da8fd1f130ff69d5b4690bf.PNG "Create a channel")

When hitting 'Create', you will be navigated towards the Details page of your newly created channel.

![](/pr-860/assets/images/467abb8-overview-af2921a960164fe9a345adcd3b0c6cee.PNG "Management console: Details page with the possibility to start your channel and options to customize your player.")

A channel can also be created through an API call to the `channels` endpoint, passing an ingest location and a name. It will return an `id` that you can use to start, stop, update or delete the channel later on. Also, a `streamKey` and `rtmpPushUrl` will be returned to stream your content to. More information about the Create channel endpoint and how to pass advanced properties can be found [here](https://docs-preview.optiview.dolby.com/pr-860/theolive/v1/api/channels/create-channel.md).

```curl
curl --location --request POST 'https://api.theo.live/channels'
--header 'Authorization: Basic dG9rZW46c2VjcmV0' \
--header 'Content-Type: application/json' \
--data-raw '{
    "ingestLocation": "europe-west",
    "metadata": {
        "name": "a-name"
    }
}'
```

Note that for this API call you'll need a token that you can generate in the management console. More information can be found at the [Authorization](https://docs-preview.optiview.dolby.com/pr-860/theolive/v1/platform/authorization.md) guide.

## 3. Start streaming

Using the RTMP push URL and the stream key you have received when creating a channel, you can start streaming content to that RTMP endpoint.

> **🚧 RTMP pull**
>
> If you would like to do pull-based streaming instead of push-based streaming, you can also use your own RTMP pull endpoint and specify this when starting the channel in the next step.

One option to start streaming content is making use of [OBS](https://obsproject.com/). It's an easy, free and quick way to get you started. More information on how to get started with OBS can be found in our guide [Using OBS with THEOlive](https://docs-preview.optiview.dolby.com/pr-860/theolive/v1/contribution/software-encoders/obs.md). If you would be using [Wirecast](https://www.telestream.net/wirecast) for your live streaming, then more information on how to get started can be found in the guide [Using Wirecast with THEOlive](https://docs-preview.optiview.dolby.com/pr-860/theolive/v1/contribution/software-encoders/wirecast.md). There are also guides for [vMix](https://docs-preview.optiview.dolby.com/pr-860/theolive/v1/contribution/software-encoders/vmix.md) and [Videon Edgecaster](https://docs-preview.optiview.dolby.com/pr-860/theolive/v1/hardware-encoders/videon.md).

> **❗️ RTMPS vs RTMP**
>
> The RTMP push URL generated by THEOlive shows as RTMPS. If you would like to do RTMP streaming then you will have to change "rtmps" to "rtmp". As an example, `rtmps://rtmp.europe-west.theo.live/live` will have to be changed to `rtmp://rtmp.europe-west.theo.live/live` for RTMP-based streaming.

## 4. Player embed script

Now we have to make sure that our viewers have access to the stream! Including a THEOlive channel on your page is very simple: all you need is our embed script and the channel ID. The [Player](https://docs-preview.optiview.dolby.com/pr-860/theolive/v1/playback/web/getting-started.md) guide gives more information on how to do this, including a code snippet example.

### Obtaining a Player License for THEOlive

THEOlive customers have access to THEOplayer Licenses with support for the following platforms:

* `html5`
* `android`
* `androidtv`
* `firetv`
* `ios`
* `tizen`
* `tvos`
* `webos`

These licenses can be found in the "Playout Configurations" section for each of your created Channels on your [THEOlive dashboard](https://console.theo.live/login) as pictured below:

![](/pr-860/assets/images/theolive-license-9098c6d667cc98affd98b526d5af772b.png)

Licenses will be automatically generated for each new channel you create. Aliases on the same channel will share the same license.

## 5. Start the channel

When you're all set, you can start your THEOlive channel. Starting your channel also means your [transcoding time](https://www.theoplayer.com/pricing/theolive) will start counting for billing purposes.

You can easily start your channel on the channel details page, by clicking on the green "start" button.

![](/pr-860/assets/images/cbe288c-start-a20b2ac2a86a4545e5fd0a7db8b767d7.PNG)

In the background this will make a `POST` request to the `channels/start` endpoint. You can also start a channel via the Start channel API call, for which you can find more information [here](https://docs-preview.optiview.dolby.com/pr-860/theolive/v1/api/channels/start-channel.md). As mentioned in the last section, you can optionally pass the `rtmpPullUrl` property in the body of the request for pull-based streaming. Don't forget to stop streaming when you are done!

```curl
curl --location --request POST 'https://api.theo.live/channels/{channel-id}/start' \
--header 'Authorization: Basic dG9rZW46c2VjcmV0' \
--header 'Content-Type: application/json' \
--data-raw '{
    "rtmpPullUrl": "your-optional-rtmp-pull-url"
}'
```

## 6. Stop the channel

Have you finished your real-time streaming? Make sure to stop your channel by making a request to the `channels/stop` endpoint, either through a [Stop channel](https://docs-preview.optiview.dolby.com/pr-860/theolive/v1/api/channels/stop-channel.md) API call or by pressing the red "stop" button in the management console.

```curl
curl --location --request POST 'https://api.theo.live/channels/{channel-id}/stop' \
--header 'Authorization: Basic dG9rZW46c2VjcmV0' \
--header 'Content-Type: application/json'
```
