SRT

SRT(Secure Reliable Transport)는 오픈소스 비디오 전송 프로토콜이자 기술 스택으로, 예측하기 어려운 네트워크 환경에서도 스트리밍 성능을 최적화하고 보안이 적용된 스트림과 쉬운 방화벽 통과 기능을 제공하여 열악한 네트워크 환경에서도 최상의 라이브 비디오 품질을 제공합니다. 우리는 SRT를 RTMP의 훌륭한 대안 중 하나로 보고 있으며, OvenMediaEngine은 SRT를 통해 비디오 스트리밍을 수신할 수 있습니다. SRT에 대한 자세한 정보는 SRT 얼라이언스 웹사이트arrow-up-right를 방문하십시오.

Item
Description

Container

MPEG-2 TS

Transport

SRT

Codec

H.264, H.265, AAC

Additional Features

Multi-track Audio

SRT는 라이브 스트림을 전송할 때 MPEG-TS 형식을 사용합니다. 이는 RTMP와 달리 다양한 코덱을 지원할 수 있음을 의미합니다. 현재 OvenMediaEngine은 SRT를 통해 H.264, H.265 및 AAC 코덱을 지원합니다.

Configuration

Bind

SRT 리스닝 포트는 다음과 같이 설정합니다.

<!-- /Server/Bind -->
<Providers>
    ...
    <SRT>
        <Port>9998,9999</Port>
        <WorkerCount>1</WorkerCount>
        <ThreadPerSocket>true</ThreadPerSocket>
        
        <StreamMap>
            <Stream>
                <Port>9999</Port>
                <StreamPath>default/app/stream</StreamPath>
            </Stream>
        </StreamMap>
    </SRT>
    ...
</Providers>
Property
Description

Port

SRT 연결을 수신할 포트를 지정합니다. 콤마로 구분하여 여러 포트를 동시에 바인딩할 수 있습니다.

WorkerCount

  • Default : 1

SRT 소켓 처리를 위한 워커 스레드 수를 정의합니다. 세션 수가 많아질 경우 값을 증가시키면 트래픽을 효율적으로 분산할 수 있습니다.

ThreadPerSocket

  • Default : false

각 소켓에 대해 전용 스레드를 사용할지 여부를 결정합니다. true로 설정하면 각 세션마다 새로운 스레드가 생성되고 종료 시 함께 종료되며, 이 경우 WorkerCount는 무시됩니다.

StreamMap

streamid를 지원하지 않는 인코더를 위한 매핑 기능을 제공합니다. 특정 포트로 streamid 없이 연결이 들어올 경우, 해당 포트를 지정된 StreamPath로 직접 매핑합니다.

circle-exclamation

Application

SRT 입력은 각 애플리케이션 단위로 활성화하거나 비활성화할 수 있습니다. 아래 설정은 해당 애플리케이션에서 SRT 입력 기능을 활성화합니다.

Encoders and streamid

FFmpeg, OBS Studio, srt-live-transmit 등 다양한 인코더가 SRT를 지원합니다. 각 인코더에서 SRT를 통해 스트림을 전송하는 방법은 해당 인코더의 문서를 참고해야 합니다. 여기서는 OBS Studio를 예로 설명합니다.

OvenMediaEngine은 SRT의 streamid를 사용하여 각 스트림을 구분합니다. 이는 MPEG-TS/UDP와 달리 하나의 포트에서 여러 개의 SRT 스트림을 수신할 수 있음을 의미합니다. streamid에 대한 자세한 내용은 Haivision 공식 문서arrow-up-right를 참고하시기 바랍니다.

따라서 SRT 인코더가 OvenMediaEngine으로 스트림을 전송하려면 streamid에 다음 정보가 포함되어야 합니다.

streamid = {Virtual Host Name}/{App Name}/{Stream Name}

OBS Studio

OBS Studio 25.0 이상 버전은 SRT를 지원합니다. 자세한 내용은 OBS 공식 문서arrow-up-right를 참고하시기 바랍니다. OvenMediaEngine 주소는 OBS Studio의 Server 항목에 다음과 같이 입력합니다. SRT를 사용할 경우 Stream Key는 비워 둡니다.

srt://{OvenMediaEngine Host}:{SRT Port}?streamid={streamid}

Blackmagic Web Presenter

Blackmagic Web Presenter, ATEM Mini Pro 또는 유사 장비에서 SRT로 OvenMediaEngine에 스트리밍하려면 "Custom URL H264/H265" 플랫폼 옵션을 선택하고 다음과 같은 형식을 사용합니다.

Multiple Audio Track

SRT Provider는 여러 개의 오디오 트랙 입력을 지원합니다. 이 기능은 LLHLS Publisher에 자동으로 적용됩니다.

입력 오디오 트랙에 라벨을 지정하려면 다음과 같이 설정할 수 있습니다. 이 설정은 LLHLS 재생 시 플레이어의 오디오 선택 UI에 영향을 줍니다.

SRT Socket Options

<Options>를 사용하여 OvenMediaEngine 서버의 SRT 소켓 옵션을 설정할 수 있습니다. 이는 특히 SRT 암호화 설정에 유용하며, 다음과 같이 패스프레이즈를 지정할 수 있습니다.

SRT 소켓 옵션에 대한 자세한 내용은 다음 문서를 참고하시기 바랍니다.

Last updated