원격 교육, 뷰티 라이브 방송, 화상 회의, 원격 손해사정, 금융 업무 녹음 및 녹화, 온라인 진료와 같은 응용 시나리오에서는 증거 수집, 품질 검사, 심사, 파일 보관, 재생 등의 업무를 위해 영상 통화 또는 라이브 스트리밍 세션을 녹화 및 저장해야 하는 경우가 많습니다.
TRTC의 클라우드 녹화는 방 안 모든 사용자의 멀티미디어 스트림을 하나의 독립된 파일로 저장할 수 있습니다.
방 안 여러 채널의 멀티미디어에 대해 먼저 온클라우드 믹스 트랜스코딩을 진행한 후, 혼합된 멀티미디어 스트림을 한 파일로 녹화하는 방법도 있습니다.
주의사항:
SDKAppID가 140으로 시작하는 사용자는 이 클라우드 녹화 및 재생 작업 가이드를 참조하여 통합 및 사용하십시오. 애플리케이션의 SDKAppID가 200으로 시작하는 경우 새 버전의 클라우드 녹화를 참조하여 클라우드 녹화 기능을 시작하십시오.
클라우드 녹화는 HLS, MP4, FLV, AAC의 네 가지 파일 포맷을 지원하며 비즈니스 수요에 따라 선택할 수 있습니다. 포맷별 차이점 및 적용 시나리오는 아래 표를 참고하십시오.
매개변수
설명
파일 유형
다음 파일 형식이 지원됩니다.
HLS: 이 형식의 파일은 대부분의 브라우저에서 재생할 수 있으며 비디오를 여러 번 재생해야 하는 시나리오에 이상적입니다. 이 형식을 선택하면 중단점에서 녹화를 재개할 수 있으며 파일의 녹화 길이에 제한이 설정되지 않습니다.
FLV: 이 형식의 파일은 브라우저에서 재생할 수 없지만 형식이 단순하고 내결함성이 있습니다. 녹화 파일을 VOD로 저장할 필요가 없는 경우 이 형식을 사용할 수 있습니다. 녹화 직후 파일을 다운로드하고 원본 파일을 삭제하십시오.
MP4: 이 형식의 파일은 브라우저에서 재생할 수 있지만 내결함성이 없습니다. 영상 통화 중 패킷 손실은 녹화 파일의 재생 품질에 영향을 미칠 수 있습니다.
AAC: 오디오만 녹음하려면 이 형식을 선택하십시오.
최대 파일 길이(분)
필요에 따라 녹화 파일의 최대 길이를 설정할 수 있습니다. 시스템은 한도를 초과하는 파일을 자동으로 분할합니다. 값 범위는 1 - 120(분)입니다.
파일 형식으로 HLS를 선택한 경우 녹화 파일 길이에 제한이 없으며 이 매개변수는 무효가 됩니다.
파일 보관 기간(일)
녹화 파일을 VOD에 저장할 일수를 설정할 수 있습니다. 값 범위는 0 - 1500(일)입니다. 만료된 파일은 삭제되며 검색할 수 없습니다. 0은 파일이 무기한 저장됨을 나타냅니다.
녹화 재개 제한 시간(초)</td>
기본적으로 네트워크 지터 또는 기타 이유로 통화/라이브 스트리밍 세션이 중단되면 통화가 여러 파일에 녹화됩니다.
‘각 통화/라이브 스트리밍 세션에 대해 하나의 재생 링크만 생성’하도록 이 매개변수를 설정할 수 있습니다. 녹화가 중단될 때 중단이 구성된 시간을 초과하지 않으면 하나의 파일만 생성됩니다. 제한 시간이 경과한 후에만 파일을 가져올 수 있습니다.
이 매개변수의 값 범위는 1 - 1800(초)입니다. 0은 녹화 재개가 비활성화되었음을 나타냅니다.
설명:
HLS는 최대 30분의 녹화 재개 제한 시간을 지원하므로 ‘각 강의에 대해 하나의 재생 링크만 생성’할 수 있습니다. 또한 HLS 형식의 파일은 대부분의 브라우저에서 재생할 수 있으므로 온라인 교육 시나리오에서 비디오 재생에 이상적인 형식입니다.
녹화 파일 저장 경로 설정
TRTC에서 녹화 파일은 기본적으로 Tencent Cloud의 VOD 플랫폼에 저장됩니다. 둘 이상의 비즈니스에서 Tencent Cloud VOD 계정을 공유하는 경우 VOD의 ‘서브 애플리케이션’ 기능을 통해 얻을 수 있는 녹화 파일을 분리할 수 있습니다.
VOD 메인 애플리케이션과 서브 애플리케이션이란 무엇인가요?
메인 애플리케이션과 서브 애플리케이션은 VOD에서 리소스를 분리하는 방법을 제공합니다. 메인 애플리케이션은 기본적으로 VOD 계정입니다. 메인 애플리케이션 아래에 여러 개의 서브 애플리케이션을 생성할 수 있으며, 각각은 VOD 계정의 서브 계정 역할을 합니다. 서브 응용 프로그램의 리소스는 별도로 관리되고 전용 저장 공간이 할당됩니다.
녹화 콜백 주소:
신규 파일 생성 공지를 실시간으로 받고 싶은 경우, 서버에서 녹화 파일 수신 콜백에 사용할 주소를 여기에 입력하십시오. 해당 주소는 HTTP(또는 HTTPS) 프로토콜에 부합해야 합니다. 신규 녹화 파일 생성 시 Tencent Cloud에서 해당 주소를 통해 귀하의 서버로 공지를 전송합니다.
녹화 콜백 키:
콜백 키는 콜백 이벤트 수신 시 서명 인증 생성에 사용됩니다. 해당 키는 알파벳 대소문자 및 숫자로 구성되며 최대 32자까지 입력할 수 있습니다. 사용 관련 자세한 내용은 녹화 이벤트 알림을 참고하십시오.
설명:
녹화 파일의 콜백 수신 및 수신된 콜백 해석 방법에 대한 자세한 내용은 아래의 녹화 파일 수신을 참고하십시오.
클라이언트 측 API를 통한 스트림 믹싱: 스트림 믹싱 API는 클라이언트에서 호출할 수 있습니다. 이 방법은 iOS, Android, Windows, Mac 및 Web 등에서 작동합니다. Weixin 미니 프로그램에서는 작동하지 않습니다.
녹화 파일 이름 지정
앵커가 방 입장 시 userDefineRecordId 매개변수를 지정한 경우, 녹화 파일 이름이 userDefineRecordId_streamType_시작 시간_종료 시간 형식으로(streamType에는 main, aux의 두 값이 있으며, main은 메인 채널, aux는 보조 채널을 의미하고 보조 채널은 일반적으로 화면 공유에 사용) 생성됩니다.
앵커가 방 입장 시 userDefineRecordId 매개변수를 지정하지 않았으나 streamId 매개변수를 지정한 경우 녹화 파일 이름이 streamId_시작 시간_종료 시간 형식으로 생성됩니다.
앵커가 방 입장 시 userDefineRecordId 매개변수와 streamId 매개변수를 모두 지정하지 않은 경우, 녹화 파일 이름은sdkappid_roomid_userid_streamType_시작 시간_종료 시간 형식으로(streamType에는 main, aux의 두 가지 값이 있으며, main은 메인 채널, aux는 보조 채널을 의미하고 보조 채널은 일반적으로 화면 공유에 사용) 생성됩니다.
지원되는 플랫폼
사용자의 서버에서 제어되며 클라이언트 플랫폼의 제한을 받지 않습니다.
스키마2: 특정 사용자 녹화(SDK API)
TRTC SDK의 API를 호출하여 온클라우드 믹스 트랜스코딩, 클라우드 녹화 및 CDN 라이브 스트리밍을 활성화할 수 있습니다.
혼합 스트림을 시작한 앵커가 방에서 퇴장하면 혼합 스트림이 자동으로 중지됩니다. 도중에 setMixTranscodingConfig()를 호출하고 매개변수를 null/nil로 설정하여 혼합 스트림을 수동으로 중지할 수도 있습니다.
릴레이 라이브 방송
방 입장 시 매개변수 TRTCParams의 streamId 필드 설정
앵커 퇴장 시 자동 종료
콘솔에서 스키마 선택
이 녹화 스키마를 사용하려면 콘솔에서 클라우드 녹화 모드를 ‘특정 사용자 녹화’로 설정하십시오.
녹화 작업 시작
앵커 입장 시 방 입장 매개변수 TRTCParams의 userDefineRecordId 필드를 지정하면 해당 앵커의 업스트림 멀티미디어 데이터가 클라우드에 녹화됩니다. 앵커가 해당 매개변수를 지정하지 않으면 녹화 작업이 트리거되지 않습니다.
//예시 코드: 사용자 rexchang의 멀티미디어 스트림 지정 녹화, 파일 id: 1001_rexchang
TRTCCloud*trtcCloud =[TRTCCloud sharedInstance];
TRTCParams*param =[[TRTCParams alloc] init];
param.sdkAppId =1400000123;// TRTC의 SDKAppID, 애플리케이션 생성 후 획득
param.roomId =1001;// 방 번호
param.userId = @"rexchang";// 사용자 이름
param.userSig = @"xxxxxxxx";// 로그인 서명
param.role =TRTCRoleAnchor;// 역할: 앵커
param.userDefineRecordId = @"1001_rexchang";// 녹화 ID, 해당 사용자의 녹화 활성화 지정
[trtcCloud enterRoom:params appScene:TRTCAppSceneLIVE];// LIVE 모드 사용
녹화 작업 종료
방 입장 중 userDefineRecordId를 설정한 앵커가 오디오/비디오 전송을 중지하면 작업이 자동으로 중지됩니다. 단, 녹화 파일 형식 선택 시 ‘녹화 재개 타임아웃’ 매개변수를 설정한 경우 타임아웃 시간이 경과할 때까지 녹화 파일을 수신하지 않습니다.
2개의 REST API는 TRTC의 코어 스트림 믹싱 MCU를 통해 작동하며 혼합된 스트림을 녹화 시스템과 라이브 스트리밍 CDN으로 전송하므로 이름이 'Start/StopMCUMixTranscode'입니다. 스트림 믹싱 외에도 API를 사용하여 클라우드 녹화 및 CDN 라이브 스트리밍을 활성화할 수 있습니다.
콘솔에서 스키마 선택
이 녹화 스키마를 사용하려면 콘솔에서 클라우드 녹화 모드를 ‘특정 사용자 녹화’로 설정하십시오.
녹화 작업 시작
스트림 믹싱 및 녹음을 활성화하려면 서버에서 StartMCUMixTranscode를 호출할 때 OutputParams.RecordId를 지정하십시오.
// 코드 예시: REST API를 호출하여 온클라우드 믹스 트랜스코딩 및 클라우드 녹화 작업 시작
스트림 믹싱StartMCUMixTranscode 호출 시 LayoutParams 매개변수를 설정하면 온클라우드 믹스 트랜스코딩이 실행됩니다. 해당 API는 전체 라이브 방송 시간 동안 여러 번 호출하여 필요에 따라 LayoutParams 매개변수를 수정하거나 혼합 화면 레이아웃을 변경할 수 있습니다. 단, 여러 번 호출 시 매개변수 OutputParams.RecordId와 OutputParams.StreamId는 항상 동일해야 하며, 동일하지 않을 경우 스트림이 중단되어 여러 개의 녹화 파일이 생성될 수 있습니다.
2. 목록 상단의 접두사로 검색을 클릭하고 접두사로 검색을 선택한 후 검색창에 1400000123_1001_rexchang_main과 같은 키워드를 입력하고 검색 아이콘을 클릭합니다.
3. 생성 시간별로 파일을 필터링할 수도 있습니다.
방법2: REST API를 통해 파일 검색
Tencent Cloud VOD 시스템은 멀티미디어 파일 관리를 위한 일련의 REST API를 제공합니다. SearchMedia의 REST API를 통해 VOD 시스템 상의 파일을 검색할 수 있습니다. 요청 매개변수 표에 있는 Text 매개변수로 퍼지 매칭하거나 StreamId 매개변수로 정확한 검색을 진행할 수도 있습니다.
REST 요청 예시:
녹화 파일 검색 외에도 콜백 주소 설정을 통해 Tencent Cloud에서 신규 녹화 파일 정보를 사용자 서버로 전송하도록 설정할 수 있습니다.
방 안의 마지막 멀티미디어 스트림 사용자가 퇴장하면 Tencent Cloud에서 녹화를 종료하고 파일을 VOD 플랫폼에 저장하며, 이 과정은 약 30초 - 2분 정도 소요됩니다. 녹화 재개 시간을 300초로 설정한 경우 기본 시간에 300초를 더한 시간이 소요됩니다. 저장 완료 후 Tencent Cloud는 녹화 콜백 설정에서 설정한 콜백 주소(HTTP/HTTPS)를 통해 사용자 서버로 공지를 발송합니다.
녹화 및 녹화 관련 이벤트는 설정한 콜백 주소를 통해 Tencent Cloud에서 사용자의 서버로 전송됩니다. 다음은 콜백 정보 예시입니다.
다음 테이블의 필드로 콜백할 통화(또는 라이브 방송)를 확인할 수 있습니다.
No.
필드 이름
설명
event_type
정보 유형이며, event_type이 100인 경우 해당 콜백 정보는 녹화 파일 생성 정보를 의미합니다.
stream_id
라이브 방송 CDN의 streamId로, 방 입장 시 TRTCParams의 streamId 필드를 설정해 지정하거나(권장), TRTCCloud의 startPublishing 인터페이스 호출 시 streamId 매개변수를 통해 지정할 수 있습니다.
stream_param.userid
Base64로 인코딩된 사용자 ID입니다.
stream_param.userdefinerecordid
사용자 지정 필드입니다. TRTCParams에서 userDefineRecordId 필드를 지정하여 이 필드를 설정할 수 있습니다.
온라인 교육과 같은 애플리케이션 시나리오에서 라이브 스트리밍 세션은 교육 리소스를 최대한 활용하기 위해 재생되는 경우가 많습니다.
파일 형식(HLS) 선택
파일 형식으로 HLS를 선택합니다.
HLS는 녹화 재개를 위해 최대 30분의 제한 시간을 지원하므로 ‘각 라이브 스트리밍 세션/강의에 대해 하나의 재생 링크만 생성’할 수 있습니다. 또한 HLS 형식의 파일은 대부분의 브라우저에서 재생할 수 있으므로 재생에 이상적인 형식입니다.
재생 주소 가져오기(video_url)
녹화 파일 콜백 수신 후 콜백 메시지에서 video_url 필드를 찾아 해당 파일의 재생 주소를 알 수 있습니다.
플레이어(Player+) 컴포넌트와 MLVB(Mobile Live Video Broadcasting)를 통합한 올인원 SDK 사용을 권장합니다. 이 통합 버전은 Tencent Cloud 서비스가 많은 기본 모듈을 공유하기 때문에 2개의 독립 SDK보다 애플리케이션 패키지의 크기에 추가되는 것이 적습니다. 또한 중복 기호(symbol duplicate) 문제를 피할 수 있습니다.
요금
클라우드 녹화 및 재생 기능은 TRTC의 클라우드 녹화 기능과 VOD의 저장, 비디오 처리 및 재생 기능을 기반으로 합니다. 또한 SDK의 VOD 재생 기능에 의존합니다.
클라우드 서비스 요금
클라우드 서비스 요금에는 클라우드에 동영상을 녹화하고 녹화 파일을 재생하는 데 드는 비용이 포함됩니다.
설명:
본 문서의 금액은 예시이며 참고용으로만 제공됩니다. 실제와 금액이 상이한 경우 클라우드 녹화 과금 설명, CSS, VOD의 가격을 기준으로 합니다.
녹화 요금: 트랜스 코딩 또는 리먹싱 컴퓨팅 비용
녹화 중 오디오/비디오 스트림을 트랜스 코딩하거나 리먹싱하려면 서버 컴퓨팅 리소스가 필요하기 때문에 녹화에 사용된 컴퓨팅 리소스에 따라 녹화 요금이 부과됩니다.
주의사항:
2020년 7월 1일 이후 처음으로 TRTC 애플리케이션을 생성한 Tencent Cloud 계정의 경우, 클라우드 녹화 과금에 설명된 대로 클라우드 녹화 요금이 부과됩니다.
2020년 7월 1일 이전에 애플리케이션을 생성한 Tencent Cloud 계정에는 녹화 서비스 사용에 대한 실시간 녹화 요금이 계속 부과됩니다.
실시간 녹화 요금은 최대 동시 녹화 채널 수를 기준으로 산정됩니다. 숫자가 높을수록 요금이 높아집니다. 자세한 내용은 CSS > 라이브 방송 녹화를 참고하십시오.
공식:
유효 녹화 일수 비율 = 월별 녹화 기능 사용 일수 / 해당 월의 총 일수
녹화 비용 = 월별 최대 동시 녹화 채널 수 × 유효 녹화 일수 비율 × 녹화 채널 단가
4월에 1000개의 앵커가 있다고 가정합니다. 피크 시간 동안 500 앵커의 오디오/비디오 스트림을 동시에 녹화했으며 녹화 기능은 그 달에 4일 동안 사용되었습니다(녹화 일수 비율은 6/30). 서비스 가격이 채널당 월 5.2941 USD인 경우 4월에 발생하는 실시간 녹화 요금은 500개 채널 x 5.2941 USD/채널/월 = 2,647.05 USD/월입니다.
2가지 파일 형식을 선택하면 녹화 비용과 스토리지 비용이 2배가 됩니다. 3개를 선택하면 3배가 됩니다. 비용을 줄이려면 하나의 파일 형식만 선택하는 것이 좋습니다.
트랜스 코딩 요금: 온클라우드 믹스 트랜스 코딩 사용 시 발생
스트림 믹싱에는 인코딩 및 디코딩이 포함되므로 온클라우드 믹스 트랜스코딩을 활성화하면 추가 트랜스 코딩 요금이 부과됩니다. 요금은 사용된 해상도와 트랜스 코딩 시간에 따라 다릅니다. 앵커가 사용한 해상도가 높을수록, 마이크 연결 시간(온클라우드 믹스 트랜스코딩에 대한 가장 일반적인 애플리케이션 시나리오)이 길수록 비용이 높아집니다. 자세한 내용은 라이브 방송 트랜스 코딩을 참고하십시오.
setVideoEncoderParam()을 호출하여 앵커의 비트 레이트(videoBitrate)를 1500Kbps로, 해상도를 720p로 설정하고 앵커가 온클라우드 믹스 트랜스코딩이 활성화된 1시간 동안 시청자와 마이크를 연결하였다고 가정합니다. 발생하는 트랜스 코딩 비용은 '0.0057 USD/분 x 60 분 = 0.342 USD'입니다.
스토리지 비용: VOD로 파일 보관 시 발생
저장에는 디스크 리소스가 필요하기 때문에 VOD로 녹화 파일을 저장할 경우 사용된 디스크 리소스에 따라 저장 요금이 부과됩니다. 파일을 오래 저장할수록 비용이 높아집니다. 비용을 줄이려면 가능한 한 저장 기간을 짧게 유지하거나 자신의 서버에 녹음 파일을 저장하는 것이 좋습니다. 스토리지 요금은 사용량 과금(후불 일 결산)으로 청구됩니다.
예를 들어, setVideoEncoderParam()을 통해 앵커의 비트 레이트(videoBitrate)를 1000kbps로 설정하고 해당 앵커의 라이브 방송 비디오(파일 포맷 한 가지 선택)를 1시간 동안 녹화하는 경우, (1000 / 8)KBps × 3600 초 = 450000 KB = 0.45 GB 크기의 비디오 파일이 생성되며 해당 파일로 인해 매일 발생하는 스토리지 요금은 약 0.45 GB × 0.0009 USD/GB/일 = 0.000405 USD입니다.
재생 요금: 파일 재생에 대한 요금**
녹화 파일 재생은 VOD의 CDN 재생 기능에 의존하며 CDN 트래픽을 소비합니다. 기본적으로 비디오 가속 요금은 재생에 사용된 트래픽에 따라 부과됩니다. 서비스 대상이 많을수록 비용이 높아집니다. 재생 요금은 사용량 과금(후불 일 결산)으로 청구됩니다.
클라우드에 1GB 파일을 녹화하고 처음부터 끝까지 1000명의 사용자에게 재생했다고 가정합니다. 소비된 트래픽은 1TB로, VOD의 계층별 요금제에 따르면 발생하는 재생 요금은 1000 × 1GB ×0.0794 USD/GB = 79.4 USD입니다. 트래픽 패키지를 구매한 경우 175 CNY가 차감됩니다.
Tencent Cloud에서 서버로 파일을 다운로드하면 상대적으로 적은 양의 트래픽도 소비되며 월 단위로 청구됩니다.
SDK 재생 라이선스
TRTC 올인원 SDK는 VOD 기반의 강력한 플레이어 기능을 제공합니다. 모바일 SDK를 사용하고 해당 버전이 10.1 이상인 경우 플레이어 기능을 사용하려면 License를 구매해야 합니다.