Record Delivery

OvenMediaEngine Enterprise 0.16.5.0-1 버전부터 Record Delivery 기능을 지원합니다.

OvenMediaEngine을 사용하여 라이브 스트림을 녹화하고 녹화된 파일을 Object Storage로 전송하는 방법을 설명합니다.

  • OvenMediaEngine 및 OvenMediaEngine Delivery를 설정하여 녹화 파일 전송을 활성화 합니다.

  • OvenMediaEngine의 자동 녹화 기능을 이용하거나, 녹화 RestAPI를 이용해 녹화 전송을 시작합니다.

  • 녹화 전송 상태를 모니터링 합니다.

1단계: OvenMediaEngine에서 녹화 기능 설정

OvenMediaEngine의 File Publisher 기능을 활성화하여 스트림 녹화 기능을 사용합니다.

설정 파일 경로:

  • /usr/share/ovenmediaengine/conf/Server.xml에서 File Publisher를 활성화할 수 있습니다.

자동 녹화 설정

스트림 송출이 시작되면 자동으로 녹화 및 전송을 시작할 수 있게 설정합니다.

Server.xml 예시:

<Applications>
  <Application>
    <Name>app</Name>
    ...
    <Publishers>
      <FILE>
        <RootPath>/usr/share/ovenmediaengine/records</RootPath>
        <StreamMap>
          <Enable>true</Enable>
          <Path>./record_map.xml</Path>
        </StreamMap>
      </FILE>
    </Publishers>
    ...
</Applications>

OvenMediaEngine이 자동으로 녹화 및 전송 작업을 수행할 수 있게 하기 위해 FILE.StreamMap.Path에 녹화 형식과Object Storage 정보를정의한 파일을 지정합니다.

Server.xml에 지정한대로 record_map.xml 파일을 생성:

  • /usr/share/ovenmediaengine/conf/record_map.xml

record_map.xml 예시:

MetaDatakey='value',key='value',... 형식으로 전송 정보를 설정합니다.

전송 정보 포맷:

  • aws_access_key_id (required): Object Storage에 접근 가능한 access key id를 지정합니다.

  • aws_secret_access_key (required): Object Storage에 접근 가능한 secret access key를 지정합니다.

  • endpoint (optional): Object Storage의 접속 endpoint를 지정합니다. 빈 값일 경우 AWS S3의 endpoint를 사용합니다.

  • region (optional): Object Storage의 지역을 지정합니다. 빈 값일 경우 AWS S3의 기본 지역을 사용합니다.

  • bucket_name (required): 녹화 파일을 전송 할 버킷명을 입력합니다.

  • object_dir (required): Bucket 내 녹화 파일을 전송할 경로를 지정합니다. -delete (optional) 전송을 완료 후 Server.xml 의 File Publisher의 RootPath에 생성되었던 녹화 파일 삭제 여부를 true 또는 false로 지정합니다.

  • delete (optional) : 전송을 완료 후 Server.xml 의 File Publisher의 RootPath에 생성되었던 녹화 파일 삭제 여부를 true 또는 false로 지정합니다.

Rest API를 이용한 녹화 설정

OvenMediaEngine의 녹화 REST API를 이용해 송출 중인 스트림을 녹화 및 전송할 수 있게 설정합니다.

circle-check

Server.xml 예시:

circle-info

녹화 기능에 대한 상세한 내용은 https://docs.ovenmediaengine.com/recordingarrow-up-right 에서 확인할 수 있습니다.

2단계: 전송 서비스 설정 및 서비스 활성화

전송 서비스 설정

전송 서비스 설정에서 OvenMediaEngine이 녹화한 파일 경로를 설정합니다.

전송 서비스 설정 파일 경로:

  • /usr/share/ovenmediaengine/delivery/conf/config.ini

설정 파일에서 RECORD_INFO_FILE_BASE_DIR 을 OvenMediaEngine의 File Publisher가 녹화 파일을 생성하는 경로로 설정합니다. (기본적으로 다른 설정은 변경할 필요가 없습니다.)

config.ini 예시:

전송 서비스 활성화

전송 서비스는 기본적으로 비활성화 되어있습니다. 전송 서비스를 활성화 합니다.

3단계: 녹화 및 전송 시작

자동 녹화 기능을 이용할 경우

app/stream 스트림을 송출 합니다. OvenMediaEngine이 자동으로 녹화를 시작하고 설정된 Object Storage로 녹화 파일을 전송합니다.

녹화 REST API를 이용할 경우

app/stream 스트림을 송출 합니다. app/stream에 대해 녹화 시작 REST API를 호출하면 OvenMediaEngine이 녹화를 시작하고 녹화가 완료되면 전송 서비스가 Object Storage에 녹화 파일을 전송합니다.

녹화 시작 API 호출 예시:

circle-info

전송 상태 확인

전송 서비스 로그를 확인하여 녹화 파일의 전송 상태를 모니터링합니다.


이상으로 OvenMediaEngine을 사용하여 라이브 스트림 녹화 및 녹화된 파일을 Object Storage로 전송하는 방법을 마칩니다.

Last updated