SCTE-35 광고 마커 신호 및 미디어 트레일러 삽입 파이프라인
한 스트리밍 미디어 회사는 라이브 및 VOD 스트림에 SCTE-35 광고 마커를 삽입하고, 프로모션 트레일러(pre-roll, mid-roll, post-roll)를 정확한 시점에 삽입할 수 있는 견고하고 자동화된 파이프라인이 필요했습니다. 이는 FAST 채널, 라이브 이벤트 및 주문형 콘텐츠 라이브러리 전반에 걸쳐 수익을 창출하기 위함이었습니다.
프로젝트 상담하기
과제
클라이언트의 기존 워크플로는 수동 마커 배치와 정적 트레일러 스티칭에 의존하여 다음과 같은 여러 운영 문제를 야기했습니다.
- 광고 마커가 방송 관제실을 통해 수동으로 삽입되어 인적 오류와 광고 시간 누락을 초래했습니다.
- 트레일러가 VOD 자산에 정적으로 연결되어 프로모션 변경 시마다 재인코딩이 필요했습니다.
- 캠페인 일정 또는 시청자 타겟팅에 기반한 동적 트레일러 로테이션을 지원하지 않았습니다.
- SCTE-35 신호는 일관성이 부족하여 일부 스트림은 Splice Insert를 사용하고 다른 스트림은 Time Signal을 사용하여 통일된 표준이 없었습니다.
- 프레임이 부정확한 광고 경계는 시각적 결함, 플레이어 버퍼링 및 광고 검증 실패를 야기했습니다.
- 라이브 스트림은 초당 미만 지연 시간으로 실시간 SCTE-35 주입을 요구했으나, 레거시 시스템은 이를 제공할 수 없었습니다.
- 마커 배치, 트레일러 전달 또는 광고 시간 준수 여부를 모니터링하기 위한 중앙 집중식 대시보드가 없었습니다.
우리의 솔루션
저희는 자동화된 SCTE-35 신호 및 미디어 트레일러 삽입 파이프라인을 AWS Elemental MediaLive, 맞춤형 SCTE-35 스케줄링 서비스, 그리고 라이브 및 VOD 워크플로를 모두 지원하는 동적 트레일러 관리 시스템을 사용하여 구축했습니다.
아키텍처
- 수집(Ingest): SCTE-35 API 기반 주입 기능을 갖춘 라이브 스트림 인코딩을 위한 AWS Elemental MediaLive
- VOD 처리: 오프라인 SCTE-35 마커 삽입 및 트레일러 스티칭을 위한 AWS Elemental MediaConvert
- SCTE-35 스케줄러: MediaLive SCTE-35 API를 통한 프로그래밍 방식 마커 스케줄링 및 주입을 위한 맞춤형 Node.js 서비스
- 트레일러 관리자: 캠페인 기반 로테이션 및 시청자 타겟팅을 지원하는 동적 트레일러 선택 서비스
- 스토리지: VOD 자산, 트레일러 크리에이티브 및 처리된 출력물을 위한 Amazon S3
- 패키징: SCTE-35 패스스루를 통한 HLS/DASH 출력을 위한 AWS Elemental MediaPackage
- 모니터링: CloudWatch 지표 및 알림 기능을 갖춘 맞춤형 SCTE-35 준수 대시보드
- CDN: 매니페스트 수준 광고 마커 가시성을 통한 전달을 위한 Amazon CloudFront
SCTE-35 신호 파이프라인
라이브 스트림 — 실시간 마커 주입
- 일정 정의 — 시작 시간, 길이 및 마커 유형을 포함하는 광고 시간 일정을 API를 통해 정의
- SCTE-35 API 주입 — 맞춤형 스케줄러가 정확한 타임스탬프에서 MediaLive의 SCTE-35 입력 스플라이스 API를 트리거
- 신호 유형 — Splice Insert(즉시 광고 시간), Time Signal(프로그래밍 방식 결정), Splice Null(하트비트/유지) 지원
- 세그먼테이션 설명자 — 공급자 ID, 이벤트 ID, 길이 및 세그먼테이션 유형(프로그램 시작, 광고 시작, 광고 종료, 콘텐츠 재개)을 포함하는 임베디드 메타데이터
- 패스스루 — MediaPackage는 HLS 매니페스트(
#EXT-X-DATERANGE또는#EXT-X-CUE-OUT/#EXT-X-CUE-IN태그) 및 DASH 매니페스트(EventStream요소)에서 SCTE-35 마커를 보존합니다.
VOD — 오프라인 마커 삽입
- 콘텐츠 분석 — 장면 감지를 통해 자연스러운 광고 시간 지점(장면 전환, 무음, 검은 화면) 식별
- 마커 배치 — IDR 프레임 경계에 맞춰 검증된 위치에 SCTE-35 마커 삽입
- MediaConvert 처리 — 정확한 PTS 타임스탬프와 함께 트랜스코딩 작업이 트랜스포트 스트림에 SCTE-35 PID 임베드
- 매니페스트 꾸미기 — 하위 SSAI 또는 CSAI 소비를 위해 출력 HLS/DASH 매니페스트에 광고 마커 포함
미디어 트레일러 삽입
동적 트레일러 관리
- 트레일러 라이브러리 — S3에 저장된 프로모션 자산(pre-roll 범퍼, mid-roll 프로모션, post-roll 카드)의 중앙 집중식 저장소
- 캠페인 스케줄링 — 시작/종료일, 우선순위 및 빈도 제한이 있는 캠페인에 트레일러 할당
- 시청자 타겟팅 — 콘텐츠 장르, 지리, 기기 유형 및 시간대 규칙에 기반한 트레일러 선택
- ABR 매칭 — 기본 콘텐츠의 ABR 래더(해상도, 비트레이트, 코덱, 프레임 레이트)에 맞게 사전 트랜스코딩된 트레일러
삽입 모드
Pre-Roll 트레일러 삽입
- 프로그램 콘텐츠 시작 전에 재생되는 트레일러
out_of_network_indicator가 있는 SCTE-35splice_insert로 트레일러 시작 표시break_duration필드를 통해 신호되는 길이로 콘텐츠로의 정확한 복귀 보장- 트레일러에서 프로그램으로의 끊김 없는 키프레임 정렬 전환
Mid-Roll 트레일러 삽입
- 장면 감지 또는 수동 큐 포인트로 식별된 자연스러운 콘텐츠 중단 지점에 삽입
- 세그먼테이션 설명자 유형
0x22(Break Start) 및0x23(Break End)을 포함하는 SCTE-35time_signal - 활성 캠페인 및 남은 노출 할당량에 따라 동적으로 선택되는 트레일러
- 플레이어/SSAI 시스템은 마커를 사용하여 트레일러 세그먼트를 스트림에 연결
Post-Roll 트레일러 삽입
- 프로그램 종료 후 추가되는 프로모션 콘텐츠
- SCTE-35 신호는 메인 콘텐츠의 끝과 post-roll 세그먼트의 시작을 표시합니다.
- 주로 "Up Next" 프로모션 및 채널 간 프로모션에 사용됩니다.
라이브 트레일러 오버레이
- 라이브 이벤트의 경우, 예정된 광고 시간 동안 광고와 함께 또는 광고 대신 트레일러 삽입
- 트레일러 스케줄러와 광고 결정 서버 간에 SCTE-35 신호 조율
- 광고 채우기가 불가능할 때(광고 미송출 슬레이트 교체) 대체 트레일러 제공
SCTE-35 준수 모니터링
검증 엔진
- 마커 정확도 — SCTE-35 신호가 IDR 프레임 경계와 일치하는지 확인 (1프레임 허용 오차 내)
- 길이 준수 — 광고 시간 길이가 신호된
break_duration과 일치하는지 검증 - 신호 무결성 — 누락된
CUE-IN반환 신호, 고아CUE-OUT마커 및 중복 이벤트 ID 확인 - PTS 연속성 — 플레이어 동기화 문제 방지를 위해 광고/콘텐츠 경계 전반의 프레젠테이션 타임스탬프 연속성 모니터링
대시보드 및 알림
- 채널 전체 SCTE-35 이벤트의 실시간 시각화 (유형, 타임스탬프, 길이, 상태)
- 채널별 광고 시간 준수 점수 (정확하게 신호되고 채워진 광고 시간의 비율)
- 누락된 마커, 길이 불일치 및 신호 형식 오류에 대한 알림
- 광고 운영팀을 위한 내보내기 가능한 준수 로그가 포함된 과거 보고서
주요 기능
- 자동화된 SCTE-35 주입 — MediaLive를 통한 라이브 스트림을 위한 API 기반 실시간 마커 삽입
- VOD 마커 삽입 — 장면 감지 지원 중단점 선택을 통한 오프라인 SCTE-35 배치
- 동적 트레일러 로테이션 — 빈도 제한 및 시청자 타겟팅을 포함한 캠페인 기반 트레일러 선택
- 다중 위치 트레일러 — 프레임 정확한 전환을 통한 pre-roll, mid-roll, post-roll 트레일러 삽입
- ABR 일치 트레일러 — 원활한 재생을 위해 콘텐츠 ABR 래더와 일치하도록 사전 트랜스코딩된 트레일러
- SCTE-35 준수 대시보드 — 마커 정확도, 신호 무결성 및 길이 준수 실시간 모니터링
- 대체 슬레이트 관리 — 광고 채우기가 불가능할 경우 자동 트레일러/슬레이트 삽입
- HLS & DASH 지원 — HLS (
EXT-X-CUE) 및 DASH (EventStream) 매니페스트 모두에서 SCTE-35 마커 보존
결과
기술 스택
caseStudyDetail.more 사례 연구
더 많은 기술 구현 사례를 살펴보세요
SCTE-35 마커 파싱 및 다중 플랫폼 플레이어 통합을 통한 클라이언트 측 광고 삽입(CSAI)
한 비디오 스트리밍 플랫폼은 웹, 모바일 및 커넥티드 TV 앱 전반에 걸쳐 Client-Side Ad Insertion (CSAI)을 구현해야 했습니다. 이는 서버 측 삽입으로는 제공할 수 없는, 클릭 가능한 오버레이, 컴패니언 배너, 건너뛰기 버튼 등 완전한 광고 상호작용 지원을 통해 개인화된 기기 수준의 광고 경험을 가능하게 합니다.
SRT를 통한 FAST 채널 스트리밍을 위한 AWS 미디어 서비스
한 미디어 회사는 예측 불가능한 인터넷 연결을 통해 원격 스튜디오, 클라우드 플레이아웃 시스템 및 신디케이션 파트너로부터 고품질 콘텐츠를 수집할 수 있도록 Secure Reliable Transport (SRT) 프로토콜을 사용하여 FAST 채널을 위한 안정적이고 짧은 지연 시간의 기여 피드를 구축해야 했습니다.
자주 묻는 질문
MicrocosmWorks는 EPG의 광고 브레이크 타임스탬프를 PTS에 정렬된 프리롤 시간과 함께 SCTE-35 splice_insert 명령으로 변환하여 AWS Elemental MediaLive의 SCTE-35 입력 스케줄 API를 통해 MPEG-TS 스트림으로 삽입하는 스케줄링 엔진을 구현했습니다. 이 시스템은 예정된 위치에서 1프레임 미만의 타이밍 편차로 프레임 단위의 정확한 스플라이스 지점을 달성합니다.
MicrocosmWorks는 MediaLive의 입력 스위칭(input switching)과 팔로우 모드(follow-mode) 구성을 활용하여 트레일러 삽입 워크플로우를 구축했습니다. SCTE-35 'return-to-network' 마커는 트레일러 콘텐츠에서 라이브 피드로의 자동 전환을 트리거합니다. 전환은 클라이언트 장치에서 디코더 글리치(glitches)를 방지하기 위해 GOP 경계에 맞춰진 클린 스위치(clean switch) 지점을 사용합니다.
네, MicrocosmWorks는 파이프라인을 구성하여 SCTE-35 마커를 전송 스트림(AWS MediaTailor와 같은 SSAI 시스템용)과 HLS/DASH 매니페스트(CSAI 플레이어용 EXT-X-DATERANGE 또는 Period 이벤트로) 모두에 내보내도록 했습니다. 이 이중 모드 신호 방식은 파이프라인 수정 없이 모든 다운스트림 광고 결정 시스템과의 호환성을 보장합니다.
MicrocosmWorks는 어떤 광고 브레이크 시간 창이라도 정확하게 채울 수 있도록 다양한 길이의 예고편 및 범퍼 라이브러리를 유지 관리하는 동적 슬레이트 관리 시스템을 구축했습니다. 이 시스템은 빈 패킹(bin-packing) 알고리즘을 사용하여 500ms 허용 오차 내에서 브레이크 시간을 채우는 최적의 자산 조합을 선택하고, 남는 부분은 브랜드 슬레이트로 채웁니다.
MicrocosmWorks는 시간당 35~50달러의 요율로 방송 광고 삽입 인프라를 제공하며, 스케줄링 엔진, MediaLive 구성 및 모니터링을 포함하는 완전한 SCTE-35 신호 및 트레일러 삽입 파이프라인은 일반적으로 250~400시간의 개발 시간이 필요합니다. 이러한 투자를 통해 상당한 FAST channel 수익을 창출할 수 있는 광고 삽입 구간의 수익화가 가능해집니다.