> For the complete documentation index, see [llms.txt](https://docs.link11.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.link11.com/product-guides/secure-cdn/faq/video-streaming.md).

# Video Streaming

CDN Streaming is a new service by Link11 which allows live streaming over the CDN network.

{% hint style="info" %}
This service runs a module which only allows the H.264 Codec for uploading.
{% endhint %}

The live streaming server formats the streams so that the regular CDN can work with and distribute the content (as audio/video streams).

***

### Provider End <a href="#id-securecdn-streaming-providerend" id="id-securecdn-streaming-providerend"></a>

The live streaming upload works by providing the customer with a URL (i.e.: [live.l11cdn.net](http://live.l11cdn.net/) or a geo-based URL: [fra.l11.cdn.net](http://fra.l11.cdn.net/)) which connects to a livestream ingestion server.

<figure><img src="/files/7Rp1cpUy5OcvTVCGcVMa" alt=""><figcaption><p>Ingestion URL</p></figcaption></figure>

{% hint style="info" %}
Currently the geo-based distribution only works over the Frankfurt node. In the future, this will be available for all Link11 core nodes.
{% endhint %}

The customer also gets provided with an API key: a random 16-character key (see example URL above) which has to be used in combination with the ingestion URL. This API key gets generated in the WebGUI. The API Key has configuration options (Codec profiles, quality levels and IP ACL) which allow customers to customize the endpoint.

**Reencoding Quality Levels:**

| Levels | Available Resolution    |
| ------ | ----------------------- |
| 1      | 240p                    |
| 2      | 480p, 240p              |
| 3      | 720p, 480p, 240p        |
| 4      | 1080p, 720p, 480p, 240p |

Depending on the program which gets used for live streaming ([OBS](https://obsproject.com/), FFMPEG, etc.) a URL config path can be added. (In other words, this is where the ingestion URL should be entered.)

***

### Receiver End <a href="#id-securecdn-streaming-receiverend" id="id-securecdn-streaming-receiverend"></a>

The live stream receiving is tied to an Access URL (see example URL below) which uses the same API key which the customer can configure to a CDN location:

1. Create sub folder on CDN instance (i.e.: \~/livestream)
2. Tie API key to this location
3. Decide between HLS or DASH Video streaming
4. Video integration over DASH player or native Video integration which points to URL

<figure><img src="/files/zHGE4Pi5qZ5wbyUinTup" alt=""><figcaption><p>Access URL</p></figcaption></figure>

Once the customer stops sending data to the endpoint, the livestream server starts a 60 second timer after which the stream stops working, and individual stream segments get deleted.

***

### FAQ <a href="#id-securecdn-streaming-faq" id="id-securecdn-streaming-faq"></a>

*Can streams be recorded on the CDN?*\
Currently streams are being recorded on the same filesystem as the cache of the livestream. The customer can download these files.

*Is the API key static?*\
Yes. It is reusable anytime for different streams. It will work again.

*Which codecs get supported?*\
Browsers support all different kind of codecs, which means that the viewing side is flexible. The ingestion side unfortunately only supports H.264, since we use the RTMP module for converting.&#x20;

In the future, this should change so that RTMP only gets used for ingestion, and the output can be whatever the customer prefers (seamless segmenting needed).&#x20;
