LivePack V4 프로바이더 비교 검토

AWS IVS를 우선 후보로 하되, Cloudflare Stream의 라이브 기능까지 포함하여 비교 검토한다.

Provider별 기능 비교 (MediaLive 기준)

기능 MediaLive IVS CF Stream
Input Type RTMP_PUSH / RTMP_PULL RTMP / RTMPS / SRT RTMPS / SRT
Input 이중화 O (Single/Standard) X X
리전 선택 O O X (자동)
인코딩 프로파일 다중 (수동 설정) 채널 타입별 자동 자동 (720/480/360/240)
HLS 세그먼트 설정 O X X
저지연 모드 O O (~3-5초) O (LL-HLS beta)
DVR O X X
TS 암호화 O X X
백업 채널 O X X
24/7 O X X
VR service O X X
대체이미지 (Input Loss) O X X
뷰어 제한 CloudFront Signed Cookie JWT Private Channel Signed URL
아카이브 녹화 O (S3, TS 분할, rollover 설정) O (S3, HLS TS) O (CF 내부, 자동)
녹화 다운로드 TS 파일 개별 다운로드 (분할됨) X MP4 다운로드 API (단일 파일)
MP4 변환 없음 (별도 파이프라인 필요) 없음 (별도 파이프라인 필요) 자동 제공
⚠️ 녹화 주의사항 — — 스트리밍 시간 제한 없으나 MP4 다운로드는 4시간 미만만 가능. 4시간 초과 방송은 HLS 스트리밍 재생만 가능(파일 다운로드 불가). HLS 녹화는 m3u8+TS 세그먼트 구조로 개별 파일 추출 불가
라이브 썸네일 O (간격/해상도) O (RecordingConfiguration, 1~60초, LATEST/SEQUENTIAL) O (자동, 간격 설정 불가)
⚠️ IVS RecordingConfiguration — 리전당 20개 제한 (증가 요청 가능). 공용 1개 사용 시 전체 채널 동일 설정, 채널별 생성 시 개별 설정 가능하나 할당량 소모. 변경 시 삭제→재생성 필요 (방송 중 불가). CloudFormation 생성 버그 있어 CLI/SDK로 생성 —
MediaPackage 연동 O X X
채널 시작/중지 수동 (admin에서) 자동 (송출 시) 자동 (송출 시)
상태 감지 EventBridge EventBridge Polling (Workers Cron 1분)
채팅 별도 구축 IVS Chat (별도 구축, AWS 내장) 별도 구축
CDN CloudFront 필수 내장 내장
커스텀 도메인 O (CloudFront) CF 경유 시 이중 과금 O (CF DNS)
채널 유지 비용 (IDLE) $0.01/hr (push input 유휴 요금, 미사용 시 삭제 필요) 무료 무료
입력 비용 ~$1.40/hr → $1.30 (HD, 7% 할인) Advanced HD $0.85 → $0.79 / Standard $2.00 → $1.86 (7% 할인) 무료
시청 비용 CF 트래픽 $0.020/GB (계약) = $0.050/hr/명 (HD 5Mbps, 2.5GB/hr) Advanced HD $0.125 → $0.116/hr/명 / Standard $0.25 → $0.2325/hr/명 (7% 할인) $1/1,000분 → $0.056/hr/명 (7% 할인)
녹화 저장 비용 S3 비용 S3 비용 $5/1,000분
트래픽 수집 (전송량) O (CloudFront 로그, byte) X (delivery bytes 메트릭 없음) X (제공 안 함)
트래픽 수집 (시청시간) X O (CloudWatch LiveDeliveredTime, 초) O (GraphQL minutesViewed, 분)
입력 품질 모니터링 O (CloudWatch 메트릭) O (GetStream health + CloudWatch) X

1. 채널 생성 및 관리

항목 AWS IVS Cloudflare Stream
채널 최대 수 5,000/리전 (증가 요청 가능) 미공개 (제한 확인 안 됨)
동시 송출 100/리전 (증가 요청 가능) 미공개
동시 시청 15,000/리전 (증가 요청 가능) 미공개
채널 타입 BASIC / STANDARD / ADVANCED_SD / ADVANCED_HD 단일 (자동 멀티 해상도)
ABR (적응 비트레이트) STANDARD: 자동 5단계 래더 / BASIC: 단일 해상도 자동 (720p/480p/360p/240p)

IVS 채널 타입 상세

타입 처리 최대 해상도 최대 비트레이트 ABR 비용
BASIC transmux (원본 그대로) 1080p 3.5Mbps (480p 초과) / 1.5Mbps (480p 이하) X (단일) $0.20/hr
STANDARD transcode (멀티 해상도) 1080p 8.5Mbps O (5단계) $2.00/hr → $1.86 (7% 할인)
ADVANCED_HD transcode 720p 8.5Mbps O (4단계 + 오디오) $0.85/hr → $0.79 (7% 할인)
ADVANCED_SD transcode 480p 8.5Mbps O (3단계 + 오디오) $0.50/hr → $0.465 (7% 할인)
Stream Key 재발급 O (Key 삭제→재생성) X (채널 삭제→재생성)
RTMP/RTMPS 둘 다 (insecureIngest 옵션) RTMPS만
SRT 지원 O O
Stream Takeover O (priority 기반, 무중단 교체) X

판정: IVS 우위. 채널 수/동시 송출 한도 명확, ABR 래더 제어 가능, Stream Takeover 지원.

2. 지연시간 (Latency)

항목 AWS IVS Cloudflare Stream
저지연 모드 LOW (~3-5초) LL-HLS (beta, preferLowLatency: true)
초저지연 Real-Time (~300ms, WebRTC stage) X
일반 HLS ~10-15초 ~10-15초
플레이어 요구 IVS Player SDK 필수 (저지연) 표준 HLS 플레이어
글로벌 CDN CloudFront (별도 구성) 내장
한국 리전 서울 리전 (ap-northeast-2) 가까운 PoP 자동

둘 다 채널 생성 후 저지연 모드 변경 가능 (IVS: UpdateChannel, CF: PUT /live_inputs/{id}). IVS는 기본값이 LOW(저지연), Cloudflare는 기본값이 false(일반 HLS).

판정: IVS 우위. 저지연 보장, Real-Time(WebRTC) 옵션, 서울 리전. 단, IVS Player SDK 종속.

3. 채팅 연동

항목 AWS IVS Cloudflare Stream
채팅 기능 IVS Chat 내장 X (없음)
구조 채팅방(Room) — 채널과 독립 리소스, 1:1 매핑 -
연결 방식 WebSocket API + JS/iOS/Android SDK -
인증 JWT 토큰 (서버에서 CreateChatToken 발급) -
모더레이션 메시지 삭제, 유저 강퇴, 메시지 검토 핸들러 -
채팅방 수 50,000/리전 -
동시 접속 50,000/계정 (증가 가능) -
메시지 속도 방당 100 msg/초, 계정 1,000 msg/초 -
로깅 CloudWatch/S3/Kinesis Firehose -
비용 Free tier: 13,500 msg/월, 이후 종량제 -
자체 구축 시 불필요 WebSocket 서버 별도 구축 필요

판정: IVS 우위. IVS Chat은 채널과 독립 리소스이므로, Cloudflare 채널을 선택한 고객도 IVS Chat만 따로 사용 가능.

4. 자동 ON/OFF (방송 시작/종료 감지)

항목 AWS IVS Cloudflare Stream
시작 감지 EventBridge Stream Start (실시간) Polling으로 connected 감지 (최대 1분 지연)
종료 감지 EventBridge Stream End (실시간) Polling으로 disconnected 감지 (최대 1분 지연)
세션 관리 Session Created / Session Ended 이벤트 상태 API만 (history 배열)
Webhook EventBridge → Lambda/SNS/SQS 등 녹화 완료(ready)만
추가 인프라 EventBridge 룰만 설정 Worker Cron Trigger 필요 ($5/월)
viewerCount 상태 API에 포함 별도 API

판정: IVS 압도적 우위. 실시간 이벤트 기반으로 자동 ON/OFF 구현이 간단하고 정확함. Cloudflare는 Polling 기반이라 지연+추가 인프라 필요.

5. 라이브 영상 저장 (녹화/VOD)

기본 녹화

항목 AWS IVS Cloudflare Stream
녹화 설정 RecordingConfiguration 연결 (선택) recording.mode: automatic (선택)
기본값 녹화 안 함 생성 시 지정 필요
생성 후 변경 O (UpdateChannel) O (PUT /live_inputs/{id})

저장 포맷

항목 AWS IVS Cloudflare Stream
저장 포맷 HLS (TS 또는 fMP4 선택) HLS + DASH (자동)
기본값 TS (MPEG-TS) 자동
fMP4 O (멀티트랙 시 필수) -
DASH X O (자동 제공)
포맷 선택 O (containerFormat) X

녹화 화질

항목 AWS IVS Cloudflare Stream
화질 선택 O — renditionSelection: ALL 또는 CUSTOM (FULL_HD/HD/SD/LOWEST) X — 자동 (전체 저장)
720p 입력 시 저장 720p + 480p + 360p + 160p (ALL 기준) 720p + 480p + 360p + 240p (자동)
특정 해상도만 저장 O (비용 절감 가능) X

저장/재생/보관

항목 AWS IVS Cloudflare Stream
저장 위치 S3 (자동) Cloudflare Storage
VOD 재생 CloudFront OAC 구성 필요 playback URL 즉시 제공
보관 기간 S3 관리 (무제한) deleteRecordingAfterDays (30~1,096일)
최대 녹화 길이 48시간 (병합 기준) 7일
녹화 비용 S3 저장 비용만 $5/1,000분
재연결 병합 O (recordingReconnectWindowSeconds, 최대 20회/48시간) O (timeoutSeconds)

DVR (라이브 되감기)

둘 다 미지원. 라이브 중 시청자가 되감기하는 기능은 IVS/Cloudflare 모두 제공하지 않음. 필요 시 자체 HLS 서버 구축 필요 (기존 MediaLive duration 설정 확인 후 검토).

판정: IVS는 화질·포맷 선택, S3 무제한 보관으로 유연함. Cloudflare는 설정 없이 즉시 사용, VOD 재생이 간편.

6. 라이브 썸네일

항목 AWS IVS Cloudflare Stream
라이브 중 썸네일 O — S3 latest_thumbnail/thumb.jpg 실시간 업데이트 O — /{uid}/thumbnails/thumbnail.jpg
갱신 간격 1~60초 설정 가능 (기본 60초) 자동
해상도 설정 LOWEST_RESOLUTION / SD / HD / FULL_HD 자동
녹화 후 썸네일 O — media/thumbnails/ 연속 저장 O — Webhook에 thumbnail URL 포함
접근 방식 S3 URL (CloudFront OAC 필요) 퍼블릭 URL 즉시 접근

판정: IVS는 커스텀 가능, Cloudflare는 설정 없이 즉시 사용. 둘 다 지원.

7. 송출 끊김 시 시청자 경험

항목 AWS IVS Cloudflare Stream
끊김 직후 마지막 프레임 멈춤 → 버퍼링 스피너 동일
재연결 성공 자동 재생 재개 자동 재생 재개
완전 종료 플레이어 에러 또는 멈춤 동일
슬레이트/대체 이미지 X (미제공) X (미제공)

둘 다 프로바이더 레벨에서 슬레이트/대체 이미지를 지원하지 않음. 프론트엔드(플레이어) 레벨에서 구현 필요 — DB 상태(IDLE/LIVE) 확인 후 IDLE이면 대기 이미지 표시, 플레이어 에러 이벤트 감지 시 대체 화면 전환.

8. 콘텐츠 보호

항목 AWS IVS Cloudflare Stream
TS 세그먼트 암호화 (AES-128) X X
DRM X X
접근 제어 방식 JWT 기반 재생 인가 (Private Channel) 서명된 URL (requireSignedURLs)
토큰 없으면 재생 자체 차단 URL 접근 차단
세션 취소 (강제 퇴장) O (특정 시청자 세션 강제 종료) X

둘 다 TS 암호화/DRM 미지원. 토큰/서명 기반 접근 제어만 제공. 토큰을 가진 사용자가 TS 파일을 다운로드하면 암호화가 안 되어있어서 그대로 재생 가능.

재생 인가 구현 방향

기존 플레이어는 URL 호출만 하므로, Player API에서 토큰 발급하는 구조로 구현:

시청자 → Player API (인증 확인 → 토큰 발급) → playbackUrl + token 반환
                                               ↓
                                    플레이어 → IVS/CF에 토큰 포함 재생 요청

9. 채널 측 강제 해제 케이스

인코더가 정상이어도 프로바이더 측에서 연결을 끊거나 에러를 발생시키는 경우.

상황 AWS IVS Cloudflare Stream
비트레이트 초과 즉시 연결 해제 (BASIC 3.5Mbps, STANDARD 8.5Mbps) -
해상도 초과 (1080p 초과) 즉시 연결 해제 -
지원하지 않는 코덱 H.264/AAC만 지원, 그 외 거부 에러 이벤트 (ERR_UNSUPPORTED_VIDEO_CODEC, ERR_UNSUPPORTED_AUDIO_CODEC)
키프레임 간격 초과 디코드 에러/화면 깨짐 (5초 초과 시) GOP 에러 이벤트 (ERR_GOP_OUT_OF_RANGE)
스토리지 쿼터 초과 - 에러 이벤트 (ERR_STORAGE_QUOTA_EXHAUSTED)
구독 만료 - 에러 이벤트 (ERR_MISSING_SUBSCRIPTION)
StopStream API / 채널 삭제 강제 종료 연결 해제
동시 송출 한도 초과 신규 스트림 거부 (100/리전) 미공개

CMS에서 에러 사유를 표시하려면 IVS EventBridge 이벤트 / Cloudflare 에러 Webhook의 사유를 DB에 저장하여 안내.

10. 미지원 기능

기능 설명
VOD 스케줄 라이브 송출 IVS/CF 둘 다 미지원. RTMP 입력만 받으므로 자체 FFmpeg 송출 서버 필요 (안정성 위험). MediaLive Schedule Action 대체 불가.
RTMP Pull IVS/CF 둘 다 미지원. Push(인코더→서버) 방식만 지원. Pull(서버→소스) 필요 시 릴레이 서버 구축 필요.
HLS 세그먼트 설정 IVS/CF 둘 다 미지원. 세그먼트 길이·개수 등 프로바이더가 내부 관리, 사용자 제어 불가. DVR 구현 불가 원인.

11. 방송 모니터링 (입력/출력 상태)

입력 상태 모니터링

항목 IVS CF Stream MediaLive
입력 health GetStream → health (HEALTHY/STARVING/UNKNOWN) X (connected/disconnected만) DescribeChannel → state
입력 FPS CloudWatch IngestFramerate (1분 지연) X CloudWatch 메트릭
입력 비트레이트 CloudWatch IngestVideoBitrate (1분 지연) X CloudWatch 메트릭
오디오 비트레이트 CloudWatch IngestAudioBitrate X CloudWatch 메트릭
키프레임 간격 CloudWatch KeyframeInterval X CloudWatch 메트릭
에러 감지 EventBridge (코덱/비트레이트 초과 시 즉시) webhook (에러 코드) EventBridge

출력 상태 모니터링

항목 IVS CF Stream MediaLive
동시 시청자 GetStream → viewerCount GraphQL Analytics API CloudWatch/Couscous
시청 시간 CloudWatch LiveDeliveredTime GraphQL minutesViewed CloudFront 로그

CMS 표시 가능 정보

표시 항목 IVS CF Stream
채널 상태 + health 🟢 LIVE (HEALTHY) / 🟡 LIVE (STARVING) 🟢 LIVE (connected)
입력 FPS/비트레이트 O (CloudWatch, 1분 지연) X
동시 시청자 수 O (실시간) O (Analytics API)

판정: IVS가 모니터링 면에서 압도적. 입력 품질(FPS/비트레이트/health)을 실시간에 가깝게 확인 가능. CF Stream은 connected/disconnected만 제공.


12. 비용 비교

IVS 채널 타입별 입력 비용 (서울 리전)

채널 타입 입력 비용/hr 특징
BASIC $0.20/hr transmux (단일 해상도), 저비용
STANDARD $0.85/hr (FHD) transcode (멀티 해상도), 기본값
ADVANCED_SD 요금표 확인 필요 transcode (SD까지)
ADVANCED_HD 요금표 확인 필요 transcode (HD까지)

시나리오별 월 비용 추정

시나리오 IVS BASIC IVS STANDARD Cloudflare
5채널, 일 2시간, 50명 시청 ~$160 ~$765 ~$180
20채널, 일 4시간, 200명 시청 ~$1,200 ~$6,120 ~$1,440
50채널, 일 8시간, 1,000명 시청 ~$8,400 ~$48,200 ~$14,400

판정: IVS BASIC은 Cloudflare와 비슷한 비용. STANDARD는 transcode 비용이 높음. 단일 해상도로 충분하면 IVS BASIC이 합리적.

트래픽 수집 (과금용)

항목 CloudFront (녹화 VOD 배포) AWS IVS (라이브 시청) Cloudflare Stream (라이브 시청)
전송량 (bytes) O (CloudWatch BytesDownloaded) X (delivery bytes 메트릭 없음) X (제공 안 함)
시청 시간 X O (CloudWatch LiveDeliveredTime, 초) O (GraphQL minutesViewed, 분)
동시 시청자 X O (CloudWatch ConcurrentViews) O (GraphQL Analytics)
국가별 O O (ViewerCountryCode) O (clientCountryName)
채널별 O (Distribution) O (Channel dimension) O (uid)
데이터 보관 CloudWatch 15개월 CloudWatch 15개월 90일

결론: 전송량(byte) 기반 과금은 CloudFront(녹화 VOD)만 가능. 라이브 시청 트래픽은 IVS/CF Stream 모두 시청 시간 기반으로 전환 필요.


13. 상품 적용 적합성

상품 등급별 추천

등급 추천 프로바이더 채널 타입 이유
Free Cloudflare - 입력 무료, 최소 비용
Starter IVS BASIC 또는 Cloudflare BASIC 비용 유사, IVS가 기능 우위
Business IVS STANDARD STANDARD 멀티 해상도, 채팅, 실시간 이벤트
Enterprise IVS STANDARD/ADVANCED STANDARD 고화질, 저지연, 대규모 시청

기능별 등급 제한 제안

기능 Free Starter Business Enterprise
채널 수 1 3 10 무제한
화질 SD HD FHD FHD
녹화 X O (7일 보관) O (30일) O (무제한)
채팅 X X O O
프로바이더 선택 CF 고정 CF/IVS BASIC IVS STANDARD IVS 전체
DVR X X X 추후 (IVS/CF 미지원, 자체 HLS 서버 필요. 기존 MediaLive duration 설정 확인 후 검토)

14. 종합 평가

평가 항목 IVS Cloudflare 비고
채널 관리 ★★★★★ ★★★☆☆ IVS: 한도 명확, Stream Takeover
지연시간 ★★★★★ ★★★☆☆ IVS: 저지연 보장, Real-Time 옵션
채팅 ★★★★★ ☆☆☆☆☆ IVS Chat 내장 vs 없음
자동 ON/OFF ★★★★★ ★★☆☆☆ EventBridge 실시간 vs Polling
DVR ★☆☆☆☆ ★☆☆☆☆ 둘 다 미지원
비용 ★★★☆☆ ★★★★★ CF 입력 무료, BASIC은 유사
녹화 VOD ★★★★☆ ★★★★☆ IVS: 썸네일 / CF: 간편 재생
운영 편의 ★★★★☆ ★★★☆☆ IVS: AWS 생태계 / CF: Polling 추가 인프라

결론

IVS를 기본 프로바이더로 채택하되, 비용 민감 고객용으로 Cloudflare를 병행 지원한다.