Publish via WebRTC/WHIP
본 Guide가 포함된 Section에서는 AWS Marketplace에서 구독할 수 있는 OvenMediaEngine Enterprise의 기능을 설명합니다.
WebRTC 전송을 지원하는 Live Encoder 또는 Web Browser에서, 별도의 플러그인 없이 Media Source를 WebRTC/WHIP Protocol을 이용하여 OvenMediaEngine Enterprise on AWS에 Publish할 수 있습니다.
또한, WebRTC Simulcast를 활용하면 하나의 송출 세션에서 여러 화질 트랙을 함께 전송할 수 있어, 시청자 네트워크 상태에 맞춰 더 안정적으로 초저지연 Live Streaming을 제공하고 트랜스코딩 부담을 줄이는 구성도 가능합니다.
본 Guide에서는 WebRTC/WHIP로 Stream을 Publish하는 절차와, 송출 이후 기본 재생 및 상태 확인 방법을 순서대로 안내합니다.
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
WebRTC/WHIP Publish 시작하기
본 예제에서는 가장 보편적으로 사용되는 Live Encoder Software인 OBS Studio (Option A)와 AirenSoft에서 제공하는 OvenPlayer Demo (Option B)를 사용했습니다.
[Option A] Live Encoder로 송출 (OBS Studio)

Open Broadcaster Software (OBS) Studio를 실행합니다.
OBS Studio가 설치되어 있지 않다면, 공식 링크 (https://obsproject.com/download)에서 다운로드하여설치하십시오.
송출할 Media Source (또는 Camera, Screen Capture 등)를 추가합니다.
이후 OBS 우측 하단의 [Settings]를 클릭합니다.

Settings 화면 좌측에서, [Stream] 탭을 선택합니다.
그리고 [Service]에서 [WHIP]을 선택한 뒤, Server 입력란에 아래 WebRTC/WHIP Ingress URL 패턴 중 하나를 입력하십시오.
Non-TLS:
WebRTC Input URL 형식:
ws://{Public IPv4 or Domain}:80/{app}/{stream}?direction=sendWHIP URL 형식:
http://{Public IPv4 or Domain}:80/{app}/{stream}?direction=whip
TLS:
WebRTC (TLS) Input URL 형식:
wss://{Public IPv4 or Domain}:443/{app}/{stream}?direction=sendWHIP (TLS) URL 형식:
https://{Public IPv4 or Domain}:443/{app}/{stream}?direction=whip
WebRTC Input 또는 WHIP URL의 패턴을 모르는 경우, Web Conosle에서 [Managed Stream]을 만든 후 [URLs] 탭에서 확인할 수 있습니다.

이후 [Output] 탭에서 원활한 초저지연 및 저지연 스트리밍을 위해
Keyframe Interval을 1초로,B-frames를 0으로 설정할 것을 권장합니다.
B-frames를 0으로 설정 (bframes=0)하는 이유는 WebRTC 최종 출력 시 끊김 현상을 방지하기 위함입니다.
위 예시는 Encoder로 x264를 선택했을 때의 설정 화면이며, 다른 Encoder를 선택할 경우 표시되는 항목이나 세부 구성은 달라질 수 있습니다. WebRTC를 최종 출력으로 사용하는 경우, B-frames는 0으로 설정하는 것을 권장합니다.
필요에 따라 [Audio], [Video] 등 각 탭에서 세부 설정을 조정한 뒤, [OK]를 클릭하여 OBS 메인 화면으로 돌아갑니다.
모든 설정이 완료되었다면, [Start Streaming]을 클릭하여 송출을 시작합니다.
[Option B] OvenPlayer Demo로 송출

Non-TLS의 경우 http://demo.ovenplayer.com/demo_input.html로, TLS의 경우 https://demo.ovenplayer.com/demo_input.html로 접속하십시오.
[WebRTC Ingress URL] 필드에 Non-TLS, TLS 구분하여, 아래 WebRTC/WHIP Ingress URL 패턴 중 하나를 입력하십시오.
Non-TLS:
WebRTC Input URL 형식:
ws://{Public IPv4 or Domain}:80/{app}/{stream}?direction=sendWHIP URL 형식:
http://{Public IPv4 or Domain}:80/{app}/{stream}?direction=whip
TLS:
WebRTC (TLS) Input URL 형식:
wss://{Public IPv4 or Domain}:443/{app}/{stream}?direction=sendWHIP (TLS) URL 형식:
https://{Public IPv4 or Domain}:443/{app}/{stream}?direction=whip
우측 [START] 버튼을 클릭하여, Publishing이 정상적인지 체크합니다.
WebRTC Input 또는 WHIP URL의 패턴을 모르는 경우, Web Conosle에서 [Managed Stream]을 만든 후 [URLs] 탭에서 확인할 수 있습니다.
Last updated
