Publisher Extension
OvenMediaEngine의 다양한 Publisher를 활용해 서비스를 운영하는 사용자에게 도움이 될 수 있는 Publisher Extension 기능들을 소개합니다.
#1. 모든 Publishers
Stream에 Delay 추가하기
Stream Delay 기능을 사용하면 모든 <Publishers>
에 Latency를 강제로 추가 할 수 있습니다. 이 기능은 라이브 서비스 운영 시 돌발 상황에 대처하는 데 도움이 될 수 있습니다.
다음과 같이 Server.xml
에서 <Publishers><DelayBufferTimeMs>
값을 설정하십시오:
#2. (LL)-HLS와 WebRTC
기본 Playlist 생성 제어하기
사용자는 각 재생 프로토콜 (LL-HLS, Legacy HLS, WebRTC)이 기본적으로 생성하는 Playlist (llhls, playlist, webrtc)의 생성 여부를 제어하고 싶은 경우, <CreateDefaultPlaylist>
옵션을 사용하여 시스템을 보다 용이하게 관리할 수 있습니다.
Server.xml
내 <Publishers><
LLHLS
><CreateDefaultPlaylist>
( 또는 <Publishers><
HLS
><CreateDefaultPlaylist>
, 또는 <Publishers><
WebRTC
><CreateDefaultPlaylist>
)에서 다음과 같이 설정하여 사용할 수 있습니다:
#3. (LL)-HLS
Origin 이중화 설정하기
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>
)을 활성화 하십시오:
이 기능은 서버 시간을 기준으로 Segment 파일명을 생성하므로 Primary Origin Server와 Secondary Origin Server의 시간을 동기화 해야 합니다.
Default Query String 사용하기
사용자는 Low-Latency HLS (또는 Legacy HLS)의 기본 동작 방식을 <DefaultQueryString>
을 통해 제어 할 수 있습니다.
다음과 같이 Server.xml
의 <Publishers><
LLHLS
><DefaultQueryString>
(또는 <Publishers><
HLS
><DefaultQueryString>)
에서 설정 할 수 있습니다:
Playback URL에 이미 Query 문자열이 추가 되어 있는 경우 이 설정은 무시됩니다.
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>)
에서 설정 할 수 있습니다:
Query String에 민감한 정보를 직접 포함시키지 않도록 주의가 필요합니다.
#4. LL-HLS
Origin Cache 제어하기
HTTP Response에 Cache-Control
Header를 추가하여 Edge Server 또는 CDN Cache Server에서 콘텐츠를 Cache에 보관하는 시간을 지정 할 수 있습니다.
다음과 같이 Server.xml
의 <Publishers><LLHLS><CacheControl>
에서 설정 할 수 있습니다:
<CacheControl>
Element의 의미
<CacheControl>
Element의 의미<CacheControl>
에 0 값 사용 시 서버 부하가 증가할 수 있고, -1 값 사용 시 예상치 못한 캐싱 동작이 발생할 수 있으므로 테스트가 필요합니다.
Last updated