MicrocosmWorksื—ื“ืฉื ื•ืช ื•ืชื›ื ื•ืŸ ืงื•ืกืžื•ืก ื“ื™ื’ื™ื˜ืœื™
ืื•ื“ื•ืชืฆื•ืจ ืงืฉืจ
MicrocosmWorksืžื—ื“ืฉื™ื ื•ืžืชื›ื ื ื™ื ืงื•ืกืžื•ืก ื“ื™ื’ื™ื˜ืœื™

ืžืกืคืงื™ื ืคืชืจื•ื ื•ืช IT ื—ืฉื•ื‘ื™ื. ืื ื• ื ืœื”ื‘ื™ื ืžื˜ื›ื ื•ืœื•ื’ื™ื”, ืื‘ื˜ื—ื” ื•ืขื•ื–ืจื™ื ืœืขืกืงื™ื ืœืฆืžื•ื— ื‘ืืžืฆืขื•ืช ืชืฉืชื™ืช IT ืืžื™ื ื” ื•ื—ื“ืฉื ื™ืช.

[email protected]
+91 7011868196
New Delhi, India

ืžืจื›ื– ืฆืžื™ื—ื” AI

ืžืจื›ื– AIื—ื“ืฉื ื•ืช ืกื˜ืืจื˜ืืคืžืื™ืฅ ืืจื’ื•ื ื™

ืคืชืจื•ื ื•ืช

ื›ืœ ื”ืคืชืจื•ื ื•ืชืืคืœื™ืงืฆื™ื•ืช ื‘ืจื™ืื•ืช ื•ื›ื•ืฉืจืคืœื˜ืคื•ืจืžืช ื•ื™ื“ืื• 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 (server-side ad insertion), ืฉื˜ื™ืคืœื” ื”ื™ื˜ื‘ ื‘ืžื•ื ื˜ื™ื–ืฆื™ื” ืืš ื”ื™ื• ืœื” ืžื’ื‘ืœื•ืช ืžืฉืžืขื•ืชื™ื•ืช ืขื‘ื•ืจ ื—ื•ื•ื™ื•ืช ืคืจืกื•ื ืื™ื ื˜ืจืืงื˜ื™ื‘ื™ื•ืช:

  • ืคืจืกื•ืžื•ืช ืฉื”ื•ืฆืžื“ื• ื‘ืืžืฆืขื•ืช SSAI ืœื ื™ื›ืœื• ืœืชืžื•ืš ื‘ืฉื›ื‘ื•ืช-ืขืœ ื ื™ืชื ื•ืช ืœืœื—ื™ืฆื”, ื‘ืื ืจื™ื ื ืœื•ื•ื™ื ืื• ื™ื—ื™ื“ื•ืช ืคืจืกื•ื ืื™ื ื˜ืจืืงื˜ื™ื‘ื™ื•ืช
  • ื—ื•ืกืจ ื™ื›ื•ืœืช ืœืขืงื•ื‘ ืื—ืจ ืื™ืจื•ืขื™ ืคืจืกื•ื ื‘ืฆื“ ื”ืœืงื•ื— (ื”ืชืงื“ืžื•ืช ืจื‘ืขื•ื ื™ืช, ื ืจืื•ืช, click-through) ื”ื ื“ืจืฉื™ื ืขืœ ื™ื“ื™ ืจื•ื›ืฉื™ ืคืจืกื•ืžื•ืช ืคืจื™ืžื™ื•ื
  • ืคืœื˜ืคื•ืจืžื•ืช ื˜ืœื•ื•ื™ื–ื™ื•ืช ื—ื›ืžื•ืช (Roku, Fire TV, Apple TV) ืฆื™ืคื• ืœ-CSAI ืขื‘ื•ืจ ืžืกื’ืจื•ืช ื”ืคืจืกื•ื ื”ืžืงื•ืจื™ื•ืช ืฉืœื”ืŸ ื•ื“ืจื™ืฉื•ืช ื”ื”ืกืžื›ื”
  • ืกืžื ื™ SCTE-35 ื‘ืงื‘ืฆื™ manifest ืžืกื•ื’ HLS/DASH ื ื“ืจืฉื• ืœื ื™ืชื•ื— ื‘ืฆื“ ื”ืœืงื•ื—, ืืš ื›ืœ Player SDK ื˜ื™ืคืœ ื‘ืื™ืจื•ืขื™ cue ื‘ืื•ืคืŸ ืฉื•ื ื”
  • ื ื™ื”ื•ืœ ืฆื‘ื™ืจื™ ืคืจืกื•ืžื•ืช (ืžื™ืœื•ื™ ื”ืคืกืงื•ืช ืคืจืกื•ืžื•ืช ืžืจื•ื‘ื•ืช-ื—ืจื™ืฆื™ื ื‘ืžืกืคืจ ืคืจืกื•ืžื•ืช) ื“ืจืฉ ืชื–ืžื•ืจ ื‘ืฆื“ ื”ืœืงื•ื—
  • ื–ื™ื”ื•ื™ ื—ื•ืกืžื™ ืคืจืกื•ืžื•ืช ื•ืœื•ื’ื™ืงืช ื—ืœื•ืคื•ืช ื ื“ืจืฉื• ื›ื“ื™ ืœื”ื’ืŸ ืขืœ ื”ื”ื›ื ืกื•ืช ื‘ืคืœื˜ืคื•ืจืžื•ืช ืื™ื ื˜ืจื ื˜
  • ื˜ืขื™ื ื” ืžื•ืงื“ืžืช ืฉืœ ืคืจืกื•ืžื•ืช ืœืœื ื”ืคืจืขื” ืœืžืื’ืจ ื”ืชื•ื›ืŸ ื“ืจืฉื” ื ื™ื”ื•ืœ ืžื—ื–ื•ืจ ื—ื™ื™ื ื–ื”ื™ืจ ืฉืœ ื”ื ื’ืŸ

ื”ืคืชืจื•ืŸ ืฉืœื ื•

ื‘ื ื™ื ื• framework ื—ื•ืฆื” ืคืœื˜ืคื•ืจืžื•ืช ืœ-CSAI ืขื ืฉื›ื‘ืช ืชื–ืžื•ืจ ืคืจืกื•ืžื•ืช ืžืื•ื—ื“ืช ื”ืžื ืชื—ืช ืกืžื ื™ SCTE-35 ืžืงื‘ืฆื™ manifest ืžืกื•ื’ 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 cue ืžื•ืชืื ืื™ืฉื™ืช ื•ืฉื™ืœื•ื‘ Google IMA SDK
  • ื ื’ืŸ iOS: AVPlayer ืขื listener ืžืกื•ื’ AVDateRangeMetadataGroup ื•-IMA iOS SDK
  • ื ื’ืŸ Android: ExoPlayer ืขื listener ืžืกื•ื’ MetadataOutput ื•-IMA Android SDK
  • ื˜ืœื•ื•ื™ื–ื™ื•ืช ื—ื›ืžื•ืช: ื ื’ื ื™ื ืžืงื•ืจื™ื™ื ืœืคืœื˜ืคื•ืจืžื” (Roku RAF, Fire TV IMA, Apple TV AVKit) ืขื ืžืชืืžื™ ad framework
  • ื ื™ืชื•ื— ืคืจืกื•ืžื•ืช: pipeline ืื™ืจื•ืขื™ื ืžื•ืชืื ืื™ืฉื™ืช ืœืžืขืงื‘ ืื—ืจ ื—ืฉื™ืคื•ืช, ืจื‘ืขื•ื ื™ื, ื”ืฉืœืžื”, ืœื—ื™ืฆื•ืช ื•ื ืจืื•ืช
  • ื—ืœื•ืคื” (Fallback): ืืกืคืงืช ืคืจืกื•ืžื•ืช ื‘ื™ืช/ืœื•ื— ื›ืฉืžื™ืœื•ื™ ืคืจืกื•ืžื•ืช ืื™ื ื• ื–ืžื™ืŸ ืื• ื›ืืฉืจ ืžื–ื•ื”ื” ื—ื•ืกื ืคืจืกื•ืžื•ืช

ื ื™ืชื•ื— SCTE-35 ื‘ืฆื“ ื”ืœืงื•ื—

ืกืžื ื™ HLS Manifest

ืื•ืชื•ืช SCTE-35 ืžื•ืคื™ืขื™ื ื‘ืงื‘ืฆื™ HLS manifests ื‘ืฉื ื™ ืคื•ืจืžื˜ื™ื, ืฉื ื™ื”ื ืžื ื•ืชื—ื™ื ืขืœ ื™ื“ื™ ื”ืœืงื•ื—:

EXT-X-DATERANGE (HLS v7+)
  • ื”ื ื’ืŸ ืžืื–ื™ืŸ ืœืชื’ื™ #EXT-X-DATERANGE ืขื attributes ืžืกื•ื’ SCTE35-OUT ื•-SCTE35-IN
  • ื”-attributes ื›ื•ืœืœื™ื PLANNED-DURATION ืขื‘ื•ืจ ืื•ืจืš ื”ืคืกืงืช ื”ืคืจืกื•ืžืช ื•-ID ืขื‘ื•ืจ ืงื•ืจืœืฆื™ื™ืช ืื™ืจื•ืขื™ื
  • ืคื•ืจืžื˜ ืžื•ืขื“ืฃ ืขื‘ื•ืจ ื ื’ื ื™ื ืžื•ื“ืจื ื™ื™ื (AVPlayer, ExoPlayer, Shaka)
EXT-X-CUE-OUT / EXT-X-CUE-IN (Legacy)
  • #EXT-X-CUE-OUT:DURATION=<seconds> ืžืฆื™ื™ืŸ ืืช ืชื—ื™ืœืช ื”ืคืกืงืช ื”ืคืจืกื•ืžืช
  • #EXT-X-CUE-IN ืžืฆื™ื™ืŸ ื—ื–ืจื” ืœืชื•ื›ืŸ
  • ื ืชืžืš ืขื‘ื•ืจ ืชืื™ืžื•ืช ืœืื—ื•ืจ ืขื ื ื’ื ื™ื ื•ืžืงื•ื“ื“ื™ื ื™ืฉื ื™ื ื™ื•ืชืจ

ืกืžื ื™ DASH Manifest

  • ืื•ืชื•ืช SCTE-35 ืžื•ืคื™ืขื™ื ื›ืืœืžื ื˜ื™ <EventStream> ื‘-DASH MPD ืขื schemeIdUri="urn:scte:scte35:2013:xml"
  • ืืœืžื ื˜ื™ <Event> ืžื›ื™ืœื™ื presentationTime, duration, ื•-payload ื‘ื™ื ืืจื™ ืฉืœ SCTE-35 ืžืงื•ื“ื“ base64
  • Shaka Player ื•-ExoPlayer ืžื ืชื—ื™ื ืื•ืชื ื‘ืื•ืคืŸ ื˜ื‘ืขื™ ื‘ืืžืฆืขื•ืช ืžืžืฉืงื™ ื”-API ืฉืœ ื”-event listener ืฉืœื”ื

ื–ืจื™ืžืช ืขื™ื‘ื•ื“ ื”ืกืžื ื™ื

  1. ื–ื™ื”ื•ื™ โ€” ื”-metadata listener ืฉืœ ื”ื ื’ืŸ ืžื–ื”ื” ืื™ืจื•ืข SCTE-35 cue ื‘ืžื”ืœืš ื ื™ืชื•ื— ื”-manifest
  2. ื—ื™ืœื•ืฅ โ€” ืžืฉืš ื”ื”ืคืกืงื”, ืžื–ื”ื” ื”ืื™ืจื•ืข ื•ืกื•ื’ ื”ืกื’ืžื ื˜ืฆื™ื” ืžื—ื•ืœืฆื™ื ืžื”ืกืžืŸ
  3. ื‘ืงืฉืช ืคืจืกื•ืžืช โ€” ื‘ืงืฉืช VAST/VMAP ื ืฉืœื—ืช ืœืฉืจืช ื”ื—ืœื˜ื•ืช ื”ืคืจืกื•ืžื•ืช ืขื ืคืจืžื˜ืจื™ ื˜ืจื’ื˜ื™ื ื’ (ืžื–ื”ื” ืชื•ื›ืŸ, ื–'ืื ืจ, ืกื•ื’ ืžื›ืฉื™ืจ, ืคืœื— ืžืฉืชืžืฉื™ื, ืžื™ืงื•ื ื’ื™ืื•ื’ืจืคื™)
  4. ืชื›ื ื•ืŸ ืฆื‘ื™ืจ ืคืจืกื•ืžื•ืช โ€” ืชื’ื•ื‘ืช ื”ืคืจืกื•ืžืช ืžื ื•ืชื—ืช ืœื‘ื ื™ื™ืช ืฆื‘ื™ืจ ืคืจืกื•ืžื•ืช (ืจืฉื™ืžื” ืžืกื•ื“ืจืช ืฉืœ ืงืจื™ืื™ื™ื˜ื™ื‘ื™ื ืฉืœ ืคืจืกื•ืžื•ืช ื”ืžืžืœืื•ืช ืืช ืžืฉืš ื”ื”ืคืกืงื”)
  5. ื˜ืขื™ื ื” ืžื•ืงื“ืžืช โ€” ืงืจื™ืื™ื™ื˜ื™ื‘ื™ื ืฉืœ ืคืจืกื•ืžื•ืช ื ื˜ืขื ื™ื ืžืจืืฉ ื‘ืžื”ืœืš ื”ืคืขืœืช ื”ืชื•ื›ืŸ ื›ื“ื™ ืœืžื ื•ืข ื”ืฉื”ื™ื” ื‘ืชื—ื™ืœืช ื”ืคืกืงืช ื”ืคืจืกื•ืžืช
  6. ื”ืฉื”ื™ื” ื•ืžืขื‘ืจ โ€” ื”ืคืขืœืช ื”ืชื•ื›ืŸ ืžื•ืฉื”ื™ืช ื‘ื ืงื•ื“ืช ื”-cue, ื”ื ื’ืŸ ืขื•ื‘ืจ ืœื”ืคืขืœืช ืคืจืกื•ืžื•ืช
  7. ื”ืคืขืœืช ืคืจืกื•ืžื•ืช โ€” ืคืจืกื•ืžื•ืช ืžื•ืฆื’ื•ืช ื‘ืจืฆืฃ ืขื ืžืขืงื‘ ืจื‘ืขื•ื ื™, ื”ืฆื’ืช ื‘ืื ืจ ื ืœื•ื•ื” ื•ื˜ื™ืคื•ืœ ื‘-click-through
  8. ื—ื™ื“ื•ืฉ โ€” ืœืื—ืจ ื”ืฉืœืžืช ื”-pod, ื”ืคืขืœืช ื”ืชื•ื›ืŸ ืžืชื—ื“ืฉืช ืžื”ืคืจื™ื™ื ื”ืžื“ื•ื™ืง ืฉืœืื—ืจ ื ืงื•ื“ืช ื”-cue

ื™ื™ืฉื•ืžื™ื ืกืคืฆื™ืคื™ื™ื ืœืคืœื˜ืคื•ืจืžื”

ืื™ื ื˜ืจื ื˜ (Video.js + IMA SDK)

  • ืคืœืื’ื™ืŸ Video.js ืžื•ืชืื ืื™ืฉื™ืช ืžื™ื™ืจื˜ metadata ืžืกื•ื’ #EXT-X-DATERANGE ื‘ืืžืฆืขื•ืช ืื™ืจื•ืขื™ ืฉื™ื ื•ื™ cue ืฉืœ textTrack
  • Google IMA HTML5 SDK ืžื ื”ืœ ื‘ืงืฉื•ืช ืคืจืกื•ืžื•ืช VAST, ื”ืคืขืœืช ืคืจืกื•ืžื•ืช ื•ืจื™ื ื“ื•ืจ ื‘ืื ืจื™ื ื ืœื•ื•ื™ื
  • ืฉื›ื‘ืช-ืขืœ ืฉืœ ืžื™ื›ืœ ื”ืคืจืกื•ืžื•ืช ืžืžื•ืงืžืช ืžืขืœ ืืœืžื ื˜ ื”ื•ื™ื“ืื• ืœืชืžื™ื›ื” ื‘-click-through ื•ื›ืคืชื•ืจ ื“ื™ืœื•ื’
  • ื–ื™ื”ื•ื™ ื—ื•ืกื ืคืจืกื•ืžื•ืช ื‘ืืžืฆืขื•ืช ื‘ืงืฉืช canary โ€” ื—ื•ื–ืจ ืœืคืจืกื•ืžื•ืช ื‘ื™ืช ืื• ื—ื™ื“ื•ืฉ ืชื•ื›ืŸ ื‘ื–ื™ื”ื•ื™
  • ืชืžื™ื›ื” ื‘-preroll, midroll ื•-postroll ื‘ืืžืฆืขื•ืช VMAP ืื• ืชื–ืžื•ืŸ ื ืงื•ื“ื•ืช cue ื™ื“ื ื™

iOS (AVPlayer + IMA SDK)

  • AVPlayerItem.navigationMarkerGroups ื•-AVDateRangeMetadataGroup ืžืฉืžืฉื™ื ืœื–ื™ื”ื•ื™ SCTE-35 cues
  • ื”-delegate ืžืกื•ื’ AVPlayerItemMetadataOutput ืžื•ืคืขืœ ื‘ื›ืœ ืื™ืจื•ืข cue ืขื ืชื–ืžื•ืŸ ื•-payload ืžื ื•ืชื—ื™ื
  • 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 ื•ืžื•ื‘ื™ื™ืœ ื—ื•ืœืงื™ื ืืช ืื•ืชื” ืœื•ื’ื™ืงืช ืคืจืกื•ืžื•ืช ืขื ื”ืชืืžื•ืช ื‘ืจืžืช ืžืžืฉืง ื”ืžืฉืชืžืฉ

ืคืœื˜ืคื•ืจืžื•ืช ื˜ืœื•ื•ื™ื–ื™ื•ืช ื—ื›ืžื•ืช

Roku (RAF โ€” Roku Ad Framework)
  • ืกืคืจื™ื™ืช ื”-RAF ื”ืžืงื•ืจื™ืช ืฉืœ Roku ืžื ืชื—ืช ืกืžื ื™ SCTE-35 ืžืงื‘ืฆื™ HLS manifests ื‘ืื•ืคืŸ ื™ืฉื™ืจ
  • RAF.setAdUrl() ืžื•ื’ื“ืจ ืขื VAST endpoint; RAF ืžื˜ืคืœ ื‘ื‘ืงืฉืช ืคืจืกื•ืžื•ืช, ื‘ื ื™ื™ืช pod ื•ื”ืคืขืœื”
  • ืชืžื™ื›ื” ื‘ืคืจืกื•ืžื•ืช ื ืœื•ื•ืช ื‘ืืžืฆืขื•ืช ื”-callbacks ืžืกื•ื’ renderStitchedAd ื•-renderTrackingEvent ืฉืœ RAF
  • ื”ืกืžื›ืช Roku ื“ื•ืจืฉืช ืฉื™ืžื•ืฉ ื‘-RAF โ€” ื ื’ื ื™ ืคืจืกื•ืžื•ืช ืžื•ืชืืžื™ื ืื™ืฉื™ืช ื ื“ื—ื™ื ื‘ืžื”ืœืš ืกืงื™ืจื”
Fire TV (IMA SDK)
  • ืžืฉืชืžืฉ ื‘ื™ื™ืฉื•ื Android ExoPlayer + IMA SDK ื”ืžื•ืชืื ืœืžืžืฉืง ื”ืžืฉืชืžืฉ Leanback ืฉืœ Fire TV
  • ื ื™ื•ื•ื˜ ื‘ืืžืฆืขื•ืช D-pad ืขื‘ื•ืจ ื›ืคืชื•ืจ ื“ื™ืœื•ื’ ื•-click-through "ืœืžื“ ืขื•ื“" ืขืœ ื’ื‘ื™ ืฉื›ื‘ื•ืช-ืขืœ ืฉืœ ืคืจืกื•ืžื•ืช
  • Fire TV Ad ID ืžืฉืžืฉ ืœื˜ืจื’ื•ื˜ ืคืจืกื•ืžื•ืช ื‘ื‘ืงืฉื•ืช VAST
Apple TV (AVKit + Custom)
  • AVPlayerViewController ืขื interstitialTimeRanges ืขื‘ื•ืจ ืžื—ื•ื•ื ื™ ืžืžืฉืง ืžืฉืชืžืฉ ืžืงื•ืจื™ื™ื ืฉืœ ื”ืคืกืงื•ืช ืคืจืกื•ืžื•ืช
  • SCTE-35 cues ืžื ื•ืชื—ื™ื ื‘ืืžืฆืขื•ืช AVPlayerItemMetadataCollector
  • ื”ืคืขืœืช ืคืจืกื•ืžื•ืช ืžื ื•ื”ืœืช ื‘-AVQueuePlayer ื ืคืจื“ ืœื”ืคืจื“ื” ื ืงื™ื™ื” ื‘ื™ืŸ ืชื•ื›ืŸ ืœืคืจืกื•ืžื•ืช
  • ืžื˜ืคืœ ืœื—ื™ืฆื•ืช ื‘ืฉืœื˜ tvOS ืขื‘ื•ืจ ืืœืžื ื˜ื™ื ืื™ื ื˜ืจืืงื˜ื™ื‘ื™ื™ื ืฉืœ ืคืจืกื•ืžื•ืช

ื ื™ื”ื•ืœ ืฆื‘ื™ืจื™ ืคืจืกื•ืžื•ืช

  • ืžื™ืœื•ื™ Pod โ€” ืžืกืคืจ ืคืจืกื•ืžื•ืช VAST ืžื•ืจื›ื‘ื•ืช ื™ื—ื“ ืœืžื™ืœื•ื™ ืžืฉืš ื”ื”ืคืกืงื” ื”ืžืกื•ืžืŸ
  • Waterfall โ€” ืื ืฉืจืช ื”ืคืจืกื•ืžื•ืช ื”ืจืืฉื™ ืžื—ื–ื™ืจ "no-fill", ืžืงื•ืจื•ืช ื“ืจื™ืฉื” ืžืฉื ื™ื™ื/ืฉืœื™ืฉื•ื ื™ื™ื ื ืฉืœืคื™ื ื‘ืจืฆืฃ
  • ื”ืชืืžืช ืžืฉืš ื–ืžืŸ โ€” ื‘ื•ื ื” ื”-pod ื‘ื•ื—ืจ ืฉื™ืœื•ื‘ื™ ืคืจืกื•ืžื•ืช ื”ืžืชืื™ืžื™ื ืœืžืฉืš ื”ื”ืคืกืงื” (ืกื•ื‘ืœื ื•ืช ืฉืœ ยฑ0.5 ืฉื ื™ื•ืช)
  • ื‘ื™ื˜ื•ืœ ื›ืคื™ืœื•ื™ื•ืช โ€” ืื•ืชื• ืงืจื™ืื™ื™ื˜ื™ื‘ ืฉืœ ืคืจืกื•ืžืช ืœื ืžื•ืฆื’ ืคืขืžื™ื™ื ื‘-pod ืื—ื“
  • ื”ื’ื‘ืœืช ืชื“ื™ืจื•ืช โ€” ื”ื’ื‘ืœื•ืช ืœื›ืœ ืžืฉืชืžืฉ, ืœื›ืœ ืกืฉืŸ ื ืื›ืคื•ืช ื‘ืฆื“ ื”ืœืงื•ื— ื›ื“ื™ ืœืžื ื•ืข ืขื™ื™ืคื•ืช ืžืคืจืกื•ืžื•ืช
  • Bumpering โ€” ืงืจื™ืื™ื™ื˜ื™ื‘ื™ื ืงืฆืจื™ื ืฉืœ bumper ("ื ื—ื–ื•ืจ ืžื™ื“" / "ื‘ืจื•ื›ื™ื ื”ืฉื‘ื™ื") ืขื•ื˜ืคื™ื ืฆื‘ื™ืจื™ ืคืจืกื•ืžื•ืช

ืžืขืงื‘ ื•ื ื™ืชื•ื— ืื™ืจื•ืขื™ ืคืจืกื•ืžื•ืช

  • ืื™ืจื•ืขื™ VAST ืกื˜ื ื“ืจื˜ื™ื™ื โ€” impression, start, firstQuartile, midpoint, thirdQuartile, complete, skip, clickThrough
  • ื ืจืื•ืช (Viewability) โ€” ืคื™ืงืกืœื™ MOAT/IAS viewability ืžื•ืคืขืœื™ื ื‘ื”ืชื‘ืกืก ืขืœ ื ืจืื•ืช ืื–ื•ืจ ื”ืชืฆื•ื’ื” ืฉืœ ื”ืคืจืกื•ืžืช ื•ืกืคื™ ืžืฉืš ื–ืžืŸ
  • ืื™ืจื•ืขื™ื ืžื•ืชืืžื™ื ืื™ืฉื™ืช โ€” ืื™ืจื•ืขื™ื ื‘ืจืžืช ื”ืืคืœื™ืงืฆื™ื” (ืชื—ื™ืœืช/ืกื™ื•ื ื”ืคืกืงืช ืคืจืกื•ืžื•ืช, ืงืฆื‘ ืžื™ืœื•ื™ pod, ืชื–ืžื•ืŸ ื˜ืขื™ื ื” ืžื•ืงื“ืžืช, ื”ืคืขืœืช fallback)
  • Server Pipeline โ€” ื”ืœืงื•ื— ืฉื•ืœื— ืื™ืจื•ืขื™ื ืœ-event collector ืงืœ ืžืฉืงืœ, ืืฉืจ ืžืคื™ืฅ ืื•ืชื ืœ-GAM, MOAT, ื•ืœืžื—ืกืŸ ื”ื ืชื•ื ื™ื ื”ืื ืœื™ื˜ื™ ื”ืคื ื™ืžื™
  • ื”ืชืืžื” (Reconciliation) โ€” ื”ืชืืžืช ืœื•ื’ื™ื ื‘ืฆื“ ื”ืฉืจืช ืขื ืื™ืจื•ืขื™ื ื‘ืฆื“ ื”ืœืงื•ื— ืœื–ื™ื”ื•ื™ ืื™-ื”ืชืืžื•ืช

ื˜ื™ืคื•ืœ ื‘ื—ื•ืกืžื™ ืคืจืกื•ืžื•ืช (ืื™ื ื˜ืจื ื˜)

  • ื–ื™ื”ื•ื™ โ€” ื‘ืงืฉืช VAST canary ืœื“ื•ืžื™ื™ืŸ ืคืจืกื•ืžื•ืช ื™ื“ื•ืข; ืคืกืง ื–ืžืŸ ืื• ื—ืกื™ืžื” ืžืฆื‘ื™ืขื™ื ืขืœ ื—ื•ืกื ืคืจืกื•ืžื•ืช
  • ืืกื˜ืจื˜ื’ื™ื™ืช ื—ืœื•ืคื” โ€” ื”ืฆื’ืช ืคืจืกื•ืžื•ืช ื‘ื™ืช ืื• ื˜ืจื™ื™ืœืจื™ื ืงื™ื“ื•ืžื™ื™ื ืžื“ื•ืžื™ื™ืŸ CDN ืฆื“ ืจืืฉื•ืŸ
  • ืฉืขื•ืจ ืชื•ื›ืŸ โ€” ืฉืขืจ ืจืš ืื•ืคืฆื™ื•ื ืœื™: ื”ื ื—ื™ื™ืช ื”ืžืฉืชืžืฉ ืœื”ื•ืกื™ืฃ ืืช ื”ืืชืจ ืœืจืฉื™ืžื” ื”ืœื‘ื ื” ืœืคื ื™ ื”ืคืขืœืช ื”ืชื•ื›ืŸ
  • ืื ืœื™ื˜ื™ืงื” โ€” ืงืฆื‘ ื–ื™ื”ื•ื™ ื—ื•ืกืžื™ ืคืจืกื•ืžื•ืช ืขื•ืงื‘ ืื—ืจื™ ื“ืคื“ืคืŸ, ืžื™ืงื•ื ื’ื™ืื•ื’ืจืคื™ ื•ืขืžื•ื“

ืชื›ื•ื ื•ืช ืžืคืชื—

  1. CSAI ื—ื•ืฆื” ืคืœื˜ืคื•ืจืžื•ืช โ€” ื”ื–ืจืงืช ืคืจืกื•ืžื•ืช ืžืื•ื—ื“ืช ืขืœ ืคื ื™ ืื™ื ื˜ืจื ื˜, iOS, Android, Roku, Fire TV ื•-Apple TV
  2. ื ื™ืชื•ื— SCTE-35 ื‘ืฆื“ ื”ืœืงื•ื— โ€” ื ื™ืชื•ื— HLS EXT-X-DATERANGE, CUE-OUT/IN, ื•-DASH EventStream
  3. ืคืจืกื•ืžื•ืช ืื™ื ื˜ืจืืงื˜ื™ื‘ื™ื•ืช โ€” ืฉื›ื‘ื•ืช-ืขืœ ื ื™ืชื ื•ืช ืœืœื—ื™ืฆื”, ื‘ืื ืจื™ื ื ืœื•ื•ื™ื ื•ื›ืคืชื•ืจื™ ื“ื™ืœื•ื’ ื‘ื›ืœ ื”ืคืœื˜ืคื•ืจืžื•ืช
  4. ืชื–ืžื•ืจ ืฆื‘ื™ืจื™ ืคืจืกื•ืžื•ืช โ€” ืžื™ืœื•ื™ ื”ืคืกืงื•ืช ืžืจื•ื‘ื•ืช ืคืจืกื•ืžื•ืช ืขื waterfall, ื”ืชืืžืช ืžืฉืš ื–ืžืŸ ื•ื‘ื™ื˜ื•ืœ ื›ืคื™ืœื•ื™ื•ืช
  5. ื˜ืขื™ื ื” ืžื•ืงื“ืžืช โ€” ืงืจื™ืื™ื™ื˜ื™ื‘ื™ื ืฉืœ ืคืจืกื•ืžื•ืช ื ื˜ืขื ื™ื ืžืจืืฉ ื‘ืžื”ืœืš ื”ืคืขืœืช ืชื•ื›ืŸ ืœืžืขื‘ืจื™ ืคืจืกื•ืžื•ืช ืœืœื ื”ืฉื”ื™ื”
  6. ืžืขืงื‘ ื ืจืื•ืช โ€” ืฉื™ืœื•ื‘ MOAT/IAS ืขื‘ื•ืจ ื“ืจื™ืฉื•ืช ื ืจืื•ืช ืฉืœ ืจื•ื›ืฉื™ ืคืจืกื•ืžื•ืช ืคืจื™ืžื™ื•ื
  7. ืขืžื™ื“ื” ื‘ืชืงื ื™ื ืฉืœ ื˜ืœื•ื•ื™ื–ื™ื•ืช ื—ื›ืžื•ืช โ€” ืฉื™ืœื•ื‘ื™ Roku RAF, Fire TV IMA ื•-Apple TV AVKit ื”ืขื•ืžื“ื™ื ื‘ื“ืจื™ืฉื•ืช ื”ื”ืกืžื›ื”
  8. ืขืžื™ื“ื•ืช ื‘ืคื ื™ ื—ื•ืกืžื™ ืคืจืกื•ืžื•ืช โ€” ื–ื™ื”ื•ื™ ื•ื—ืœื•ืคื” ืœืคืจืกื•ืžื•ืช ื‘ื™ืช ืฆื“ ืจืืฉื•ืŸ ื‘ืื™ื ื˜ืจื ื˜

ืชื•ืฆืื•ืช

ื”ื›ื ืกื•ืช ืžืื™ื ื˜ืจืืงืฆื™ื”: CSAI ืืคืฉืจ ืคืจืกื•ืžื•ืช ืœื—ื™ืฆื•ืช, ืžื” ืฉืคืชื— ืืคืฉืจื•ืช ืœ-CPMs ื’ื‘ื•ื”ื™ื ื‘-25% ืœืขื•ืžืช ืžืœืื™ SSAI ื‘ืœื‘ื“
ืฉื™ืขื•ืจ ืžื™ืœื•ื™: ื“ืจื™ืฉืช Waterfall ืขื 3 ืžืงื•ืจื•ืช ืคืจืกื•ืžื•ืช ื”ืฉื™ื’ื” ืฉื™ืขื•ืจ ืžื™ืœื•ื™ pod ืฉืœ 92% ื‘ื›ืœ ื”ืคืœื˜ืคื•ืจืžื•ืช
ื—ื•ื•ื™ืช ืฆื•ืคื”: ื˜ืขื™ื ื” ืžื•ืงื“ืžืช ืฉืœ ืคืจืกื•ืžื•ืช ื”ืคื—ื™ืชื” ืืช ื–ืžืŸ ื”ื”ืฉื”ื™ื” ื‘ืชื—ื™ืœืช ื”ืคืกืงืช ื”ืคืจืกื•ืžื•ืช ืœืคื—ื•ืช ืž-200ms

ืžื—ืกื ื™ืช ื˜ื›ื ื•ืœื•ื’ื™ืช

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

caseStudyDetail.more ืžืงืจื™ ื‘ื•ื—ืŸ

ื’ืœื” ืขื•ื“ ืžื”ื™ื™ืฉื•ืžื™ื ื”ื˜ื›ื ื™ื™ื ืฉืœื ื•

Video Encoding

ืฆื™ื ื•ืจ ืื™ืชื•ืช ืœืกืžื ื™ ืคืจืกื•ืžื•ืช SCTE-35 ื•ื”ื›ื ืกืช ื˜ืจื™ื™ืœืจื™ื ืœืžื“ื™ื”

ื—ื‘ืจืช ืžื“ื™ื” ืกื˜ืจื™ืžื™ื ื’ ื ื–ืงืงื” ืœืฆื™ื ื•ืจ ืขื‘ื•ื“ื” ืื•ื˜ื•ืžื˜ื™ ื•ื™ืฆื™ื‘ ืœื”ื–ืจืงืช ืกืžื ื™ ืคืจืกื•ืžื•ืช SCTE-35 ืœื–ืจืžื™ ืฉื™ื“ื•ืจ ื—ื™ ื•-VOD, ื™ื—ื“ ืขื ื”ื™ื›ื•ืœืช ืœื”ื›ื ื™ืก ื˜ืจื™ื™ืœืจื™ื ืคืจืกื•ืžื™ื™ื (pre-roll, mid-roll, ื•-post-roll) ื‘ืžื™ืงื•ืžื™ื ืžื“ื•ื™ืงื™ื ื‘ื–ืžืŸ โ€” ืžื” ืฉืžืืคืฉืจ ืžื•ื ื˜ื™ื–ืฆื™ื” ื‘ืขืจื•ืฆื™ FAST, ืื™ืจื•ืขื™ื ื—ื™ื™ื, ื•ืกืคืจื™ื•ืช ืชื•ื›ืŸ ืœืคื™ ื“ืจื™ืฉื”.

ืงืจื ืžืงืจื” ื‘ื•ื—ืŸ
Video Encoding

ืฉื™ืจื•ืชื™ ื”ืžื“ื™ื” ืฉืœ AWS ืœื”ื–ืจืžืช ืขืจื•ืฆื™ FAST ืขืœ ื’ื‘ื™ SRT

ื—ื‘ืจืช ืžื“ื™ื” ื ื“ืจืฉื” ืœื”ืงื™ื ืขืจื•ืฆื™ ืชืจื•ืžื” (contribution feeds) ืืžื™ื ื™ื ื•ื‘ืขืœื™ ื”ืฉื”ื™ื” ื ืžื•ื›ื” ืขื‘ื•ืจ ืขืจื•ืฆื™ ื”-FAST ืฉืœื”ื, ืชื•ืš ืฉื™ืžื•ืฉ ื‘ืคืจื•ื˜ื•ืงื•ืœ Secure Reliable Transport (SRT) โ€” ืžื” ืฉืืคืฉืจ ืงืœื™ื˜ืช ืชื•ื›ืŸ ื‘ืื™ื›ื•ืช ื’ื‘ื•ื”ื” ืžืื•ืœืคื ื™ื ืžืจื•ื—ืงื™ื, ืžืขืจื›ื•ืช cloud playout, ื•ืฉื•ืชืคื™ syndication ืขืœ ื’ื‘ื™ ื—ื™ื‘ื•ืจื™ ืื™ื ื˜ืจื ื˜ ื‘ืœืชื™ ืฆืคื•ื™ื™ื.

ืงืจื ืžืงืจื” ื‘ื•ื—ืŸ

ืฉืืœื•ืช ื ืคื•ืฆื•ืช

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
ื›ื™ืกื•ื™ ืคืœื˜ืคื•ืจืžื•ืช: CSAI ืžืื•ื—ื“ ื ืคืจืก ืขืœ ืคื ื™ 6 ืคืœื˜ืคื•ืจืžื•ืช ืขื ืœื™ื‘ืช ืชื–ืžื•ืจ ืคืจืกื•ืžื•ืช ืžืฉื•ืชืคืช
ืชืื™ืžื•ืช: ืขื‘ืจ ืืช ื”ืกืžื›ืช ื”-ad framework ืฉืœ Roku, Fire TV ื•-Apple TV ื‘ื”ื’ืฉื” ืจืืฉื•ื ื”
ื ืจืื•ืช: ืฉื™ืขื•ืจ ื ืจืื•ืช ืžื“ื•ื“ ืฉืœ 85%+ ืขืžื“ ื‘ืกืคื™ ื”ืคืจืกื•ืžืื™ื ื”ืคืจื™ืžื™ื•ื
Google Ad Manager
Video Encoding

AWS Media Services ืขื‘ื•ืจ ื”ื–ืจืžืช ืขืจื•ืฆื™ FAST ื‘ืืžืฆืขื•ืช HLS

ื—ื‘ืจืช ืžื“ื™ื” ื ื“ืจืฉื” ืœื”ืฉื™ืง ืขืจื•ืฆื™ ื˜ืœื•ื•ื™ื–ื™ื” ืขื ืคืจืกื•ืžื•ืช ื‘ื—ื™ื ื (FAST) โ€” ื–ืจืžื™ื ืœื™ื ื™ืืจื™ื™ื 24/7 ืฉืœ ืชื•ื›ืŸ ื•ื™ื“ืื• ืื•ืฆืจ ืฉื ืžืกืจื• ื‘ืืžืฆืขื•ืช HLS ืœื˜ืœื•ื•ื™ื–ื™ื•ืช ื—ื›ืžื•ืช, ืžืžื™ืจื™ื, ื•ื ื’ื ื™ ื•ื•ื‘/ืžื•ื‘ื™ื™ืœ, ื”ืžืžื•ืžื ื™ื ื‘ืืžืฆืขื•ืช ื”ื•ืกืคืช ืคืจืกื•ืžื•ืช ืคืจื•ื’ืจืžื˜ื™ืช.

ืงืจื ืžืงืจื” ื‘ื•ื—ืŸ