프로젝트를 상담하세요
MicrocosmWorks디지털 코스모스 혁신 및 설계
소개연락처
MicrocosmWorks디지털 코스모스를 혁신하고 설계합니다

중요한 IT 솔루션을 제공합니다. 기술, 보안에 열정적이며 신뢰할 수 있는 혁신적인 IT 인프라를 통해 비즈니스 성장을 돕습니다.

[email protected]
+91 7011868196
New Delhi, India

솔루션

구축AI 제품 엔지니어링SaaS 제품 엔지니어링맞춤형 소프트웨어 개발
현대화소프트웨어 현대화AI 현대화클라우드 앱 현대화
확장백엔드 및 분산 시스템클라우드 성능 엔지니어링신뢰성 및 성능 엔지니어링AI 인프라
확대제품 엔지니어링 팀
모든 솔루션AI 에이전트 개발AI 비디오 플랫폼웰니스 및 피트니스 앱

서비스

디지털 컨설팅클라우드 인프라SaaS 개발AI 개발비디오 기술
ERP 개발Zoho 맞춤화Odoo 개발Salesforce 통합맞춤형 CRM 개발
QuickBooks 통합IoT 솔루션블록체인 개발
사이버 보안 컨설팅IT 지원 - L3

AI 성장 허브

AI 허브스타트업 혁신기업 가속기

자원

통찰력산업 가이드사용 사례 청사진아키텍처 패턴사례 연구

회사

회사 소개연락처프로젝트를 상담하세요우리의 작업

© 2026 MicrocosmWorks. 모든 권리 보유.

개인정보 처리방침서비스 약관
사례 연구 목록으로 돌아가기
Video Encoding게시일 June 22, 2026 · 수정일 September 13, 2026

SCTE-35 마커 파싱 및 다중 플랫폼 플레이어 통합을 통한 클라이언트 측 광고 삽입(CSAI)

한 비디오 스트리밍 플랫폼은 웹, 모바일 및 커넥티드 TV 앱 전반에 걸쳐 Client-Side Ad Insertion (CSAI)을 구현해야 했습니다. 이는 서버 측 삽입으로는 제공할 수 없는, 클릭 가능한 오버레이, 컴패니언 배너, 건너뛰기 버튼 등 완전한 광고 상호작용 지원을 통해 개인화된 기기 수준의 광고 경험을 가능하게 합니다.

프로젝트 상담하기
client-side-ad-insertion-csai.webp
Video Encoding
Domain
15
Technologies
6
Key Results
Delivered
Status

과제

이 플랫폼은 이전에 SSAI (server-side ad insertion)만을 사용하고 있었는데, 이는 수익화는 잘 처리했지만 인터랙티브 광고 경험에는 상당한 제약이 있었습니다.

  • SSAI로 스티칭된 광고는 클릭 가능한 오버레이, 컴패니언 배너 또는 인터랙티브 광고 단위를 지원할 수 없었습니다.
  • 프리미엄 광고 구매자가 요구하는 클라이언트 측 광고 이벤트 (쿼타일 진행, 시청 가능성, 클릭률)를 추적할 수 없었습니다.
  • 커넥티드 TV 플랫폼 (Roku, Fire TV, Apple TV)은 자체 네이티브 광고 프레임워크 및 인증 요건을 위해 CSAI를 기대했습니다.
  • HLS/DASH 매니페스트의 SCTE-35 마커는 클라이언트에서 파싱되어야 했지만, 각 플레이어 SDK는 큐 이벤트를 다르게 처리했습니다.
  • 광고 포드 관리 (여러 광고로 다중 슬롯 광고 브레이크 채우기)는 클라이언트 측 오케스트레이션을 필요로 했습니다.
  • 웹 플랫폼에서 수익을 보호하기 위해 광고 차단기 감지 및 폴백 로직이 필요했습니다.
  • 콘텐츠 버퍼를 중단하지 않고 광고를 미리 로드하려면 신중한 플레이어 수명 주기 관리가 필요했습니다.

우리의 솔루션

저희는 크로스 플랫폼 CSAI 프레임워크를 구축했습니다. 이 프레임워크는 통합 광고 오케스트레이션 레이어를 갖추고 있으며, HLS/DASH 매니페스트에서 SCTE-35 마커를 파싱하고, VAST/VMAP 광고 서버와 통신하며, 웹 (Video.js/Shaka), iOS (AVPlayer), Android (ExoPlayer) 및 커넥티드 TV 플레이어 전반에 걸쳐 광고 재생 수명 주기를 관리합니다.

아키텍처

  • 콘텐츠 전송: AWS MediaPackage + CloudFront를 통한 SCTE-35 마커가 포함된 HLS/DASH 스트림
  • 광고 결정 서버: VAST 4.2 및 VMAP 지원을 포함하는 Google Ad Manager (GAM) / SpotX
  • 웹 플레이어: 맞춤형 SCTE-35 큐 파서 및 Google IMA SDK 통합을 갖춘 Video.js
  • iOS 플레이어: AVPlayer with AVDateRangeMetadataGroup 리스너 및 IMA iOS SDK
  • Android 플레이어: ExoPlayer with MetadataOutput 리스너 및 IMA Android SDK
  • 커넥티드 TV: 광고 프레임워크 어댑터를 갖춘 플랫폼 네이티브 플레이어 (Roku RAF, Fire TV IMA, Apple TV AVKit)
  • 광고 분석: 노출, 쿼타일, 완료, 클릭 및 시청 가능성 추적을 위한 맞춤형 이벤트 파이프라인
  • 폴백: 광고 채우기가 불가능하거나 광고 차단기가 감지될 때 슬레이트/하우스 광고 전송

SCTE-35 클라이언트 측 파싱

HLS 매니페스트 마커

SCTE-35 신호는 HLS 매니페스트에 두 가지 형식으로 나타나며, 둘 다 클라이언트에서 파싱됩니다.

EXT-X-DATERANGE (HLS v7 이상)
  • 플레이어는 SCTE35-OUT 및 SCTE35-IN 속성을 가진 #EXT-X-DATERANGE 태그를 수신합니다.
  • 속성에는 광고 브레이크 길이를 위한 PLANNED-DURATION과 이벤트 상관관계를 위한 ID가 포함됩니다.
  • 최신 플레이어 (AVPlayer, ExoPlayer, Shaka)를 위한 선호 형식
EXT-X-CUE-OUT / EXT-X-CUE-IN (레거시)
  • #EXT-X-CUE-OUT:DURATION=<seconds>는 광고 브레이크 시작을 표시합니다.
  • #EXT-X-CUE-IN은 콘텐츠로의 복귀를 표시합니다.
  • 오래된 플레이어 및 인코더와의 하위 호환성을 위해 지원됩니다.

DASH 매니페스트 마커

  • SCTE-35 신호는 DASH MPD에서 schemeIdUri="urn:scte:scte35:2013:xml"을 가진 <EventStream> 요소로 나타납니다.
  • <Event> 요소는 presentationTime, duration, 그리고 base64 인코딩된 SCTE-35 바이너리 페이로드를 포함합니다.
  • Shaka Player와 ExoPlayer는 자체 이벤트 리스너 API를 통해 이를 네이티브로 파싱합니다.

마커 처리 흐름

  1. 감지 — 플레이어 메타데이터 리스너는 매니페스트 파싱 중 SCTE-35 큐 이벤트를 감지합니다.
  2. 추출 — 마커에서 브레이크 지속 시간, 이벤트 ID 및 세그먼테이션 유형을 추출합니다.
  3. 광고 요청 — 타겟팅 매개변수 (콘텐츠 ID, 장르, 기기 유형, 사용자 세그먼트, 지리)와 함께 VAST/VMAP 요청이 광고 결정 서버로 전송됩니다.
  4. 포드 계획 — 광고 응답을 파싱하여 광고 포드 (브레이크 지속 시간을 채우는 광고 크리에이티브의 정렬된 목록)를 구축합니다.
  5. 사전 로드 — 광고 브레이크 시작 시 지연 시간을 없애기 위해 콘텐츠 재생 중 광고 크리에이티브를 미리 로드합니다.
  6. 일시 정지 및 전환 — 큐 포인트에서 콘텐츠 재생이 일시 정지되고, 플레이어는 광고 재생으로 전환합니다.
  7. 광고 재생 — 쿼타일 추적, 컴패니언 배너 표시 및 클릭률 처리를 통해 광고가 순차적으로 재생됩니다.
  8. 재개 — 포드 완료 후, 큐 포인트 다음의 정확한 프레임부터 콘텐츠 재생이 재개됩니다.

플랫폼별 구현

웹 (Video.js + IMA SDK)

  • 사용자 지정 Video.js 플러그인은 textTrack 큐 변경 이벤트를 통해 #EXT-X-DATERANGE 메타데이터를 가로챕니다.
  • Google IMA HTML5 SDK는 VAST 광고 요청, 광고 재생 및 컴패니언 렌더링을 관리합니다.
  • 클릭률 및 건너뛰기 버튼 지원을 위해 비디오 요소 위에 광고 컨테이너 오버레이를 배치합니다.
  • 카나리아 요청을 통한 광고 차단기 감지 — 감지 시 하우스 광고 또는 콘텐츠 재개로 폴백합니다.
  • VMAP 또는 수동 큐 포인트 스케줄링을 통한 프리롤, 미드롤 및 포스트롤 지원

iOS (AVPlayer + IMA SDK)

  • SCTE-35 큐를 감지하기 위해 AVPlayerItem.navigationMarkerGroups 및 AVDateRangeMetadataGroup이 사용됩니다.
  • AVPlayerItemMetadataOutput 델리게이트는 파싱된 타이밍 및 페이로드와 함께 각 큐 이벤트에서 실행됩니다.
  • Google IMA iOS SDK는 별도의 AVPlayer 인스턴스에서 VAST 요청 및 광고 재생을 처리합니다.
  • 플랫폼 광고 정책에 따라 광고 브레이크 중 Picture-in-Picture (PiP)가 일시 정지됩니다.
  • 백그라운드 오디오 처리 — 광고는 백그라운드 모드에서 재생되지 않습니다.

Android (ExoPlayer + IMA SDK)

  • MetadataOutput을 포함하는 Player.Listener.onMetadata()는 HLS/DASH에서 SCTE-35 이벤트를 캡처합니다.
  • Google IMA Android SDK는 ExoPlayer의 ImaAdsLoader 확장을 통해 통합됩니다.
  • 광고 재생은 콘텐츠 버퍼 오염을 방지하기 위해 별도의 MediaSource를 사용합니다.
  • 액티비티 수명 주기를 처리 — 구성 변경 및 백그라운드 전환 시 광고 상태가 보존됩니다.
  • Android TV와 모바일은 UI 계층 적응과 함께 동일한 광고 로직을 공유합니다.

커넥티드 TV 플랫폼

Roku (RAF — Roku Ad Framework)
  • Roku의 네이티브 RAF 라이브러리는 HLS 매니페스트에서 SCTE-35 마커를 직접 파싱합니다.
  • RAF.setAdUrl()은 VAST 엔드포인트로 구성되며, RAF는 광고 요청, 포드 구축 및 재생을 처리합니다.
  • RAF의 renderStitchedAd 및 renderTrackingEvent 콜백을 통한 컴패니언 광고 지원
  • Roku 인증은 RAF 사용을 요구합니다 — 사용자 지정 광고 플레이어는 검토 중 거부됩니다.
Fire TV (IMA SDK)
  • Fire TV의 Leanback UI에 맞춰 조정된 Android ExoPlayer + IMA SDK 구현을 사용합니다.
  • 광고 오버레이에서 건너뛰기 버튼 및 "자세히 알아보기" 클릭률을 위한 D-패드 내비게이션
  • VAST 요청에서 광고 타겟팅을 위해 Fire TV Ad ID가 사용됩니다.
Apple TV (AVKit + 사용자 지정)
  • 네이티브 광고 브레이크 UI 표시기를 위한 interstitialTimeRanges가 포함된 AVPlayerViewController
  • AVPlayerItemMetadataCollector를 통해 SCTE-35 큐가 파싱됩니다.
  • 깔끔한 콘텐츠/광고 분리를 위해 별도의 AVQueuePlayer에서 광고 재생이 관리됩니다.
  • 인터랙티브 광고 요소를 위한 tvOS 리모컨 클릭 핸들러

광고 포드 관리

  • 포드 채우기 — 신호된 브레이크 지속 시간을 채우기 위해 여러 VAST 광고가 조합됩니다.
  • 폭포수 — 기본 광고 서버가 채우기 불가(no-fill)를 반환하면, 보조/삼차 수요 소스를 순차적으로 쿼리합니다.
  • 지속 시간 맞춤 — 포드 빌더는 브레이크 지속 시간 내에 맞는 (±0.5초 허용 오차) 광고 조합을 선택합니다.
  • 중복 제거 — 동일한 광고 크리에이티브는 단일 포드 내에서 두 번 표시되지 않습니다.
  • 빈도 제한 — 광고 피로를 피하기 위해 사용자별, 세션별 제한이 클라이언트 측에서 적용됩니다.
  • 범퍼 추가 — 짧은 범퍼 크리에이티브 ("잠시 후 돌아오겠습니다" / "다시 오신 것을 환영합니다")가 광고 포드를 감쌉니다.

광고 이벤트 추적 및 분석

  • 표준 VAST 이벤트 — impression (노출), start (시작), firstQuartile (첫 쿼타일), midpoint (중간 지점), thirdQuartile (세 번째 쿼타일), complete (완료), skip (건너뛰기), clickThrough (클릭률)
  • 시청 가능성 — 광고 뷰포트 가시성 및 지속 시간 임계값을 기반으로 MOAT/IAS 시청 가능성 픽셀이 실행됩니다.
  • 사용자 지정 이벤트 — 앱 수준 이벤트 (광고 브레이크 시작/종료, 포드 채우기율, 사전 로드 타이밍, 폴백 트리거)
  • 서버 파이프라인 — 클라이언트는 경량 이벤트 수집기로 이벤트를 전송하고, 이는 GAM, MOAT 및 내부 분석 웨어하우스로 분산됩니다.
  • 조정 — 불일치 감지를 위한 클라이언트 측 이벤트와 서버 측 로그 조정

광고 차단기 처리 (웹)

  • 감지 — 알려진 광고 도메인으로 카나리아 VAST 요청; 시간 초과 또는 차단은 광고 차단기를 나타냅니다.
  • 폴백 전략 — 자사 CDN 도메인에서 하우스 광고 또는 프로모션 예고편 제공
  • 콘텐츠 게이팅 — 선택적 소프트 게이트: 콘텐츠 재생 전에 사용자에게 사이트를 화이트리스트에 추가하도록 요청
  • 분석 — 브라우저, 지리 및 페이지별로 광고 차단기 감지율 추적

주요 기능

  1. 크로스 플랫폼 CSAI — 웹, iOS, Android, Roku, Fire TV 및 Apple TV 전반에 걸친 통합 광고 삽입
  2. SCTE-35 클라이언트 파싱 — HLS EXT-X-DATERANGE, CUE-OUT/IN 및 DASH EventStream 파싱
  3. 인터랙티브 광고 — 모든 플랫폼에서 클릭 가능한 오버레이, 컴패니언 배너 및 건너뛰기 버튼
  4. 광고 포드 오케스트레이션 — 폭포수, 지속 시간 맞춤 및 중복 제거를 통한 다중 광고 브레이크 채우기
  5. 사전 로드 — 제로 지연 시간 광고 전환을 위해 콘텐츠 재생 중 미리 로드되는 광고 크리에이티브
  6. 시청 가능성 추적 — 프리미엄 광고 구매자 시청 가능성 요구 사항을 위한 MOAT/IAS 통합
  7. 커넥티드 TV 규정 준수 — 인증 요구 사항을 충족하는 Roku RAF, Fire TV IMA 및 Apple TV AVKit 통합
  8. 광고 차단기 복원력 — 웹에서 광고 차단기 감지 및 자사 하우스 광고로의 폴백

결과

인터랙티브 수익: CSAI는 클릭 가능한 광고를 가능하게 하여 SSAI 전용 인벤토리 대비 25% 더 높은 CPM을 달성했습니다.
채우기율: 3개의 광고 소스를 가진 폭포수 수요를 통해 모든 플랫폼에서 92%의 포드 채우기율을 달성했습니다.
시청자 경험: 광고 사전 로딩으로 광고 브레이크 시작 지연 시간이 200ms 미만으로 단축되었습니다.

기술 스택

Video.jsGoogle IMA SDKExoPlayerAVPlayerRoku Ad Framework (RAF)AWS Elemental MediaPackageAmazon CloudFrontSCTE-35HLSDASHVAST 4.2VMAPMOATNode.js

caseStudyDetail.more 사례 연구

더 많은 기술 구현 사례를 살펴보세요

Video Encoding

SCTE-35 광고 마커 신호 및 미디어 트레일러 삽입 파이프라인

한 스트리밍 미디어 회사는 라이브 및 VOD 스트림에 SCTE-35 광고 마커를 삽입하고, 프로모션 트레일러(pre-roll, mid-roll, post-roll)를 정확한 시점에 삽입할 수 있는 견고하고 자동화된 파이프라인이 필요했습니다. 이는 FAST 채널, 라이브 이벤트 및 주문형 콘텐츠 라이브러리 전반에 걸쳐 수익을 창출하기 위함이었습니다.

사례 연구 읽기
Video Encoding

SRT를 통한 FAST 채널 스트리밍을 위한 AWS 미디어 서비스

한 미디어 회사는 예측 불가능한 인터넷 연결을 통해 원격 스튜디오, 클라우드 플레이아웃 시스템 및 신디케이션 파트너로부터 고품질 콘텐츠를 수집할 수 있도록 Secure Reliable Transport (SRT) 프로토콜을 사용하여 FAST 채널을 위한 안정적이고 짧은 지연 시간의 기여 피드를 구축해야 했습니다.

사례 연구 읽기

자주 묻는 질문

MicrocosmWorks는 base64로 인코딩된 SCTE-35 splice_info_section 데이터를 포함하는 EXT-X-DATERANGE 태그를 추출하고, splice command를 디코딩하며, 적절한 break duration과 함께 VAST/VMAP ad server에 ad decision request를 트리거하는 manifest parser를 구현했습니다. 이 parser는 live 및 VOD manifest 모두에서 time_signal 및 splice_insert command type을 모두 처리합니다.

MicrocosmWorks는 iOS용 AVPlayer, Android용 ExoPlayer, web용 hls.js, 그리고 Roku 및 Fire TV의 네이티브 플레이어를 위한 플랫폼별 어댑터를 갖춘 공유 광고 재생 SDK를 구축했습니다. 해당 SDK는 impression, quartile tracking, completion과 같은 광고 수명 주기 이벤트를 모든 플랫폼에서 표준화하여, 재생 기기에 관계없이 통합 보고를 보장합니다.

MicrocosmWorks는 플레이어가 광고 서버 응답을 최대 3초까지 기다린 후 기본 슬레이트를 재생하거나 다음 콘텐츠 세그먼트로 건너뛰는 타임아웃 및 대체 전략을 구현했습니다. 또한 SDK는 콘텐츠 재생 중에 다가오는 광고 삽입점의 VAST 응답을 사전 로드하여 실제 삽입 시점에서의 지연 시간을 최소화합니다.

MicrocosmWorks는 MOAT, IAS, DoubleVerify와 호환되는 Open Measurement SDK (OM SDK)를 가시성 검증을 위해 통합했으며, 트래킹 구현은 노출 수 및 쿼타일 이벤트 집계를 위해 IAB VAST 4.2 사양을 따릅니다. 이 시스템은 또한 정확한 광고 완료율 보고를 위한 IAB의 Video Ad Serving Template 측정 가이드라인을 지원합니다.

MicrocosmWorks는 시간당 $30~$50의 요율로 광고 기술 구현을 제공하며, SCTE-35 파싱, VAST/VMAP 통합, 그리고 iOS, Android, 웹 및 CTV용 다중 플랫폼 플레이어 SDK를 포함하는 완전한 CSAI 시스템은 일반적으로 600~900시간의 개발 시간을 필요로 합니다. 각 추가 플랫폼 어댑터는 기본 구현에 약 80~120시간을 추가합니다.

비즈니스 혁신을 시작할 준비가 되셨나요?

귀하의 과제에 유사한 솔루션을 적용하는 방법에 대해 논의해 보겠습니다.

문의하기caseStudyDetail.viewAllCaseStudies
플랫폼 범위: 공유 광고 오케스트레이션 코어를 통해 6개 플랫폼에 통합 CSAI가 배포되었습니다.
규정 준수: 첫 제출에서 Roku, Fire TV 및 Apple TV 광고 프레임워크 인증을 통과했습니다.
시청 가능성: 85% 이상의 측정된 시청 가능성 비율로 프리미엄 광고주 임계값을 충족했습니다.
Google Ad Manager
Video Encoding

HLS를 통한 FAST 채널 스트리밍을 위한 AWS Media Services

한 미디어 회사는 프로그래매틱 광고 삽입을 통해 수익을 창출하는, 스마트 TV, 셋톱박스, 웹/모바일 플레이어에 HLS를 통해 제공되는 선별된 비디오 콘텐츠의 24/7 선형 스트림인 Free Ad-Supported Streaming Television (FAST) 채널을 출시해야 했습니다.

사례 연구 읽기