EnterpriseOnly

Multicast

OvenMediaEngine Enterprise 0.20.6.0-1 버전부터 Multicast 기능을 제공합니다.

OvenMediaEngine은 UDP Multicast로 전달되는 MPEG-2 TS Input을 Pull할 수 있습니다. Multicast Provider는 multicast:// URL Scheme을 사용하며, StreamMap 또는 Stream Creation API를 통해 Stream을 생성할 수 있습니다.

Item
Description

Container

MPEG-2 TS

Transport

UDP Multicast

Codec

H.264, H.265, AAC

Additional Features

SCTE-35 event forwarding

Configuration

Multicast를 사용하려면 <Application><Provider>를 활성화해야 합니다.

Bind

Bind 설정은 선택 사항이며, Input Socket 처리 방식이나 UDP 수신 버퍼 크기를 조정해야 할 때 사용합니다:

<!-- /Server/Bind -->
<Bind>
    <Providers>
        ...
        <Multicast>
            <WorkerCount>1</WorkerCount>
            <ThreadPerSocket>false</ThreadPerSocket>
            <ReceiveBufferSize>8388608</ReceiveBufferSize>
        </Multicast>
        ...
    </Providers>
</Bind>
Property
Description

WorkerCount

Input Socket을 처리하는 Worker Thread 수입니다.

ThreadPerSocket

각 Socket마다 전용 Thread를 사용할지 여부를 설정합니다.

true로 설정하면 WorkerCount 대신 Socket별 Thread가 사용됩니다.

ReceiveBufferSize

UDP 수신 버퍼의 크기입니다. 높은 Bitrate나 큰 Burst가 발생하는 환경에서는 이 값을 조정하십시오.

Application

아래와 같이 Application별로 Multicast Provider를 활성화할 수 있습니다:

StreamMap

아래 예제처럼 Multicast Stream을 StreamMap에 등록하면 Application이 시작될 때 자동으로 생성됩니다:

Property
Description

Name

OvenMediaEngine 내부에 생성될 Stream 이름입니다.

Source

Multicast Input URL입니다.

ProbeTimeoutMsec

Input Metadata를 기다리는 최대 시간 (밀리초)입니다.

  • 기본값은 3000입니다.

또한, 같은 Application 내의 여러 Stream이 동일한 Multicast Source를 참조할 수 있습니다.

Pull timeout and retry

Input timeout과 retry 횟수를 Origins/Properties에서 설정할 수 있습니다:

Property
Description

NoInputFailoverTimeout

설정된 시간 동안 Input Packet이 도착하지 않으면 Stream을 중지하고 재연결을 시도합니다.

RetryCount

재연결을 시도하는 최대 횟수입니다.

Source URL format

다음 URL 형식을 지원합니다:

지원하는 Query Parameter는 interface 하나입니다:

Property
Description

interface

Multicast 그룹에 참여할 때 사용할 NIC 이름입니다. 이를 생략하면 OS가 Interface를 자동으로 선택합니다.

제한 사항:

  • Path는 지원하지 않습니다. 따라서, URL Path는 비어 있거나 /여야 합니다.

  • Hostname을 사용할 수 있습니다. 이 경우 OvenMediaEngine이 Hostname을 해석한 뒤 첫 번째 결과를 사용합니다.

  • 해석된 Hostname 결과는 Multicast IP 대역에 있어야 합니다.

Stream Creation API를 사용하여 Pull Stream 생성하기

앞서 설명한 것과 같이, Multicast Stream은 Stream Creation API를 이용해서 생성할 수 있습니다:

자세한 내용은 REST API 문서를 참조하십시오.

Notes

  • 동일한 Group과 Port에서 새로운 Sender가 시작되면, Provider가 이를 감지하고 재연결을 시도합니다.

  • 재연결 중에는 새로운 Input Track Layout을 기존에 Publish된 Layout과 비교합니다.

  • Stream이 Publish되려면 Input Metadata가 ProbeTimeoutMsec 시간 내에 준비되어야 합니다.

Last updated