Live Recording

최신 업데이트:2026-08-20 11:31:51

이 가이드에서는 Recording API를 사용하여 Media Acceleration Live Broadcast에서 라이브 스트림 녹화를 구성, 자동화, 제어 및 모니터링하는 방법을 설명합니다.

API 구성 방식

녹화 워크플로는 다음 네 부분으로 구성됩니다:

  1. 녹화 매개변수 템플릿은 저장 대상, 출력 형식, 파일 이름 지정, 분할, 보존 기간 및 콜백 설정을 포함한 녹화 방식을 정의합니다.
  2. 녹화 규칙은 템플릿을 일치하는 라이브 스트림과 연결하여 녹화 시점을 정의합니다.
  3. 실시간 제어를 사용하면 활성 스트림의 주문형 녹화를 시작하거나 중지할 수 있습니다.
  4. 작업 조회를 통해 녹화 상태를 추적하고 생성된 파일에 대한 정보를 반환합니다.

템플릿은 기본 구성 요소입니다. 녹화 규칙과 온디맨드 녹화 모두 templateId가 필요하므로, 해당 API를 사용하기 전에 하나 이상의 템플릿을 생성하세요.

모든 녹화 API에는 사용자당 5분에 300개 요청의 속도 제한이 적용됩니다. 통합이 이 제한을 초과하지 않도록 재시도 및 폴링 간격을 설계하세요.

일반적인 녹화 워크플로

  1. 녹화 매개변수 템플릿을 생성하고 해당 templateId를 저장합니다.
  2. 녹화 시작 방식을 선택합니다:
    • 자동 녹화를 위한 녹화 규칙을 생성합니다.
    • 온디맨드 녹화를 수행하려면 StartRealTimeRecord를 호출합니다.
  3. API에서 반환된 식별자를 저장합니다. 특히 각 녹화 작업의 persistentId를 저장해야 합니다.
  4. ListRecordings를 사용하여 지정된 시간 범위 내의 녹화 작업을 검색합니다.
  5. persistentId를 사용하여 GetRecordingTaskDetail을 호출하고 상태를 확인한 후 파일 정보를 조회합니다.
  6. 필요한 경우 스트림이 자연스럽게 종료되기 전에 StopRealTimeRecord를 호출하여 활성 녹화를 종료합니다.

녹화 매개변수 템플릿 관리

녹화 매개변수 템플릿은 녹화 파일의 저장 위치와 저장 방식을 제어합니다. Object Storage 버킷 및 관리 엔드포인트, 파일 경로, 파일 형식, 분할 동작, 보존 기간, 오디오 및 비디오 처리 방식, 타임아웃 동작, 콜백 URL을 정의할 수 있습니다.

API 사용 방법
AddRecordingParameterTemplate 템플릿을 생성합니다. 필수 설정에는 region, templateName, mgrUrl, recordParams, bucketName, fopsfileFormat이 포함됩니다.
QueryRecordingParameterTemplate 모든 템플릿을 나열하거나 templateId로 템플릿 하나를 조회합니다.
ModifyRecordingParameterTemplate 기존 템플릿을 업데이트합니다. 생략된 필드는 현재 값을 유지합니다.
DeleteRecordingParameterTemplate templateId로 템플릿을 삭제합니다.

템플릿 수정 시:

  • recordParams를 포함하면 제공된 목록이 기존의 전체 저장소 및 형식 구성 목록을 대체합니다.
  • 콜백 구성을 제거하려면 notifyUrl을 빈 문자열로 설정하세요. 현재 값을 유지하려면 생략합니다.
  • ak를 제공하는 경우 이에 해당하는 sk도 함께 제공해야 합니다. 두 값을 모두 생략하면 현재 계정의 인증 정보를 사용합니다.

중요: 활성 녹화 규칙에 연결되어 있는 템플릿은 삭제할 수 없습니다. 삭제하기 전에 모든 규칙에서 템플릿을 제거하세요.

규칙으로 녹화 자동화

녹화 규칙은 templateId를 라이브 스트림과 연결하므로, 일치하는 스트림이 라이브 상태가 되면 녹화를 자동으로 시작할 수 있습니다.

새 규칙을 생성하려면 pullDomain에 전송 도메인을 지정해야 합니다. 다음 선택적 필드를 사용하여 일치 조건을 좁힐 수 있습니다:

  • domain: 수집 도메인
  • appName: 애플리케이션 이름
  • streamName: 스트림 이름
  • streamParams: 트랜스코딩된 스트림의 스트림 이름 접미사(예: _720P)

시스템은 가장 길고 구체적인 일치 항목을 사용합니다. 예를 들어 push.example.com/live/stream1에 대한 규칙은 push.example.com/live에 대한 규칙보다 우선하며, push.example.com/live에 대한 규칙은 push.example.com에 대한 규칙보다 우선합니다.

API 다음 용도로 사용
AddRecordingRules 규칙을 생성하고 템플릿과 연결합니다.
QueryRecordingRule 규칙을 나열하거나 ruleId, templateId, 인제스트 도메인, 딜리버리 도메인, 애플리케이션 이름 또는 스트림 이름으로 필터링합니다.
ModifyRecordingRules 규칙의 템플릿, 일치 범위, 딜리버리 도메인, 스트림 접미사 또는 활성화 상태를 업데이트합니다.
DeleteRecordingRules ruleId로 규칙을 삭제합니다.

중요: 규칙이 활성 상태이거나 녹화를 실행 중인 동안에는 해당 규칙을 삭제할 수 없습니다. 두 상태 중 어느 상태도 아닐 때 삭제해야 합니다.

주문형 녹화 시작 및 중지

자동 규칙에 의존하지 않고 활성 스트림을 즉시 녹화해야 하는 경우 실시간 제어 API를 사용합니다.

  1. StartRealTimeRecordtemplateId 및 최대 5개의 스트림 전송 URL과 함께 urlList에 전달하여 호출합니다.
  2. 각 URL의 결과를 확인합니다. 각 스트림 작업이 성공하면 고유한 persistentId가 반환됩니다.
  3. 반환된 모든 persistentId를 저장합니다. 해당 ID를 사용하여 관련 녹화 작업을 조회하거나 중지합니다.
  4. 스트림이 종료되면 녹화가 종료되도록 하거나, StopRealTimeRecord를 호출하여 더 일찍 종료합니다.
API 다음 용도로 사용합니다
StartRealTimeRecord 최대 5개의 활성 스트림 전송 URL에 대한 주문형 녹화를 시작합니다.
StopRealTimeRecord 해당 persistentId를 요청 경로에 포함하여 하나의 활성 녹화 작업을 중지합니다.

녹화 작업 및 파일 조회

작업 조회 API를 사용하여 녹화 작업을 찾고, 진행 상황을 모니터링하며, 실패 원인을 진단하고, 생성된 녹화 파일 정보를 확인할 수 있습니다.

API 용도
ListRecordingTasks 지정된 시간 범위 내에 제출된 녹화 작업을 나열하고 해당 작업의 persistentId 값을 가져옵니다.
GetRecordingTaskDetail persistentId를 기준으로 하나의 작업 상태 및 생성된 파일 정보를 조회합니다.
이 문서의 내용이 도움이 되었습니까?
아니오
정상적으로 제출되었습니다.피드백을 주셔서 감사합니다.앞으로도 개선을 위해 노력하겠습니다.