TranscodeWebhook

TranscodeWebhook을 사용하면 OvenMediaEngine이 로컬 설정(Server.xml)의 OutputProfiles 대신 제어 서버(Control Server) 응답에 포함된 OutputProfiles를 사용할 수 있습니다. 스트림이 생성될 때 OvenMediaEngine은 제어 서버에 OutputProfiles를 요청하며, 이를 통해 각각의 개별 스트림마다 서로 다른 프로파일을 지정할 수 있게 됩니다.

Configuration

Enable (required) TranscodeWebhook 설정을 활성화하거나 비활성화할 수 있습니다.

ControlServerUrl (required) 제어 서버(Control Server)의 URL이며, HTTP와 HTTPS를 모두 지원합니다.

SecretKey (optional) 제어 서버의 인증을 통과하는 데 사용되는 비밀 키(Secret Key)입니다. 보안 인증을 통과하기 위해 HTTP 페이로드의 HMAC-SHA1 암호화 값이 HTTP 헤더의 X-OME-Signature에 추가됩니다. 이 키는 해당 값을 생성하는 데 사용됩니다.

Timeout (optional, default: 1500) 제어 서버에 연결할 때 사용되는 타임아웃(Timeout) 값입니다.

UseLocalProfilesOnConnectionFailure(optional, default: true) 제어 서버와의 통신에 실패할 경우 로컬(Local) 설정의 OutputProfiles 사용 여부를 결정합니다. 이 값이 "false"로 설정되어 있으면 제어 서버와의 통신 실패 시 출력(Output) 스트림 생성에 실패하게 됩니다.

UseLocalProfilesOnServerDisallow (optional, default: false) 제어 서버가 200 OK로 응답했지만 "allowed"가 "false"로 설정된 경우 이 정책을 따릅니다.

UseLocalProfilesOnErrorResponse (optional, default: false) 제어 서버가 400 Bad Request, 404 Not Found, 500 Internal Error와 같은 오류 상태 코드로 응답할 때 OvenMediaEngine은 이 정책을 따릅니다.

Protocol

Request (OME → Control Server)

OvenMediaEngine은 다음과 같은 형식으로 제어 서버에 요청을 보냅니다.

Response (Control Server → OME)

제어 서버는 해당 스트림에 대한 OutputProfiles를 지정하기 위해 다음 형식으로 응답합니다.

JSON 구조의 outputProfiles 섹션은 Server.xml의 설정을 그대로 반영하며, 아래와 같이 상세한 설정을 지정할 수 있습니다:

Last updated