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.
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).
[Option A] Publish from a Live Encoder (OBS Studio)

Launch Open Broadcaster Software (OBS) Studio.
If OBS Studio is not installed, download it from the official page (https://obsproject.com/download).
Add a media source you want to publish (e.g., Media Source, Camera. or Screen Capture).
Click [Settings] in the bottom-right corner of OBS.
In the left menu of Settings, select the [Stream] tab.
Under [Service], select [WHIP], then enter one of the WebRTC/WHIP Ingress URL patterns below in the Server field.
Non-TLS:
WebRTC Input URL Format:
ws://{Public IPv4 or Domain}:3333/app/stream?direction=sendWHIP URL Format:
https://{Public IPv4 or Domain}:3333/app/stream?direction=whip
TLS:
WebRTC (TLS) Input URL Format:
wss://{Public IPv4 or Domain}:3334/app/stream?direction=sendWHIP (TLS) URL Format:
https://{Public IPv4 or Domain}:3334/app/stream?direction=whip
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.

In the [Output] tab, apply the minimum required settings for sub-second or low-latency streaming: Keyframe Interval: 1 and B-frames: 0.
Depending on the encoder, menu names or layouts may differ. However, regardless of the encoder, make sure the Keyframe Interval is set to 1 second and B-frames are set to 0.
Adjust additional settings as needed in [Audio], [Video], and other tabs, then click [OK] to return to the main OBS window.
When all settings are ready, click [Start Streaming] to begin publishing.
[Option B] Publish using the OvenPlayer Demo

For Non-TLS, open: http://demo.ovenplayer.com/demo_input.html or For TLS, open: https://demo.ovenplayer.com/demo_input.html.
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.
Non-TLS:
WebRTC Input URL Format:
ws://{Public IPv4 or Domain}:3333/app/stream?direction=sendWHIP URL Format:
https://{Public IPv4 or Domain}:3333/app/stream?direction=whip
TLS:
WebRTC (TLS) Input URL Format:
wss://{Public IPv4 or Domain}:3334/app/stream?direction=sendWHIP (TLS) URL Format:
https://{Public IPv4 or Domain}:3334/app/stream?direction=whip
Click [START] on the right to verify that publishing is working properly.
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.
Last updated
