Publish via WebRTC/WHIP

This section, which includes this guide, describes the features of OvenMediaEngine Enterprise available for subscription on AWS Marketplace.

You can publish a media source to OvenMediaEngine Enterprise on AWS via WebRTC/WHIP Protocol from a WebRTC-capable live encoder or a web browser, with no additional plug-ins required.

In addition, by leveraging WebRTC Simulcast, you can send multiple quality layers within a single publishing session. This helps deliver more stable sub-second live streaming by adapting to each viewer’s network conditions, and it can also reduce transcoding load depending on your workflow.

This guide walks you through how to publish a stream via WebRTC/WHIP and how to perform basic playback and status checks after publishing.

Item
Supported

Container

RTP / RTCP

Security

DTLS, SRTP

Transport

ICE

Error Correction

ULPFEC (VP8, H.264), In-band FEC (Opus)

Codec

VP8, H.264, H.265, Opus

Signaling

Self-Defined Signaling Protocol, Embedded WebSocket-based Server / WHIP

Additional Features

Simulcast

Start Publishing a WebRTC/WHIP Stream

In this example, we use OBS Studio (Option A), one of the most commonly used live encoder softwares, and the OvenPlayer Demo provided by AirenSoft (Option B).

1

[Option A] Publish from a Live Encoder (OBS Studio)

  1. Launch Open Broadcaster Software (OBS) Studio.

  2. Add a media source you want to publish (e.g., Media Source, Camera. or Screen Capture).

  3. Click [Settings] in the bottom-right corner of OBS.

  4. In the left menu of Settings, select the [Stream] tab.

  5. Under [Service], select [WHIP], then enter one of the WebRTC/WHIP Ingress URL patterns below in the Server field.

    1. Non-TLS:

      • WebRTC Input URL Format: ws://{Public IPv4 or Domain}:3333/app/stream?direction=send

      • WHIP URL Format: https://{Public IPv4 or Domain}:3333/app/stream?direction=whip

    2. TLS:

      • WebRTC (TLS) Input URL Format: wss://{Public IPv4 or Domain}:3334/app/stream?direction=send

      • WHIP (TLS) URL Format: https://{Public IPv4 or Domain}:3334/app/stream?direction=whip

circle-info

If you are not sure about the WebRTC Input or WHIP URL pattern, create a [Managed Stream] in the Web Console and check it under the [URLs] tab.

  1. In the [Output] tab, apply the minimum required settings for sub-second or low-latency streaming: Keyframe Interval: 1 and B-frames: 0.

circle-check
  1. Adjust additional settings as needed in [Audio], [Video], and other tabs, then click [OK] to return to the main OBS window.

  2. When all settings are ready, click [Start Streaming] to begin publishing.

2

[Option B] Publish using the OvenPlayer Demo

  1. In the [WebRTC Ingress URL] field, enter one of the WebRTC/WHIP Ingress URL patterns below, depending on whether you use Non-TLS or TLS.

    1. Non-TLS:

      • WebRTC Input URL Format: ws://{Public IPv4 or Domain}:3333/app/stream?direction=send

      • WHIP URL Format: https://{Public IPv4 or Domain}:3333/app/stream?direction=whip

    2. TLS:

      • WebRTC (TLS) Input URL Format: wss://{Public IPv4 or Domain}:3334/app/stream?direction=send

      • WHIP (TLS) URL Format: https://{Public IPv4 or Domain}:3334/app/stream?direction=whip

  2. Click [START] on the right to verify that publishing is working properly.

circle-info

If you are not sure about the WebRTC Input or WHIP URL pattern, create a [Managed Stream] in the Web Console and check it under the [URLs] tab.

3

Check Stream Status and Playback in the Web Console

  • In the Web Console, check whether the stream published from OBS or the OvenPlayer Demo appears in the list.

Last updated