Asiakaspuolen mainosten upotus (CSAI) SCTE-35-merkkien jäsennyksellä ja monialustaisen soittimen integroinnilla
Videoiden suoratoistoalustan piti toteuttaa Client-Side Ad Insertion (CSAI) verkko-, mobiili- ja Connected TV -sovellusten yli — mahdollistaen personoidut, laitekohtaiset mainoskokemukset täydellä mainosinteraktion tuella (klikkaavat peittokuvat, kumppanibannerit, ohituspainikkeet), joita server-side insertion ei voi tarjota.
Keskustele Projektistasi
Haaste
Alusta käytti aiemmin yksinomaan SSAI:ta (server-side ad insertion), joka hoiti kaupallistamisen hyvin, mutta siinä oli merkittäviä rajoituksia interaktiivisten mainoskokemusten osalta:
- SSAI-liitetyt mainokset eivät tukeneet klikattavia peittokuvia, kumppanibannereita tai interaktiivisia mainosyksiköitä
- Ei kykyä seurata asiakaspuolen mainostapahtumia (neljännesedistys, näkyvyys, läpiklikkaus), joita premium-mainosten ostajat vaativat
- Connected TV -alustat (Roku, Fire TV, Apple TV) odottivat CSAI:ta natiivimainoskehyksiinsä ja sertifiointivaatimuksiinsa
- SCTE-35-markkerit HLS/DASH-manifesteissä piti jäsentää asiakaspuolella, mutta jokainen player SDK käsitteli cue-tapahtumia eri tavoin
- Mainospodin hallinta (usean mainospaikan mainoskatkojen täyttäminen useilla mainoksilla) vaati asiakaspuolen orkestrointia
- Mainosestoja havainnoiva ja varautumislogiikkaa tarvittiin suojaamaan tuloja verkkoalustoilla
- Mainosten esilataus keskeyttämättä sisältöpuskuria vaati huolellista soittimen elinkaaren hallintaa
Meidän Ratkaisumme
Rakensimme alustarajat ylittävän CSAI-kehyksen yhtenäisellä mainosten orkestrointikerroksella, joka jäsentää SCTE-35-markkerit HLS/DASH-manifesteista, kommunikoi VAST/VMAP-mainospalvelimien kanssa ja hallitsee mainosten toistoelinkaarta verkossa (Video.js/Shaka), iOS:ssä (AVPlayer), Androidissa (ExoPlayer) ja Connected TV -soittimissa.
Arkkitehtuuri
- Sisällönjakelu: HLS/DASH-striimit SCTE-35-markkereilla AWS MediaPackagen + CloudFrontin kautta
- Mainospäätöspalvelin: Google Ad Manager (GAM) / SpotX VAST 4.2- ja VMAP-tuella
- Verkkosoitin: Video.js mukautetulla SCTE-35 cue -jäsentäjällä ja Google IMA SDK -integraatiolla
- iOS-soitin: AVPlayer
AVDateRangeMetadataGroup-kuuntelijalla ja IMA iOS SDK:lla - Android-soitin: ExoPlayer
MetadataOutput-kuuntelijalla ja IMA Android SDK:lla - Connected TV: Alustojen natiivisoittimet (Roku RAF, Fire TV IMA, Apple TV AVKit) mainoskehysadaptereilla
- Mainosanalytiikka: Mukautettu tapahtumaputki impression, quartile, completion, click ja viewability -seurantaan
- Varautuminen: Slate/house-ad -toimitus, kun mainostäyttöä ei ole saatavilla tai mainosesto havaittu
SCTE-35 asiakaspuolen jäsennyksen (parsing)
HLS-manifestin markkerit
SCTE-35-signaalit ilmestyvät HLS-manifesteihin kahdessa muodossa, molemmat asiakaspuolen jäsentämiä:
EXT-X-DATERANGE (HLS v7+)- Soitin kuuntelee
#EXT-X-DATERANGE-tagejaSCTE35-OUT- jaSCTE35-IN-attribuuteilla - Attribuutit sisältävät
PLANNED-DURATION-arvon mainoskatkon pituutta varten jaID-arvon tapahtumien korrelointiin - Suosittu formaatti moderneille soittimille (AVPlayer, ExoPlayer, Shaka)
#EXT-X-CUE-OUT:DURATION=merkitsee mainoskatkon alkua#EXT-X-CUE-INmerkitsee paluuta sisältöön- Tuettu taaksepäin yhteensopivuutta varten vanhempien soittimien ja enkoodereiden kanssa
DASH-manifestin markkerit
- SCTE-35-signaalit ilmestyvät
-elementteinä DASH MPD:ssä, jossa onschemeIdUri="urn:scte:scte35:2013:xml" -elementit sisältävätpresentationTime-,duration- ja base64-koodatun SCTE-35-binaarikuorman- Shaka Player ja ExoPlayer jäsentävät nämä natiivisti tapahtumakuuntelija-API-rajapintojensa kautta
Merkkien käsittelyvirta
- Tunnistus — Soittimen metatietokuuntelija havaitsee SCTE-35 cue -tapahtuman manifestin jäsennyksen aikana
- Uutto — Katkon kesto, tapahtuman ID ja segmentointityyppi uutetaan markkerista
- Mainospyyntö — VAST/VMAP-pyyntö lähetetään mainospäätöspalvelimelle kohdistusparametreilla (content ID, genre, device type, user segment, geo)
- Podin suunnittelu — Mainosvastaus jäsennetään mainospodin rakentamiseksi (järjestetty luettelo mainosmateriaaleista, jotka täyttävät katkon keston)
- Esilataus — Mainosmateriaalit esiladataan sisällön toiston aikana mainoskatkon alun viiveen poistamiseksi
- Keskeytys ja vaihto — Sisällön toisto keskeytetään cue-kohdassa, soitin vaihtaa mainosten toistoon
- Mainosten toisto — Mainokset toistetaan peräkkäin neljännesseurannan, kumppanibannerien näytön ja läpiklikkausten käsittelyn kanssa
- Jatkaminen — Podin valmistuttua sisällön toisto jatkuu tarkasta kehyksestä cue-kohdan jälkeen
Alustakohtaiset toteutukset
Web (Video.js + IMA SDK)
- Mukautettu Video.js-plugin sieppaa
#EXT-X-DATERANGE-metatiedottextTrackcue -muutostapahtumien kautta - Google IMA HTML5 SDK hallitsee VAST-mainospyyntöjä, mainosten toistoa ja kumppanien renderöintiä
- Mainoskontainerin peittokuva sijoitetaan videon elementin yläpuolelle läpiklikkauksen ja ohituspainikkeen tuen varmistamiseksi
- Mainosestojen tunnistus kanarianpyynnöllä — varautuu house-mainoksiin tai sisällön jatkamiseen tunnistuksen yhteydessä
- Preroll-, midroll- ja postroll-tuki VMAP:n tai manuaalisen cue-kohdan ajoituksen kautta
iOS (AVPlayer + IMA SDK)
AVPlayerItem.navigationMarkerGroupsjaAVDateRangeMetadataGroupkäytetään SCTE-35 cue -tunnisteiden havaitsemiseenAVPlayerItemMetadataOutput-delegaatti käynnistyy jokaisessa cue-tapahtumassa jäsennetyn ajoituksen ja kuorman kanssa- Google IMA iOS SDK hoitaa VAST-pyynnön ja mainosten toiston erillisessä
AVPlayer-instanssissa - Picture-in-Picture (PiP) keskeytetään mainoskatkojen aikana alustan mainoskäytännön mukaisesti
- Taustaääni käsitellään — mainokset eivät toistu taustatilassa
Android (ExoPlayer + IMA SDK)
Player.Listener.onMetadata()yhdessäMetadataOutputin kanssa tallentaa SCTE-35-tapahtumat HLS/DASHista- Google IMA Android SDK integroitu ExoPlayerin
ImaAdsLoader-laajennuksen kautta - Mainosten toisto käyttää erillistä
MediaSource-instanssia estääkseen sisältöpuskurin saastumisen - Käsittelee Activity-elinkaarta — mainostila säilyy kokoonpanomuutosten ja taustalle siirtymisen välillä
- Android TV ja mobiili jakavat saman mainoslogiikan käyttöliittymätason mukautusten kanssa
Connected TV -alustat
Roku (RAF — Roku Ad Framework)- Roku:n natiivi RAF-kirjasto jäsentää SCTE-35-markkerit HLS-manifesteista suoraan
RAF.setAdUrl()konfiguroitu VAST-rajapinnalla; RAF hoitaa mainospyynnöt, podien rakentamisen ja toiston- Kumppanimainostuki RAF:n
renderStitchedAd- jarenderTrackingEvent-takaisinkutsujen kautta - Roku-sertifiointi vaatii RAF-käyttöä — mukautetut mainossoittimet hylätään tarkastuksen aikana
- Käyttää Android ExoPlayer + IMA SDK -toteutusta, joka on mukautettu Fire TV:n Leanback UI:lle
- D-pad-navigointi ohituspainikkeelle ja "Lue lisää" -läpiklikkaus mainospeittokuvissa
- Fire TV Ad ID -tunnusta käytetään mainosten kohdistukseen VAST-pyynnöissä
AVPlayerViewControllerinterstitialTimeRanges-ominaisuudella natiiveja mainoskatkon käyttöliittymäindikaattoreita varten- SCTE-35 cue -tunnisteet jäsennetään
AVPlayerItemMetadataCollectorin kautta - Mainosten toistoa hallitaan erillisessä
AVQueuePlayer-instanssissa sisällön ja mainosten selkeää erottelua varten - tvOS-kaukosäätimen klikkauskäsittelijä interaktiivisille mainoselementeille
Mainospodin hallinta
- Podin täyttö — Useita VAST-mainoksia kootaan täyttämään signaalin antama katkon kesto
- Waterfall — Jos ensisijainen mainospalvelin palauttaa "no-fill", toissijaisia/kolmannen tason kysyntälähteitä kysellään peräkkäin
- Keston sovittaminen — Podin rakentaja valitsee mainosyhdistelmiä, jotka sopivat katkon kestoon (±0.5s toleranssi)
- Duplikaattien poisto — Samaa mainosmateriaalia ei näytetä kahdesti yhdessä podissa
- Toistotiheyden rajoitus — Käyttäjä- ja istuntokohtaisia rajoituksia noudatetaan asiakaspuolella mainosväsymyksen välttämiseksi
- Puskurointi — Lyhyet bumper-mainosmateriaalit ("Olemme pian takaisin" / "Tervetuloa takaisin") kietovat mainospodit
Mainostapahtumien seuranta ja analytiikka
- Standardit VAST-tapahtumat —
impression,start,firstQuartile,midpoint,thirdQuartile,complete,skip,clickThrough - Näkyvyys (Viewability) — MOAT/IAS viewability-pikselit käynnistyvät mainoksen näkymän näkyvyyden ja keston kynnysarvojen perusteella
- Mukautetut tapahtumat — Sovellustason tapahtumat (mainoskatkon alku/loppu, podin täyttöaste, esilatauksen ajoitus, varautuminen käynnistyi)
- Palvelinputki — Asiakas lähettää tapahtumia kevyelle tapahtumakerääjälle, joka jakaa ne GAM:lle, MOAT:lle ja sisäiselle analytiikkavarastolle
- Täsmäytys — Palvelinpuolen lokien täsmäytys asiakaspuolen tapahtumien kanssa eroavaisuuksien havaitsemiseksi
Mainosestojen käsittely (Web)
- Tunnistus — Kanarian VAST-pyyntö tunnettuun mainosverkkotunnukseen; aikakatkaisu tai esto osoittaa mainoseston
- Varautumisstrategia — Tarjoa house-mainoksia tai promotiivisia trailereita ensimmäisen osapuolen CDN-verkkotunnuksesta
- Sisällön rajoitus — Valinnainen pehmeä portti: kehota käyttäjää lisäämään sivusto sallittujen luetteloon ennen sisällön toistoa
- Analytiikka — Mainosestojen tunnistusastetta seurataan selaimen, maantieteellisen alueen ja sivun mukaan
Keskeiset ominaisuudet
- Monialustainen CSAI — Yhtenäinen mainosten upotus verkossa, iOS:ssä, Androidissa, Rokussa, Fire TV:ssä ja Apple TV:ssä
- SCTE-35 asiakaspuolen jäsennyksen (parsing) — HLS
EXT-X-DATERANGE,CUE-OUT/INja DASHEventStream-jäsennykset - Interaktiiviset mainokset — Klikattavat peittokuvat, kumppanibannerit ja ohituspainikkeet kaikilla alustoilla
- Mainospodin orkestrointi — Usean mainoskatkon täyttö waterfall-mekanismilla, keston sovittamisella ja duplikaattien poistolla
- Esilataus — Mainosmateriaalit esiladataan sisällön toiston aikana nollaviiveisten mainossiirtymien varmistamiseksi
- Näkyvyyden seuranta (Viewability Tracking) — MOAT/IAS-integraatio premium-mainosten ostajien viewability-vaatimuksia varten
- Connected TV -vaatimustenmukaisuus — Roku RAF-, Fire TV IMA- ja Apple TV AVKit -integraatiot täyttävät sertifiointivaatimukset
- Mainosestojen sietokyky — Havaitseminen ja varautuminen ensimmäisen osapuolen house-mainoksiin verkossa
Tulokset
Teknologiapino
caseStudyDetail.more Tapaustutkimukset
Tutustu lisää teknisiin toteutuksiimme
SCTE-35-mainosmerkkisignalointi ja mediasisältöjen trailerien lisäysputki
Suoratoistomedian yritys tarvitsi vankan, automatisoidun putken SCTE-35-mainosmerkkien lisäämiseen live- ja VOD-streameihin, sekä kyvyn lisätä mainostrailereita (pre-roll, mid-roll ja post-roll) tarkasti ajoitettuihin kohtiin – mahdollistaen kaupallistamisen FAST-kanavilla, live-tapahtumissa ja tilaussisältökirjastoissa.
AWS Media Services FAST Channel -striimaukseen SRT:n kautta
Mediakonserni tarvitsi luotettavat, matalan viiveen kontribuutiosyötteet FAST-kanavilleen käyttäen Secure Reliable Transport (SRT) -protokollaa – mikä mahdollisti korkealaatuisen sisällön sisäänvedon etästudioilta, pilvipohjaisista playout-järjestelmistä ja syndikointikumppaneilta ennakoimattomien internet-yhteyksien yli.
Usein kysytyt kysymykset
MicrocosmWorks toteutti manifestijäsentimen, joka poimii EXT-X-DATERANGE-tunnisteet, jotka sisältävät base64-koodattua SCTE-35 splice_info_section -dataa, dekoodaa splice-komennot ja laukaisee mainospäätöspyynnön VAST/VMAP-mainospalvelimelle sopivalla katkon kestolla. Jäsennin käsittelee sekä time_signal- että splice_insert-komentotyypit live- ja VOD-manifesteissa.
MicrocosmWorks rakensi jaetun mainosten toiston SDK:n alustakohtaisilla sovittimilla AVPlayerille iOS:ssä, ExoPlayerille Androidissa, hls.js:lle verkossa sekä natiivisoittimille Roku- ja Fire TV -laitteissa. SDK normalisoi mainosten elinkaaritapahtumat, kuten näyttökerrat, kvartiilin seurannan ja valmistumisen kaikilla alustoilla, varmistaen yhtenäisen raportoinnin toistolaitteesta riippumatta.
MicrocosmWorks toteutti aikakatkaisu- ja varastrategian, jossa soitin odottaa enintään 3 sekuntia mainospalvelimen vastausta ennen oletuskuvan näyttämistä tai seuraavaan sisältösegmenttiin siirtymistä. SDK esihakee myös tulevien mainoskatkojen VAST-vastaukset sisällön toiston aikana minimoidakseen viiveen varsinaisessa katkaisukohdassa.
MicrocosmWorks integroi Open Measurement SDK:n (OM SDK) näkyvyyden varmennusta varten, joka on yhteensopiva MOATin, IASin ja DoubleVerifyn kanssa, ja seurannan toteutus noudattaa IAB VAST 4.2 -spesifikaatioita näyttökertojen laskentaa ja kvartiilitapahtumia varten. Järjestelmä tukee myös IAB:n Video Ad Serving Template -mittausohjeita tarkkaa mainoksen valmistumisasteen raportointia varten.
MicrocosmWorks toimittaa mainosteknologian toteutuksia hintaan $30-$50/tunti. Täysi CSAI-järjestelmä, joka sisältää SCTE-35-jäsennyksen, VAST/VMAP-integraation sekä monialustaiset soitin-SDK:t iOS:lle, Androidille, webille ja CTV:lle, vaatii tyypillisesti 600-900 kehitystuntia. Jokainen ylimääräinen alustasovitin lisää noin 80-120 tuntia perustoteutukseen.
Valmis Muuttamaan Liiketoimintaasi?
Keskustellaan siitä, miten voimme soveltaa vastaavia ratkaisuja haasteisiisi.