MicrocosmWorksІнновації та архітектура цифрового космосу
Про насКонтакт
MicrocosmWorksІнновації та архітектура цифрового космосу

Надаємо IT-рішення, які мають значення. Ми захоплені технологіями, безпекою та допомогою бізнесу зростати завдяки надійній, інноваційній IT-інфраструктурі.

[email protected]
+91 7011868196
New Delhi, India

Центр зростання AI

AI HubІнновації для стартапівПрискорювач для підприємств

Рішення

Всі рішенняДодатки для здоров'я та фітнесуAI відео платформаРозробка AI агентів

Ресурси

ІнсайтиГалузеві ПосібникиШаблони ВикористанняАрхітектурні ШаблониКейси

Компанія

Про НасКонтактНаша Робота

Послуги

Цифровий КонсалтингХмарна ІнфраструктураРозробка SaaSРозробка AIВідео Технології
Розробка ERPНалаштування ZohoРозробка OdooІнтеграція SalesforceРозробка Користувацьких CRM
Інтеграція QuickBooksРішення IoTРозробка Блокчейну
Консалтинг з КібербезпекиІТ Підтримка - L3

© 2026 MicrocosmWorks. Усі права захищено.

Політика КонфіденційностіУмови Обслуговування
Назад до Кейсів
Video EncodingОпубліковано June 22, 2026 · Оновлено June 22, 2026

Вставка реклами на стороні клієнта (CSAI) з парсингом маркерів SCTE-35 та інтеграцією багатоплатформного плеєра

Платформа потокового відео потребувала впровадження вставки реклами на стороні клієнта (CSAI) для веб-, мобільних програм та програм для підключених телевізорів — що забезпечує персоналізований рекламний досвід на рівні пристрою з повною підтримкою взаємодії з рекламою (натискні оверлеї, супутні банери, кнопки пропуску), який не може забезпечити вставка на стороні сервера.

Обговоріть Ваш Проєкт
client-side-ad-insertion-csai.webp
Video Encoding
Domain
15
Technologies
6
Key Results
Delivered
Status

Виклик

Раніше платформа використовувала виключно SSAI (вставка реклами на стороні сервера), що добре справлялося з монетизацією, але мало значні обмеження для інтерактивних рекламних кампаній:

  • Зшита за допомогою SSAI реклама не підтримувала натискні оверлеї, супутні банери або інтерактивні рекламні блоки
  • Відсутність можливості відстежувати події реклами на стороні клієнта (прогрес по кварталях, видимість, переходи за посиланням), що вимагається покупцями преміум-реклами
  • Платформи підключених телевізорів (Roku, Fire TV, Apple TV) очікували CSAI для своїх нативних рекламних фреймворків та вимог до сертифікації
  • Маркери SCTE-35 в HLS/DASH маніфестах мали парситися на стороні клієнта, але кожен SDK плеєра обробляв події маркерів по-різному
  • Управління рекламними блоками (заповнення багатослотових рекламних пауз кількома оголошеннями) вимагало оркестрації на стороні клієнта
  • Для захисту доходу на веб-платформах потрібні були виявлення блокувальників реклами та логіка відкату
  • Попереднє завантаження реклами без переривання буфера контенту вимагало ретельного управління життєвим циклом плеєра

Наше Рішення

Ми розробили кросплатформенний фреймворк CSAI з уніфікованим рівнем оркестрації реклами, який парсить маркери SCTE-35 з HLS/DASH маніфестів, взаємодіє з рекламними серверами VAST/VMAP та керує життєвим циклом відтворення реклами на веб- (Video.js/Shaka), iOS (AVPlayer), Android (ExoPlayer) та підключених телевізійних плеєрах.

Архітектура

  • Доставка контенту: потоки HLS/DASH з маркерами SCTE-35 через AWS MediaPackage + CloudFront
  • Сервер прийняття рішень щодо реклами: Google Ad Manager (GAM) / SpotX з підтримкою VAST 4.2 та VMAP
  • Веб-плеєр: Video.js з користувацьким парсером маркерів SCTE-35 та інтеграцією Google IMA SDK
  • iOS-плеєр: AVPlayer зі слухачем AVDateRangeMetadataGroup та IMA iOS SDK
  • Android-плеєр: ExoPlayer зі слухачем MetadataOutput та IMA Android SDK
  • Підключені телевізори: нативні плеєри платформ (Roku RAF, Fire TV IMA, Apple TV AVKit) з адаптерами рекламних фреймворків
  • Аналітика реклами: користувацький конвеєр подій для відстеження показів, кварталів, завершень, кліків та видимості
  • Відкат: Доставка заставок/внутрішньої реклами, коли заповнення реклами недоступне або виявлено блокувальник реклами

Парсинг SCTE-35 на стороні клієнта

Маркери маніфесту HLS

Сигнали SCTE-35 з'являються в HLS маніфестах у двох форматах, обидва парсяться клієнтом:

EXT-X-DATERANGE (HLS v7+)
  • Плеєр прослуховує теги #EXT-X-DATERANGE з атрибутами SCTE35-OUT та SCTE35-IN
  • Атрибути включають PLANNED-DURATION для тривалості рекламної паузи та ID для кореляції подій
  • Переважний формат для сучасних плеєрів (AVPlayer, ExoPlayer, Shaka)
EXT-X-CUE-OUT / EXT-X-CUE-IN (Застаріле)
  • #EXT-X-CUE-OUT:DURATION= позначає початок рекламної паузи
  • #EXT-X-CUE-IN позначає повернення до контенту
  • Підтримується для зворотної сумісності зі старими плеєрами та кодувальниками

Маркери маніфесту DASH

  • Сигнали SCTE-35 з'являються як елементи у DASH MPD з schemeIdUri="urn:scte:scte35:2013:xml"
  • Елементи містять presentationTime, duration та бінарне корисне навантаження SCTE-35, закодоване в base64
  • Shaka Player та ExoPlayer парсять їх нативно через свої API слухачів подій

Потік обробки маркерів

  1. Виявлення — Слухач метаданих плеєра виявляє подію маркера SCTE-35 під час парсингу маніфесту
  2. Вилучення — Тривалість паузи, ID події та тип сегментації вилучаються з маркера
  3. Рекламний запит — Запит VAST/VMAP надсилається на сервер прийняття рішень щодо реклами з параметрами таргетингу (ID контенту, жанр, тип пристрою, сегмент користувача, гео)
  4. Планування рекламного блоку — Відповідь реклами парситься для побудови рекламного блоку (впорядкований список рекламних креативів, що заповнюють тривалість паузи)
  5. Попереднє завантаження — Рекламні креативи попередньо завантажуються під час відтворення контенту для усунення затримки на початку рекламної паузи
  6. Пауза та перемикання — Відтворення контенту призупиняється в точці маркера, плеєр перемикається на відтворення реклами
  7. Відтворення реклами — Реклама відтворюється послідовно з відстеженням кварталів, відображенням супутніх банерів та обробкою переходів за посиланням
  8. Відновлення — Після завершення рекламного блоку відтворення контенту відновлюється з точного кадру після точки маркера

Реалізації для конкретних платформ

Веб (Video.js + IMA SDK)

  • Користувацький плагін Video.js перехоплює метадані #EXT-X-DATERANGE через події зміни маркерів textTrack
  • Google IMA HTML5 SDK керує VAST рекламними запитами, відтворенням реклами та відображенням супутніх елементів
  • Оверлей рекламного контейнера розташовується над відеоелементом для підтримки переходів за посиланням та кнопки пропуску
  • Виявлення блокувальника реклами за допомогою "канаркового" запиту — при виявленні відкат до внутрішньої реклами або відновлення контенту
  • Підтримка preroll, midroll та postroll через VMAP або ручне планування точок маркерів

iOS (AVPlayer + IMA SDK)

  • AVPlayerItem.navigationMarkerGroups та AVDateRangeMetadataGroup використовуються для виявлення маркерів SCTE-35
  • Делегат AVPlayerItemMetadataOutput спрацьовує на кожну подію маркера з розпарсеними часовими параметрами та корисним навантаженням
  • Google IMA iOS SDK обробляє VAST запити та відтворення реклами в окремому екземплярі AVPlayer
  • Картинка в картинці (PiP) призупиняється під час рекламних пауз згідно з рекламною політикою платформи
  • Обробка фонового аудіо — реклама не відтворюється у фоновому режимі

Android (ExoPlayer + IMA SDK)

  • Player.Listener.onMetadata() з MetadataOutput захоплює події SCTE-35 з HLS/DASH
  • Google IMA Android SDK інтегровано через розширення ImaAdsLoader ExoPlayer
  • Для відтворення реклами використовується окремий MediaSource, щоб уникнути забруднення буфера контенту
  • Обробляє життєвий цикл Activity — стан реклами зберігається під час зміни конфігурації та переведення в фоновий режим
  • Android TV та мобільні пристрої використовують одну й ту ж логіку реклами з адаптаціями рівня UI

Платформи підключених телевізорів

Roku (RAF — Roku Ad Framework)
  • Нативна бібліотека RAF Roku парсить маркери SCTE-35 безпосередньо з HLS маніфестів
  • RAF.setAdUrl() налаштований з VAST ендпоінтом; RAF обробляє рекламний запит, побудову рекламного блоку та відтворення
  • Підтримка супутньої реклами через колбеки renderStitchedAd та renderTrackingEvent RAF
  • Сертифікація Roku вимагає використання RAF — користувацькі рекламні плеєри відхиляються під час перевірки
Fire TV (IMA SDK)
  • Використовує реалізацію Android ExoPlayer + IMA SDK, адаптовану для Leanback UI Fire TV
  • Навігація D-pad для кнопки пропуску та переходу "Дізнатися більше" на рекламних оверлеях
  • Fire TV Ad ID використовується для таргетингу реклами в VAST запитах
Apple TV (AVKit + Custom)
  • AVPlayerViewController з interstitialTimeRanges для нативних UI індикаторів рекламних пауз
  • Маркери SCTE-35 парсяться через AVPlayerItemMetadataCollector
  • Відтворення реклами керується в окремому AVQueuePlayer для чистого розділення контенту/реклами
  • Обробник кліків з пульта tvOS для інтерактивних рекламних елементів

Управління рекламними блоками

  • Заповнення блоку — Кілька VAST рекламних оголошень збираються для заповнення зазначеної тривалості паузи
  • Каскад (Waterfall) — Якщо первинний рекламний сервер повертає "без заповнення", вторинні/третинні джерела попиту запитуються послідовно
  • Підбір тривалості — Будівник блоку вибирає комбінації оголошень, що вписуються в тривалість паузи (±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. Відповідність вимогам підключених телевізорів — Інтеграції Roku RAF, Fire TV IMA та Apple TV AVKit, що відповідають вимогам сертифікації
  8. Стійкість до блокувальників реклами — Виявлення та відкат до внутрішньої реклами першої сторони на веб-платформі

Результати

Дохід від інтерактивної реклами: CSAI дозволила використовувати натискні рекламні оголошення, забезпечивши на 25% вищі CPM у порівнянні з інвентарем лише SSAI
Показник заповнення: Каскадний попит з 3 джерел реклами забезпечив 92% показник заповнення рекламних блоків на всіх платформах
Досвід глядача: Попереднє завантаження реклами зменшило затримку початку рекламної паузи до менш ніж 200 мс
Охоплення платформ: Уніфікована CSAI розгорнута на 6 платформах із загальним ядром оркестрації реклами
Відповідність: Пройдено сертифікацію рекламних фреймворків Roku, Fire TV та Apple TV з першої спроби
Видимість: Виміряний показник видимості 85%+, що відповідає порогам преміум-рекламодавців

Технологічний Стек

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

caseStudyDetail.more Кейси

Ознайомтесь з іншими нашими технічними впровадженнями

Video Encoding

Сигналізація маркерів реклами SCTE-35 та конвеєр вставки трейлерів медіа

Компанії зі стрімінгу медіа потрібен був надійний, автоматизований конвеєр для впровадження маркерів реклами SCTE-35 у живі та VOD потоки, а також можливість вставляти промоційні трейлери (pre-roll, mid-roll, post-roll) у точно визначені позиції — що дозволяє монетизувати через канали FAST, живі події та бібліотеки контенту на вимогу.

Читати Кейс
Video Encoding

Медіасервіси AWS для потокової передачі FAST каналів через SRT

Медіакомпанії потрібно було налагодити надійні канали внеску з низькою затримкою для своїх FAST каналів, використовуючи протокол Secure Reliable Transport (SRT), що дозволяє приймати високоякісний контент з віддалених студій, cloud playout systems та syndication partners через непередбачувані інтернет-з'єднання.

Читати Кейс
Video Encoding

Сервіси AWS Media для потокової передачі FAST-каналів через HLS

Медіакомпанії потрібно було запустити канали Free Ad-Supported Streaming Television (FAST) — цілодобові лінійні потоки підібраного відеоконтенту, що доставляються через HLS на смарт-телевізори, приставки та веб/мобільні плеєри, монетизовані за допомогою програмної вставки реклами.

Читати Кейс

Часті запитання

MicrocosmWorks implemented a manifest parser that extracts EXT-X-DATERANGE tags containing base64-encoded SCTE-35 splice_info_section data, decodes the splice commands, and triggers the ad decision request to the VAST/VMAP ad server with the appropriate break duration. The parser handles both time_signal and splice_insert command types across live and VOD manifests.

MicrocosmWorks built a shared ad playback SDK with platform-specific adapters for AVPlayer on iOS, ExoPlayer on Android, hls.js on web, and native players on Roku and Fire TV. The SDK normalizes ad lifecycle events like impression, quartile tracking, and completion across all platforms, ensuring unified reporting regardless of the playback device.

MicrocosmWorks implemented a timeout and fallback strategy where the player waits a maximum of 3 seconds for an ad server response before playing a default slate or skipping to the next content segment. The SDK also pre-fetches upcoming ad break VAST responses during content playback to minimize latency at the actual break point.

MicrocosmWorks integrated Open Measurement SDK (OM SDK) for viewability verification compatible with MOAT, IAS, and DoubleVerify, and the tracking implementation follows IAB VAST 4.2 specifications for impression counting and quartile events. The system also supports IAB's Video Ad Serving Template measurement guidelines for accurate ad completion rate reporting.

MicrocosmWorks delivers ad technology implementations at rates of $30-$50/hr, with a full CSAI system including SCTE-35 parsing, VAST/VMAP integration, and multi-platform player SDKs for iOS, Android, web, and CTV typically requiring 600-900 development hours. Each additional platform adapter adds approximately 80-120 hours to the base implementation.

Готові Трансформувати Свій Бізнес?

Давайте обговоримо, як ми можемо застосувати подібні рішення для ваших завдань.

Зв'язатися з НамиcaseStudyDetail.viewAllCaseStudies