앤트 미디어(Ant Media)의 클립 크리에이터 플러그인 (Clip Creator Plugin)을 사용하여 라이브 스트림에서 MP4 클립을 손쉽게 캡처하자.
- wjlee202501
- Feb 14
- 3 min read
소개
Ant Media Server의 엔터프라이즈 에디션은 강력한 플러그인을 포함하고 있어 추가 기능과 맞춤형 옵션으로 서버의 기능을 확장할 수 있습니다. 최신 플러그인 중 하나인 클립 크리에이터 플러그인(Clip Creator Plugin)은 라이브 스트림에서 손쉽게 공유 가능한 MP4 클립을 만들고자 하는 사용자들에게 획기적인 도구가 됩니다.
이 가이드에서는 클립 크리에이터 플러그인을 소개하고, 설정하는 방법과 주요 기능을 안내하여 최소한의 노력으로 고품질 클립을 캡처할 수 있도록 도와드리겠습니다.
클립 크리에이터 플러그인이란 무엇인가요?
클립 크리에이터 플러그인은 HLS (HTTP Live Streaming) 세그먼트에서 MP4 파일을 생성하는 오픈 소스 Ant Media Server(AMS) 플러그인입니다. 이 플러그인은 라이브 스트림의 일부를 정기적으로 또는 필요에 따라 캡처하여 MP4 클립으로 저장하는 데 도움을 줍니다. 본질적으로 이 플러그인은 HLS 스트림을 MP4 클립으로 변환합니다. 이러한 클립은 지정된 디렉터리 usr/local/antmedia/webapps/{appName}/streams에 저장되고, VoD(주문형 비디오) 객체로 데이터베이스에 기록되어 공유 및 재생할 준비가 됩니다.
클립 크리에이터 플러그인이란 무엇인가요?
클립 크리에이터 플러그인은 HLS (HTTP Live Streaming) 세그먼트에서 MP4 파일을 생성하는 오픈 소스 Ant Media Server(AMS) 플러그인입니다. 이 플러그인은 라이브 스트림의 일부를 정기적으로 또는 필요에 따라 캡처하여 MP4 클립으로 저장하는 데 도움을 줍니다. 본질적으로 이 플러그인은 HLS 스트림을 MP4 클립으로 변환합니다. 이러한 클립은 지정된 디렉터리 usr/local/antmedia/webapps/{appName}/streams에 저장되며, 데이터베이스에 VoD(주문형 비디오) 객체로 기록되어 공유 및 재생할 준비가 됩니다.
기본적으로 이 플러그인은 10분(600초)마다 클립을 저장하지만, 필요에 따라 조정할 수 있습니다. 각 저장된 클립은 웹훅을 통해 알림을 트리거하여 액세스할 준비가 되었음을 알려줍니다.

클립 크리에이터 플러그인을 사용해야 하는 이유
이 플러그인이 없으면, 라이브 HLS 스트림에서 MP4 클립을 생성하는 데 복잡한 구성과 여러 단계가 필요합니다. 클립 크리에이터 플러그인은 다음과 같은 방법으로 이 과정을 간소화합니다:
설정된 간격으로 라이브 스트림에서 MP4 클립을 자동으로 캡처합니다.
간단한 REST API 호출을 통해 주문형 클립 생성을 허용합니다.
생성된 클립을 바로 사용할 수 있는 MP4 형식으로 저장합니다.
수동 파일 병합 및 세그먼트 관리 작업을 줄입니다.
설치
클립 크리에이터 플러그인을 설정하는 것은 빠르고 간편합니다. 시작하는 방법은 다음과 같습니다:
FFmpeg 설치 (플러그인이 작동하는 데 필요한 사항)
sudo apt install ffmpeg
플러그인 설치
Sonatype에서 3.0.0-SNAPSHOT 버전을 다운로드하세요. 새로운 릴리스가 나오면 다시 Sonatype에서 다운로드할 수 있습니다. 이 검색을 통해 Sonatype에서 클립 크리에이터를 찾을 수 있습니다. 이제 clip-creator. jar 파일을 다운로드했다고 가정합니다.
플러그인 복사하기
clip creator.jar 파일을 플러그인 디렉토리에 배치하세요:
sudo cp clip-creator.jar /usr/local/antmedia/plugins/
서버를 다시 시작합니다.
sudo service antmedia restart
서버가 재시작되면, 플러그인은 자동으로 애플리케이션에 대해 주기적인 클립 생성 프로세스를 시작합니다.
설정
클립 크리에이터 플러그인이 올바르게 작동하도록 다음 설정 단계를 따르세요:
HLS 스트리밍 활성화: 앱 설정으로 이동하여 HLS 스트리밍이 활성화되어 있는지 확인하세요. 이 플러그인은 HLS 세그먼트를 사용하여 MP4 클립을 생성합니다.
재생 목록 유형을 이벤트로 설정: 고급 설정에서 hlsPlayListType을 "event"로 설정하여 HLS 재생 목록 유형을 지정하세요.
클립 간격 조정: 고급 앱 설정에서 사용자 설정을 구성하세요.
"customSettings": {
"plugin.clip-creator": {
"mp4CreationIntervalSeconds": 1800
}
}
1800을 선호하는 간격(초 단위)으로 교체하세요 (기본값은 600초 또는 10분입니다).
클립 크리에이터 플러그인 사용 방법
설치 및 설정이 완료되면, 플러그인은 설정된 간격에 따라 /streams 디렉토리의 활성화된 HLS 지원 스트림에 대해 자동으로 MP4 클립을 생성합니다.
주기적인 MP4 생성이 트리거되면, 플러그인은 .m3u8 파일의 마지막 세그먼트를 찾은 다음 설정된 간격(초 단위)만큼 되돌아가 해당 세그먼트 범위를 캡처하고, 해당 세그먼트들로부터 MP4를 생성합니다. 생성된 MP4 클립의 길이는 mp4CreationIntervalSeconds와 동일합니다.
여기 추가적인 제어를 위한 REST API 명령이 있습니다:
주기적 클립 생성 시작
기본적으로 플러그인은 서버 부팅 시 주기적인 생성을 시작합니다. 이 명령은 시작 후 주기적 클립 생성 간격을 조정하려는 경우 유용합니다.
POST Request:
https://{YOUR_SERVER}:{PORT}/{APP}/rest/clip-creator/periodic-recording/{periodSeconds}
Curl 코멘드 예
curl -X POST "https://{YOUR_SERVER}:{PORT}/{APP}/rest/clip-creator/periodic-recording/{periodSeconds}" -H "Content-Type: application/json"
주문형 MP4 클립 생성
주기적 간격을 기다리지 않고 즉시 MP4 클립 생성을 트리거하세요:
Post request:
https://{YOUR_SERVER}:{PORT}/{APP}/rest/clip-creator/mp4/{STREAM_ID}?returnFile=true
Curl 코멘드 예
curl -X POST "https://{YOUR_SERVER}:{PORT}/{APP}/rest/clip-creator/mp4/{STREAM_ID}?returnFile=true" -H "Content-Type: application/json"
returnFile: 이 매개변수는 기본적으로 false로 설정되어 있습니다.
만약
returnFile=true: 서버는 즉시 MP4를 생성하고 파일 콘텐츠를 응답으로 반환합니다.
returnFile=false: 서버는 VoD 생성이 성공했는지 여부를 나타내는 JSON 응답을 반환합니다. 성공했다면, 응답에는 생성된 vodId가 포함된 dataId 필드가 포함됩니다.
부팅 이후 플러그인에 의해 생성된 MP4가 있는 경우, 이 REST 엔드포인트를 호출한 시간까지의 마지막 MP4 생성 시간으로부터 MP4 클립을 반환합니다.
예를 들어, 마지막 MP4가 14:00에 생성되고 method가 14:05에 호출된 경우, 클립의 길이는 5분이어야 합니다.
지금까지 플러그인에 의해 생성된 MP4가 없는 경우, 이 엔드포인트에 의해 생성된 클립의 최대 지속 시간은 약 mp4CreationIntervalSeconds가 될 것입니다.
3. 주기적 클립 생성 중지
주기적인 MP4 생성을 일시 중지하세요:
Delete Request
https://{YOUR_SERVER}:{PORT}/{APP}/rest/clip-creator/periodic-recording
Curl 코멘드의 예
curl -X POST "https://{YOUR_SERVER}:{PORT}/{APP}/rest/clip-creator/periodic-recording" -H "Content-Type: application/json"
결론
클립 크리에이터 플러그인은 Ant Media Server에서 라이브 스트림에서 MP4 클립을 손쉽고 자동으로 캡처하고 저장할 수 있는 방법을 제공합니다. 주기적인 간격을 설정하거나 주문형 REST API 명령을 사용하여 이 플러그인을 스트리밍 설정에 원활하게 통합하면, 고품질의 공유 가능한 MP4 클립을 항상 준비할 수 있습니다.
Comments