# Scheduled Channels

## Scheduled Channels

Scheduled Channel is a feature that allows you to set a Live Channel by referencing pre-recorded Media Files or Live Streams, and the Live Channel is configured and played back according to the Schedule File.

<figure><img src="https://content.gitbook.com/content/xo7moYXTh3yBG01Dy49w/blobs/D74aTtPQ7LakWhV5ebZT/image.png" alt=""><figcaption></figcaption></figure>

Scheduled Channels are distinguishable as they are <mark style="color:yellow;">categorized in the Stream List</mark>, but if you select the stream and go to the Stream Monitoring screen, you can easily check whether the Scheduled Channel is <mark style="color:yellow;">currently referencing a Media File or Live by marking</mark> it with the path at the top left of the OvenPlayer where the Stream is playing.

## Scheduled Channel Tab

<figure><img src="https://content.gitbook.com/content/xo7moYXTh3yBG01Dy49w/blobs/L6vyKIZkA6uHDxbCpPPv/image.png" alt=""><figcaption></figcaption></figure>

* <mark style="color:yellow;">**Stream Playback**</mark>: You can play the Scheduled Channel stream through the embedded OvenPlayer after selecting the options, such as Output Stream, Playlist, Protocol, etc. on the left side of the Stream Monitoring screen.
* <mark style="color:yellow;">**Status**</mark>: You can check the Ingress/Egress metadata and statistics of the Scheduled Channel.
* <mark style="color:yellow;">**URLs**</mark>: Since Scheduled Channels consist of Media File or Live, Ingress follows the Scheduled Program set in OvenMediaEngine. Therefore, in the URLs tab, you can only see Egress URLs.

{% hint style="info" %}

* Supported Egress Protocols: WebRTC, WebRTC/TLS, LLHLS, LLHLS/TLS, HLS
  {% endhint %}

- <mark style="color:yellow;">**Recording**</mark>: You can check the recording status of the Scheduled Channel.
- <mark style="color:yellow;">**Push Publishing**</mark>: You can check the Push Publishing status that transmits the Scheduled Channel stream to other platforms.
- <mark style="color:yellow;">**Dump**</mark>: You can check the LLHLS Dump status of the Scheduled Channel.

## Scheduled Channel Stream Status Monitoring

### Metadata and Statistics

<figure><img src="https://content.gitbook.com/content/xo7moYXTh3yBG01Dy49w/blobs/ZqQi9t1Cu2oKILFA67sv/image.png" alt=""><figcaption></figcaption></figure>

* <mark style="color:yellow;">**Ingress**</mark>: You can check the Ingress metadata and statistics such as Protocol, Source location, Track, Input Traffic, etc.
* <mark style="color:yellow;">**Egress**</mark>: You can check the Egress metadata and statistics such as Output Profile, Track, Output Traffic, etc.
  * *If multiple Output Profiles are configured in OvenMediaEngine, it can work as ABR.*

## Schedules

<figure><img src="https://content.gitbook.com/content/xo7moYXTh3yBG01Dy49w/blobs/RxXvYtUJSJOVspDcyVkL/image.png" alt=""><figcaption></figcaption></figure>

### Schedule File

The Schedule Channel operates according to the Schedule File (`<Stream_Name>.sch`) in the `ScheduleFileDir` path. OvenMediaEngine analyzes the Schedule File, updates the Schedule Channel when the content changes, and plays the corresponding Stream according to the schedule. Conversely, if the Schedule File is deleted, the stream is deleted.

### Fallback Program

This is a function that automatically switches the currently playing screen when there is no scheduled program at the current time or an error occurs in the schedule. When the schedule is updated or the schedule returns to normal, it switches back to the original program. Both Media File and Live can be used as sources for the Fallback Program, but it is common to use Media File that can be played continuously.

### Program

Shows the program configured in the Schedule File. The program can be configured as Media File or Live, and the set program is played sequentially.

{% hint style="info" %}
Detailed Guide: <https://airensoft.gitbook.io/ovenmediaengine/live-source/scheduled-channel#schedule-files>
{% endhint %}

## Play Stream

<figure><img src="https://content.gitbook.com/content/xo7moYXTh3yBG01Dy49w/blobs/JbtMStgPusEwlOmmksDM/image.png" alt=""><figcaption></figcaption></figure>

Depending on the playback options you have chosen, such as Output Stream or Playlist (depending on OvenMediaEngine settings), Protocol selection (LLHLS or WebRTC), Certificate availability (TLS or Non-TLS), etc., a Playback URL of the Stream is displayed. You can <mark style="color:yellow;">play it through OvenPlayer or an external player using the Playback URL</mark>.

### Playback URL

<figure><img src="https://content.gitbook.com/content/xo7moYXTh3yBG01Dy49w/blobs/vVbL4aoOq8QqhNY60Fbr/image.png" alt=""><figcaption></figcaption></figure>

* <mark style="color:yellow;">**Ingress URL**</mark>: OvenMediaEngine ingresses streams according to the Schedule File you set, there is no Ingress URL displayed separately.
* <mark style="color:yellow;">**Egress URL**</mark>: You can see the stream playback URL address for each Output Stream, Playlist, and Protocol set in OvenMediaEngine.

{% hint style="info" %}
You can easily copy the URL by clicking the Copy icon at the end of each URL.
{% endhint %}

## Recording Status

<figure><img src="https://content.gitbook.com/content/xo7moYXTh3yBG01Dy49w/blobs/Gb5DupehpvJ8YoouWmsx/image.png" alt=""><figcaption><p>Marking is displayed when Recording in the Stream List</p></figcaption></figure>

Recording is a function that records when a Scheduled Channel is Live according to its schedule. When the Scheduled Channel is recording, a <mark style="color:yellow;">Recording mark is added to the Stream Box</mark> in the Stream List so that you can see at a glance that it is recording. You can also check the detailed recording status through the Recording tab in Stream Monitoring.

Also, you can use and control Recording using the API.

{% hint style="info" %}

* Recording Settings Guide: <https://airensoft.gitbook.io/ovenmediaengine/recording>
* Recording API Guide: <https://airensoft.gitbook.io/ovenmediaengine/rest-api/v1/virtualhost/application/recording>
  {% endhint %}

### Start Recording | 0.17.1.2+

Please refer to the [#start-recording-or-0.17.1.2](https://ovenmediaengine-enterprise.gitbook.io/guide/exclusive/web-console/web-console-overview/managed-and-instant-streams#start-recording-or-0.17.1.2 "mention") as the Recording function works the same regardless of whether it is a Managed Stream, Instant Stream, Scheduled Channel, or Multiplex Channel.

## Push Publishing Status

<figure><img src="https://content.gitbook.com/content/xo7moYXTh3yBG01Dy49w/blobs/Bn9wDPID6GZL48YRHqxw/image.png" alt=""><figcaption><p>Marking is displayed when Push Publishing in the Stream List</p></figcaption></figure>

Push Publishing is a feature that retransmits a Scheduled Channel stream to another platform. While the Scheduled Channel is being re-streamed, you can see at a glance that it is <mark style="color:yellow;">being re-broadcasted by seeing a Push Publishing mark in the Stream List</mark>. You can also check the detailed Push Publishing status through the Push Publishing tab in the Stream Monitoring screen.

In addition, you can use and control Push Publishing using the API.

{% hint style="info" %}

* Push Publishing Settings Guide: <https://airensoft.gitbook.io/ovenmediaengine/recording>
* Push Publishing API Guide: <https://airensoft.gitbook.io/ovenmediaengine/rest-api/v1/virtualhost/application/push>
  {% endhint %}

### Start Push Publishing | 0.17.1.2+

Please refer to the [#start-push-publishing-or-0.17.1.2](https://ovenmediaengine-enterprise.gitbook.io/guide/exclusive/web-console/web-console-overview/managed-and-instant-streams#start-push-publishing-or-0.17.1.2 "mention") as the Push Publishing function works the same regardless of whether it is a Managed Stream, Instant Stream, Scheduled Channel, or Multiplex Channel.

## (LL)-HLS Dump Status

(LL)-HLS Dump is a feature that dumps the `.m3u8` and all track segments when the Scheduled Channel is played back as (LL)-HLS, allowing you to provide the file to VoD immediately up to the dumped point, while Live. You can check the detailed (LL)-HLS Dump status through the Dump tab on the Stream Monitor page while the stream is being dumped.

In addition, you can use and control (LL)-HLS Dump using the API.

{% hint style="info" %}

* LLHLS Dump Settings Guide: <https://airensoft.gitbook.io/ovenmediaengine/streaming/low-latency-hls#dump>
* LLHLS Dump API Guide: <https://airensoft.gitbook.io/ovenmediaengine/rest-api/v1/virtualhost/application/stream/hls-dump>
  {% endhint %}

### Start (LL)-HLS Dump | 0.17.1.2+

Please refer to the [#start-ll-hls-dump-or-0.17.1.2](https://ovenmediaengine-enterprise.gitbook.io/guide/exclusive/web-console/web-console-overview/managed-and-instant-streams#start-ll-hls-dump-or-0.17.1.2 "mention") as the (LL)-HLS Dump function works the same regardless of whether it is a Managed Stream, Instant Stream, Scheduled Channel, or Multiplex Channel.
