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
  • Transcoding 옵션 확인하기
  • Transcode Webhook 설정 내용 확인하기
  • GPU Acceleration 설정 내용 확인하기
  • Output Profile 목록
  • Adaptive Bitrate Streaming (ABR) 설정 내용 확인하기 | 0.14.3.0+
  • Playlist 설정 내용 확인하기
  • Encodes 설정 내용 확인하기
  • Audio Encoding Profile 설정 내용 확인하기
  • Video Encoding Profile 설정 내용 확인하기
  • Image Encoding Profile 설정 내용 확인하기
  • 조건부 Transcoding
  • Audio Passthrough 조건
  • Video Passthrough 조건
  1. Web Console Settings

ABR and Transcoding Settings

PreviousLive Sources (Ingress Protocols) SettingsNextStreaming (Egress Protocols) Settings

OvenMediaEngine에 Live Transcoder가 내장되어 있어 Live Transcoder로 Ingest되는 Media Source를 Decoding하고, 설정된 코덱으로 다시 Encoding하거나 Transcoder 옵션 (Video Bitrate, Video Framerate, Audio Samplerate 등)을 활용하여 품질이 조정된 여러 개의 Live로 Encoding할 수 있습니다.

Transcoding 옵션 확인하기

ABR and Transcoding Settings 페이지에서 OvenMediaEngine에 내장된 Live Transcoder의 설정 내용을 Application 별로 확인할 수 있습니다.

Transcode Webhook 설정 내용 확인하기

ABR and Transcoding Settings 페이지에서 Transcode Webhook의 활성화 여부 및 설정 내용을 확인할 수 있습니다.

  • Enabled: 해당 옵션을 통해 TranscodeWebhook 기능을 활성화하거나 비활성화할 수 있습니다.

  • Control Server URL: OvenMediaEngine으로 부터 OutputProfiles 관련 요청을 받고 응답을 해주는 Control Server의 URL을 기입하는 항목이며, HTTP와 HTTPS를 모두 지원합니다.

  • Secret Key: Control Server 인증을 통과하는데 사용되는 Secret Key입니다. 보안 인증을 통과하기 위해 HTTP Payload의 HMAC-SHA1 암호화된 값이 HTTP Header의 X-OME-Signature에 추가되는데 Secret Key는 이 값을 생성하는데 사용됩니다.

  • Timeout: Control Server 연결 요청 후 응답을 기다리는 시간 (밀리 초)입니다.

Use Local Profiles On 옵션 확인하기

  • Failure: Contorl Server와의 통신 실패 시 Local 설정의 OutputProfiles를 사용할지 여부를 결정하는 옵션입니다. 기본적으로 true로 설정되어 있지만, 사용자가 해당 옵션을 false로 설정한 경우 Control Server와의 통신 실패 시 Output Stream을 만들지 못합니다.

  • Server Disallow: Control Server와의 연결 시 200 OK로 응답했어도 allowed가 false로 설정된 경우 OvenMediaEngine은 UseLocalProfilesOnServerDisallow 정책을 따릅니다.

  • Error Response: Control Server와의 연결 시 400 Bad Request, 404 Not Found, 500 Internal Error와 같은 오류 상태 코드로 응답하는 경우, OvenMediaEngine은 UseLocalProfilesOnErrorResponse 정책을 따릅니다.

세부 가이드: https://airensoft.gitbook.io/ovenmediaengine/transcoding/transcodewebhook

GPU Acceleration 설정 내용 확인하기

Server.xml에서 HardwareAcceleration 옵션이 활성화되면, Stream을 생성할 때 Hardware Codec이 자동으로 사용되고, Hardware 리소스가 부족하여 Hardware Codec을 사용할 수 없는 경우 Software Codec으로 대체됩니다.

ABR and Transcoding Settings 페이지에서 OvenMediaEngine Enterprise가 Enterprise-grade로 지원하는 기능 중 하나인 GPU 기반 Hardware Decoding 및 Encoding (Hardware-Accelerated Video Encoding)의 활성화 여부 및 설정 내용을 확인할 수 있습니다.

Encoder 옵션 확인하기

  • Enabled: 해당 옵션을 통해 HardwareAcceleration Encoder를 활성화하거나 비활성화할 수 있습니다.

  • Module: HardwareAcceleration Encoder로 사용할 NVIDIA GPU, Xilinx Alveo U30MA, 또는 Intel QuickSync 등과 같은 Module을 지정합니다.

Decoder 옵션 확인하기

  • Enabled: 해당 옵션을 통해 HardwareAcceleration Decoder를 활성화하거나 비활성화할 수 있습니다.

  • Module: HardwareAcceleration Decoder로 사용할 NVIDIA GPU, Xilinx Alveo U30MA, 또는 Intel QuickSync 등과 같은 Module을 지정합니다.

세부 가이드: https://airensoft.gitbook.io/ovenmediaengine/transcoding/gpu-usage

Output Profile 목록

ABR and Transcoding Settings 페이지에서 Application에 설정된 Output Profile 목록을 확인할 수 있습니다.

  • Name: 사용자는 Output Profile을 여러 개 생성할 수 있으므로, 각 Output Profile을 구분 짓기 위해 고유의 Pofile 명을 지정할 수 있습니다.

  • Output Stream Name: Output Profile이 설정되었다면 해당 OutputProfile 내 Encodes 설정에 따라 Ingress Stream이 Encoding되는데, 이때 생성되는 Egress Stream 명은 Output Stream Name 규칙을 따르게 됩니다. 예를 들어, Ingress Stream 명이 sports였다면 위 이미지에 명시된 규칙에 따라 sports_bypass가 됩니다.

세부 가이드: https://airensoft.gitbook.io/ovenmediaengine/transcoding#outputprofiles

Adaptive Bitrate Streaming (ABR) 설정 내용 확인하기 | 0.14.3.0+

ABR and Transcoding Settings 페이지에서 Application의 Output Profile 별 ABR 설정 내용을 확인할 수 있습니다.

OutputProfiles에 Playlists 또는 여러 개의 Rendition이 포함된 Playlist를 추가하여 ABR을 설정할 수 있습니다. OutputProfile은 여러 개의 Playlist가 있을 수 있으며, 각 Playlist는 FileName으로 액세스할 수 있습니다.

Playlist 설정 내용 확인하기

Playlists

  • Name: 사용자는 여러 개의 Playlist를 구성할 수 있으므로, 각 Playlsit를 구분 짓기 위해 고유의 이름을 지정할 수 있습니다.

  • File Name: 각 Playlist에 엑세스 할 수 있도록 File Name을 지정할 수 있습니다. 단, File Name에는 Playlist 및 Chunklist가 포함되어서는 안 됩니다.

Options

  • WebRTC Auto ABR: WebRTC Stream에 ABR이 적용되어 있는 경우 해당 옵션을 통해 상황에 따라 시스템이 Rendition을 자동으로 전환합니다.

  • HLS Chunklist Path Depth: Chunklist는 파일의 전체 경로를 포함하는 절대 URL을 사용하거나, Playlist 기반 상대 URL을 사용할 수 있습니다.

    • HLS Chunklist Path Depth를 0으로 설정하면, 모든 Chunk 파일 (.ts)이 Playlist와 같은 디렉토리 레벨에 위치하게 됩니다.

  • Enable TS Packaging: Legacy HLS에서 사용되는 .ts File은 사전에 A/V Mux 처리를 해야 하므로 EnableTsPackaging 옵션을 설정해야 합니다.

Renditions

  • Name: 사용자는 여러 개의 Rendition을 구성할 수 있으므로, 각 Rendition을 구분 짓기 위해 고유의 이름을 지정할 수 있습니다.

  • Video: OutputProfile 내 Video Encode를 설정했다면, Name을 지정한 후 해당 Video Profile Name 세트를 Rendition Video에 기입하면 자동으로 연결하 사용할 수 있습니다.

  • Audio: OutputProfile 내 Audio Encode를 설정했다면, Name을 지정한 후 해당 Audio Profile Name 세트를 Rendition Audio에 기입하면 자동으로 연결하여 사용할 수 있습니다.

세부 가이드: https://airensoft.gitbook.io/ovenmediaengine/transcoding#adaptive-bitrate-streaming-abr

Streaming Protocol 별 지원하는 Codec

각 Streaming Protocol이 지원하는 Codec이 있습니다. Playlist에 여러 개의 Codec을 설정했다면 OvenMediaEngine은 해당 Protocol에 맞는 Codec을 자동으로 선택하여 Stream을 전송합니다. 그러나 Streaming Protocol에 맞지 않는 Codec으로 설정되어 있다면 Stream을 전송할 수 없습니다.

List of supported codecs by streaming protocol: https://airensoft.gitbook.io/ovenmediaengine/transcoding#supported-codecs-by-streaming-protocol

Encodes 설정 내용 확인하기

Live Transcoder가 지원하는 Codec 목록: https://airensoft.gitbook.io/ovenmediaengine/transcoding#supported-video-audio-and-image-codecs

Audio Encoding Profile 설정 내용 확인하기

Audio Profile은 Ingress Audio를 Encoding 할 때 사용하며, Web Brower 정책이나 규격에 맞춰 Egress 하기 위해 필요합니다.

  • Name: Rendition에서 사용할 Audio Encode Name을 지정합니다.

  • Codec: Audio Codec은 opus 또는 aac로 설정할 수 있습니다.

  • Bitrate: 1초당 전송할 Audio Bit를 설정합니다.

  • Samplerate: 1초당 전송할 Audio Sample을 설정합니다.

  • Channel: Audio를 재생할 Channel의 개수를 지정합니다. 예를 들어 Audio Channel의 값이 2라면 Stereo로 동작하는 것을 의미합니다.

Audio Encoding Profile만 설정하는 경우 Audio-only로 전송할 수 있습니다.

세부 가이드: https://airensoft.gitbook.io/ovenmediaengine/transcoding#audio

Video Encoding Profile 설정 내용 확인하기

Video Profile은 Ingress Video를 Encoding 할 때 사용합니다. Web Brower 정책이나 규격에 맞춰 Egress 하기 위해 필요합니다.

  • Name: Rendition에서 사용할 Video Encode Name을 지정합니다.

  • Codec: Video Codec은 vp8, h264, 또는 h265로 설정할 수 있습니다.

  • Bitrate: 1초당 전송할 Video Bit를 설정합니다.

  • Width: Encoding할 Video의 가로 사이즈를 지정할 수 있습니다.

  • Height: Encoding할 Video의 세로 사이즈를 지정할 수 있습니다.

원본 Video의 종횡비를 유지한 채 전체적으로 해상도를 줄이거나 키우고 싶다면 Width 값만 입력하는 것도 좋은 방법입니다. OvenMediaEngine이 원본 Video 비율에 따라 자동으로 Height를 계산하여 해상도를 조정할 것입니다.

  • Framerate: 1초당 몇 개의 Image로 구성된 Video로 Encdoing 할 것인지 설정합니다.

  • Key Frame Interval: 두 개의 Key Frame 사이에 몇 개의 Frame이 포함될지 설정합니다 (0~600). 기본값은 Framerate를 따릅니다 (1초).

  • B-Frames: B-Frame의 개수를 설정합니다 (0~16). 기본값은 0입니다.

  • Profile: Video Codec이 h264로 설정되어 있을 때 사용할 수 있는 옵션입니다. baseline, main, high 중에 하나를 지정할 수 있습니다.

  • Preset: 각 Video Codec이 지원하는 Preset를 지정할 수 있습니다.

    • h264를 사용하는 경우 ultrafast, superfast, veryfast, faster, fast, medium, slow, slower, veryslow, placebo 등의 Preset을 사용할 수 있습니다.

  • Thread Count: Video Encoding 시, 사용할 Thread 수를 지정할 수 있습니다.

세부 가이드: https://airensoft.gitbook.io/ovenmediaengine/transcoding#video

Image Encoding Profile 설정 내용 확인하기

Image Profile은 Stream의 Thumbnail을 추출하는 옵션이며, 원본 그대로 추출하는 Bypass 옵션을 사용할 수 없습니다.

  • Codec: Image Codec은 jpeg 또는 png로 설정할 수 있습니다.

  • Framerate: Thumbnail Image를 1초 당 몇 장 추출 할 것인지 설정하는 옵션이며, Image Framerate가 Video Framerate에 가까울 수록 움직임이 자연스러운 Thumbnail을 추출할 수 있지만 Server 과부하를 불러 일으킬 수 있습니다.

  • Width: 추출할 Thumbnail Image의 가로 사이즈를 지정할 수 있습니다.

  • Height: 추출할 Thumbnail Image의 세로 사이즈를 지정할 수 있습니다.

원본 Video의 종횡비를 유지하고 싶다면 Width 값만 입력하는 것도 좋은 방법입니다. OvenMediaEngine이 원본 Video 비율에 따라 자동으로 Height를 계산하여 Thumbnail Image를 추출할 것입니다.

세부 가이드: https://airensoft.gitbook.io/ovenmediaengine/transcoding#image

조건부 Transcoding

Ingress Stream의 Codec 또는 Track 품질이 BypassIfMatch의 모든 조건과 일치하면 Encoding 없이 Pass-through로 Egress Stream을 전송할 수 있습니다.

Audio Passthrough 조건

  • Codec: Audio Codec이 같을 때 Pass-through 됩니다.

  • Samplerate: 설정에 따라 Audio Samplerate 값이 같거나, 작거나 같거나, 크거나 같을 때 Pass-through 됩니다.

  • Channel: 설정에 따라 Audio Channel 수가 같거나, 작거나 같거나, 크거나 같을 때 Pass-through 됩니다.

Video Passthrough 조건

  • Codec: Video Codec이 같을 때 Pass-through 됩니다.

  • Width: 설정에 따라 Video의 Width 크기가 같거나, 작거나 같거나, 크거나 같을 때 Pass-through 됩니다.

  • Height: 설정에 따라 Video의 Height 크기가 같거나, 작거나 같거나, 크거나 같을 때 Pass-through 됩니다.

  • SAR: BypassIfMatch에 지정된 조건과 해상도 및 비율이 일치하면 Pass-through 됩니다.

세부 가이드: https://airensoft.gitbook.io/ovenmediaengine/transcoding#conditional-transcoding

ABR and Transcoding Settings 내 Transcode Webhook
ABR and Transcoding Settings 내 GPU Acceleration
ABR and Transcoding Settings 내 Output Profiles
ABR and Transcoding Settings 내 Audio Encodes
ABR and Transcoding Settings 내 Video Encodes
ABR and Transcoding Settings 내 Image Encodes