OvenMediaEngine Enterprise
한국어
한국어
  • About
    • Introduction
    • Release Notes
      • 0.18.2
      • 0.18.1
      • 0.18.0
      • 0.17.3
      • 0.17.2
      • 0.17.1
      • 0.17.0
      • 0.16.8
      • 0.16.7
      • 0.16.6
      • 0.16.5
      • 0.16.4
  • Installation
    • Getting Started
      • Getting Started with Ubuntu
      • Getting Started with RHEL
      • Getting Started with Docker
    • Configuration Structure Overview
  • Web Console
    • Getting Started with Web Console
    • Web Console Overview
      • Sign In
      • Change Password
      • Web Console Home
      • Stream List
        • Managed and Instant Streams
        • Scheduled Channels | 0.16.4.0+
        • Multiplex Channels | 0.16.5.0+
      • Event Monitoring | 0.18.1.0+
        • Event Configuration
        • Event Specification
      • Web Console Publishing | 0.18.1.2+
      • Logs
      • Configuration Files
      • Restart
  • Web Console Settings
    • Server Settings
    • Live Sources (Ingress Protocols) Settings
    • ABR and Transcoding Settings
    • Streaming (Egress Protocols) Settings
    • TLS Encryption Settings | 0.14.0.0+
    • Access Control Settings
    • Thumbnail Settings | 0.15.7.0+
    • Recording Settings | 0.16.5.0+
    • Push Publishing Settings | 0.15.14.0+
    • REST API Settings | 0.11.0.0+
    • Alert Settings | 0.15.11.0+
  • CDN Compatibility
    • Origin Server Redundancy
    • Origin Cache Control
  • Protection
    • RTMP Authentication | 0.17.2.0+
    • Proxy Protocol Integration | 0.16.6.2+
    • Digital Rights Management (DRM)
      • OvenMediaEngine Configuration for DRM | 0.16.0.0+
      • PallyCon DRM Configuration | 0.16.4.0+
  • Performance
    • Hardware-Accelerated Video Encoding | 0.16.4.0+
  • Event Insertion
    • Insert SEI into H.264 (AVC) Streams | v0.18.0.0+
    • Insert AMF0 messages in RTMP Push Publisher | 0.17.3.0+
  • Monetization
    • Insert Ad Markers (EXT-X-CUE-OUT/EXT-X-CUE-IN) | v0.17.3.0+
    • Insert onCuePoint messages into YouTube Live | 0.17.3.0+
  • Advanced Management
    • Generate Audio PTS | 0.17.2.3+
    • API Storage | 0.17.0.0+
    • Restart Application | 0.17.0.0+
    • Record Delivery | 0.16.5.0+
    • Add Delay to the Stream
    • Control Default Playlist Creation
  • REST API
    • v2
      • Statistics
        • Current
Powered by GitBook
On this page
  • (LL)-HLS Origin Server 이중화 설정하기
  • Default Query String 사용하기
  • Query String 승계하기
  • Cache 유효성 검사
  1. CDN Compatibility

Origin Server Redundancy

(LL)-HLS Origin Server 이중화 설정하기

OvenMediaEngine의 Low-Latency HLS Origin Server (또는 HLS Origin Server)를 이중화로 구성하는 경우, Origin 이중화 설정을 통해 Primary Origin Server와 Secondary Origin Server의 Segment 파일명을 동일하게 만들 수 있습니다.

이를 통해, Edge Server 또는 CDN Cache Server는 Primary Origin Server에 장애가 발생하면 Primary Origin Server 대신 Secondary Origin Server를 연결하여 동일한 콘텐츠를 다운로드 받을 수 있습니다.

다음과 같이 Server.xml에서 <Publishers><LLHLS><ServerTimeBasedSegmentNumbering> ( 또는 <Publishers><HLS><ServerTimeBasedSegmentNumbering>)을 활성화 하십시오:

<?xml version="1.0" encoding="UTF-8"?>
<Server version="8">
  ...
  <VirtualHosts>
    <VirtualHost>
      <Applications>
        <Application>
          <Publishers>
            ...
            <LLHLS>
              <ServerTimeBasedSegmentNumbering>true</ServerTimeBasedSegmentNumbering>
            </LLHLS>
          </Publishers>
        </Application>
      </Applications>
    </VirtualHost>
  </VirtualHosts>
</Server>

이 기능은 서버 시간을 기준으로 Segment 파일명을 생성하므로 Primary Origin Server와 Secondary Origin Server의 시간을 동기화 해야 합니다.

Default Query String 사용하기

사용자는 Low-Latency HLS (또는 Legacy HLS)의 기본 동작 방식을 <DefaultQueryString>을 통해 제어 할 수 있습니다.

다음과 같이 Server.xml의 <Publishers><LLHLS><DefaultQueryString> (또는 <Publishers><HLS><DefaultQueryString>)에서 설정 할 수 있습니다:

<?xml version="1.0" encoding="UTF-8"?>
<Server version="8">
  ...
  <VirtualHosts>
    <VirtualHost>
      <Applications>
        <Application>
          <Publishers>
            ...
            <LLHLS>
              <DefaultQueryString>
		        <Query>
				  <Key>_HLS_legacy</Key>
				  <Value>NO</Value>
		        </Query>
		        <Query>
				  <Key>_HLS_rewind</Key>
				  <Value>YES</Value>
			    </Query>
			  </DefaultQueryString>
            </LLHLS>
          </Publishers>
        </Application>
      </Applications>
    </VirtualHost>
  </VirtualHosts>
</Server>

Playback URL에 이미 Query 문자열이 추가 되어 있는 경우 이 설정은 무시됩니다.

Key
Value
Description

_HLS_legacy

YES | NO * Default: NO

_HLS_legacy 값을 YES로 설정하면, LL-HLS Playlist 내에 Partial Segment 정보를 제거하여 Legacy HLS (HLSv6 등)와 동일하게 동작합니다. * LL-HLS Only

_HLS_rewind

YES | NO * Default: YES

Query String 승계하기

사용자가 <PropagateQueryString> 을 활성화하면, 최초 Master Playlist 요청에 포함된 Query String이 하위 모든 요청 (Media Playlist, Segment, Partial Segment)에 자동으로 포함됩니다. Query String에 Session Key, Authentication Token 등을 포함시켜 이 기능을 활용한다면, 모든 요청을 CDN에서 검사할 수 있기 때문에 콘텐츠 접근 제어가 용이합니다.

다음과 같이 Server.xml의 <Publishers><LLHLS><PropagateQueryString> (또는 <Publishers><HLS><PropagateQueryString>)에서 설정 할 수 있습니다:

<?xml version="1.0" encoding="UTF-8"?>
<Server version="8">
  ...
  <VirtualHosts>
    <VirtualHost>
      <Applications>
        <Application>
          <Publishers>
            ...
            <LLHLS>
              <OriginMode>true</OriginMode>
              <PropagateQueryString>true</PropagateQueryString>
            </LLHLS>
          </Publishers>
        </Application>
      </Applications>
    </VirtualHost>
  </VirtualHosts>
</Server>

Query String에 민감한 정보를 직접 포함시키지 않도록 주의가 필요합니다.

Cache 유효성 검사

이 기능을 활성화 하면 캐시된 리소스 버전이 OvenMediaEngine의 리소스와 동일한지 여부를 식별 할 수 있습니다. HTTP 요청에 If-None-Match: "<etag_value>" 헤더가 포함되어 있을 때 OvenMediaEngine의 리소스 Etag 와 비교하여 값이 일치 할 경우 304 Not-Modified를 반환합니다.

다음과 같이 Server.xml의 <Modules><ETag>에서 활성화 할 수 있습니다.

<Server>
  <Modules>
    <ETag>
      <Enable>true</Enable>
    </ETag>
  </Modules>
</Server>

활성화 시 모든 HTTP 응답에 Etag 헤더가 추가됩니다.

PreviousAlert Settings | 0.15.11.0+NextOrigin Cache Control

_HLS_rewind 값이 YES로 설정되어 있고 기능이 활성화 된 경우, Playlist 내에 이전 Segment 정보가 포함됩니다.

Live Rewind