SRT

OvenMediaEngine은 SRT 호환 플레이어를 사용하거나 SRT를 지원하는 다른 시스템과의 연동을 통해 RTMP, WebRTC, SRT, MPEG-2 TS 및 RTSP를 통해 전달된 스트림의 재생을 지원합니다.

Title
Functions

Container

MPEG-2 TS

Transport

SRT

Codec

H.264, H.265, AAC

Default URL Pattern

srt://{OvenMediaEngine Host}:{SRT Port}?streamid={Virtual Host Name}/{App Name}/{Stream Name}/master

현재 OvenMediaEngine은 SRT 재생에 H.264, H.265, AAC 코덱을 지원하여 SRT 프로바이더(provider) 기능과 동일한 호환성을 보장합니다.

Configuration

Bind

SRT가 수신(listen)할 포트를 구성하려면 다음 설정을 사용하십시오:

<Server>
    <Bind>
        <Publishers>
            <SRT>
                <Port>9998</Port>
                <!-- <WorkerCount>1</WorkerCount> -->
                <!--
                    To configure SRT socket options, you can use the settings shown below.
                    For more information, please refer to the details at the bottom of this document:
                    <Options>
                        <Option>...</Option>
                    </Options>
                -->
            </SRT>
            ...
        </Publishers>
    </Bind>
</Server>
circle-exclamation

Application

각 애플리케이션에 대해 SRT 재생 활성화 여부를 제어할 수 있습니다. 이 기능을 활성화하려면 아래와 같이 설정을 구성하십시오:

SRT client and streamid

라이브 소스로 SRT를 사용할 때와 마찬가지로, 단일 포트에서 여러 스트림을 서비스할 수 있습니다. 각 스트림을 구분하려면 streamid{Virtual Host Name}/{App Name}/{Stream Name}/{Playlist Name} 형식으로 설정해야 합니다.

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

FFmpeg, OBS Studio 및 srt-live-transmit과 같은 SRT 클라이언트는 SRT URL에 쿼리 스트링으로 streamid를 지정할 수 있도록 지원합니다. 예를 들어, 특정 SRT 스트림을 재생하려면 srt://{OvenMediaEngine Host}:{SRT Port}?streamid={streamid}와 같이 SRT URL에 streamid를 지정할 수 있습니다.

Playback

SRT 스트리밍이 올바르게 작동하는지 확인하기 위해 FFmpeg 또는 OBS Studio와 같은 도구를 사용하여 기능을 검증할 수 있습니다. 다음은 생성된 SRT URL을 사용하여 스트림을 재생하는 방법에 대한 안내입니다.

플레이어에서 사용될 SRT URL은 다음과 같이 구성됩니다:

SRT 퍼블리셔는 각 오디오 트랙과 비디오 트랙의 첫 번째 트랙, 그리고 모든 데이터 트랙을 포함하여 master라는 이름의 기본 재생 목록(playlist)을 생성합니다.

예를 들어, 192.168.0.160의 포트 9998에서 수신 대기 중인 OME로부터 기본 재생 목록이 포함된 default/app/stream 스트림을 재생하려면 다음 SRT URL을 사용하십시오:

srt://192.168.0.160:9998?streamid=default/app/stream/master

위와 같이 SRT URL을 SRT 클라이언트에 입력할 수 있습니다. 아래에 각 클라이언트에 대한 SRT URL 입력 방법을 설명합니다.

FFplay (FFmpeg/FFprobe)

FFplay, FFmpeg 또는 FFprobe로 SRT를 테스트하려면 명령어 옆에 SRT URL을 입력하기만 하면 됩니다. 예를 들어 FFplay를 사용할 경우 다음 명령어를 사용할 수 있습니다:

오디오 트랙이 여러 개인 경우 -ast 매개변수를 사용하여 하나를 선택할 수 있습니다.

OBS Studio

OBS Studio는 SRT 스트림을 입력 소스로 추가하는 기능을 제공합니다. 이 기능을 사용하려면 아래 단계에 따라 Media Source(미디어 소스)를 추가하십시오:

추가가 완료되면 아래와 같이 SRT 스트림이 소스로 표시됩니다. 이 추가된 소스는 다른 미디어 소스와 마찬가지로 사용할 수 있습니다.

VLC

VLC에서도 SRT 스트림을 재생할 수 있습니다. 메뉴에서 Media(미디어) > Open Network Stream(네트워크 스트림 열기)을 선택하고 SRT URL을 입력하기만 하면 됩니다:

Using Playlist

circle-info

OvenMediaEngine은 재생 목록 지정 여부와 관계없이 자동으로 기본 재생 목록을 생성하므로 이 단계는 선택 사항입니다.

SRT를 통해 스트림을 재생할 때, 적응형 비트레이트 스트리밍(ABR)을 위해 구성된 재생 목록을 사용하여 특정 오디오/비디오 품질(rendition)만 전달되도록 할 수 있습니다.

이 기능을 활용하면 다양한 코덱, 프로파일 또는 기타 변형을 가진 서비스를 제공하여 다양한 스트리밍 요구 사항을 충족할 수 있습니다.

Configuration for playlists

circle-exclamation
circle-info

SRT는 MPEG-TS 형식으로 패키징되므로 재생 목록을 사용하려면 EnableTsPackaging 옵션을 true로 설정해야 합니다.

Playback using the playlists

특정 재생 목록을 사용하여 스트림을 재생하려면, 아래와 같이 SRT 재생 URL에 Playlist.FileName을 재생 목록 이름으로 지정하십시오:

기본 재생 목록을 사용한 SRT 재생 URL

360p 재생 목록을 사용한 SRT 재생 URL

1080p 재생 목록을 사용한 SRT 재생 URL

SRT Socket Options

<Options>를 사용하여 OvenMediaEngine 서버의 SRT 소켓 옵션을 구성할 수 있습니다. 이는 SRT 암호화를 설정할 때 특히 유용하며, 다음과 같이 구성하여 암호(passphrase)를 지정할 수 있습니다:

SRT 소켓 옵션에 대한 자세한 내용은 https://github.com/Haivision/srt/blob/v1.5.2/docs/API/API-socket-options.md#list-of-optionsarrow-up-right 를 참조하십시오.

Last updated