SlideShare a Scribd company logo
1 of 48
Download to read offline
The future of SSAI on OTT devices
Phil Cluff, August 2019
Me
• Streaming Specialist @
• Organiser, London Video Tech Meetup
• Co-Host, Demuxed Podcast
• Ex VP Engineering @
• Ex Principal Engineer & Team lead @
Video Adverts in browsers
• 5+ years ago: client side advertising (CSAI)
• Browser makes request to ad server, gets some creatives,
plays them at appropriate times
• Beacons fired to report impressions (ad views)
CSAI Problems
• Limited by browser technology
• Poor user experience
• Buffering between content and ads common
• Video stack often torn down completely on ad transition
• Sometimes the player was moved off screen, or overlaid with another player
Then browsers got better
• Browsers support more concurrent HTTP requests,
bandwidth improves
• Browsers get better at rendering multiple video elements
• Quality of experience for the user improves 👍
Background

Video ads on the internet, and the rise of SSAI.
Ad blockers
• Appear as browser plugins - adblock plus, ublock origin
etc.
• Start blocking HTTP requests to ad servers, beacon
endpoints
• This stops video ads playing
• Most players resilient to failing to talk to ad servers or other errors
• So content still plays
The ad industry
SSAI
Thus, SSAI is born
• Variety of big name solutions
• Early:
• Unicorn Media (Now Brightcove SSAI)
• Yospace
• Recent:
• Google DAI
• Verizon Uplynk
• AWS Mediatailor
OTT devices are different to browsers
• Higher viewer expectations of broadcast like experience
• Fast startup times, no buffering between ads and content, no black frames, decent
audio normalization…
• It’s on a TV, right?
• Very few ad blockers though
• But devices have little RAM, little CPU, and useless
browser engines
• So CSAI isn’t super feasible
How does SSAI work?

Manifest manipulation, timestamp rewriting, oh my!
Approach 1:Manifest Manipulation based SSAI
• On manifest request, hit an ad server
• Check if you have those ads cached
• If so, insert them into the stream, along with markers
• If not, transcode them and hope they come up again later
Manifest Manipulation based SSAI
Manifest
Generator


CDN (s)
Ad Server
Media Store
Get Manifest
Get Segments
HLS Discontinuities
EXTM3U
#EXT-X-VERSION:3
#EXT-X-PLAYLIST-TYPE:VOD
#EXT-X-MEDIA-SEQUENCE:0
#EXT-X-TARGETDURATION:10
#EXTINF:10.000,
http://example.com/preroll-2/segment1.ts
#EXT-X-DISCONTINUITY
#EXTINF:5.000,
http://example.com/preroll-2/segment1.ts
#EXT-X-DISCONTINUITY
#EXTINF:10.000,
http://example.com/content/segment1.ts
#EXTINF:2.150,
http://example.com/content/segment2.ts
#EXT-X-DISCONTINUITY
#EXTINF:10.000,
http://example.com/midroll-1/segment1.ts
#EXT-X-DISCONTINUITY
#EXTINF:10.000,
http://example.com/content/segment3.ts
#EXTINF:5.067,
http://example.com/content/segment4.ts
#EXT-X-ENDLIST
Preroll 1
Preroll 2
Content Part 1
Content Part 2
Midroll
DASH Multi Period
<?xml version="1.0" encoding="UTF-8"?>
<MPD xmlns="urn:mpeg:dash:schema:mpd:2011" profiles="urn:mpeg:dash:profile:isoff-live:2011"
type="static" mediaPresentationDuration="PT53.358S" minBufferTime="PT2.000S">
<Period>

<!-- Adaptation Sets, Roles, Segment Template,

Segment Timeline Representations etc. -->
</Period>
<Period>

<!-- Adaptation Sets, Roles, Segment Template,

Segment Timeline Representations etc. -->
</Period>
<Period>

<!-- Adaptation Sets, Roles, Segment Template,

Segment Timeline Representations etc. -->
</Period>
<Period>

<!-- Adaptation Sets, Roles, Segment Template,

Segment Timeline Representations etc. -->
</Period>
<Period>

<!-- Adaptation Sets, Roles, Segment Template,

Segment Timeline Representations etc. -->
</Period>
</MPD>
Preroll 1
Preroll 2
Content Part 1
Content Part 2
Midroll
Approach 2:Timestamp rewriting SSAI
• Still manipulates the manifest to insert ads, and generates a
manifest for each user
• But also re-writes the timestamps of content and ads so that
discontinuities aren’t required
• Usually requires redirects to segments
• Great for OTT devices, not so great for caches
Timestamp rewriting SSAI
Manifest
Generator


CDN (s)
Ad Server
Media Store
Timestamp
Rewriter
Get Manifest
Get Segments
“Manifest manipulation sounds great!”

Let’s use it everywhere!
The living room device landscape

AKA the good, the bad, and the ugly
The 4 classes of device in the living room
• Streaming boxes
• “Smart” TVs
• Set top boxes
• Games consoles
⚠ Disclaimer ⚠

These support grids are for European 2018/19
devices, trying to use the native video player,
running up to date firmware.
YMWV.
The Good:Streaming Boxes
Device
HLS with
Discontinuities
HLS with Discontinuities
and DRM 

(Fairplay)
Multi Period DASH
Multi Period DASH with
DRM 

(Playready or Widevine)
Notes
✅ ❌ ✅ ✅ Use Cast Application Framework (CAF)
✅ ✅ ❌ ❌ HLS only. Native support.
✅ ❌ ✅ ✅
Works with firmware 8.1 and up. 

Note that Roku based devices (EG: NowTV, TelstraTV) run outdated
firmware for extended periods.




(Android TV)
✅ ❌ ✅ ✅ Use Amazon’s fork of Exoplayer.
Device
HLS with
Discontinuities
HLS with Discontinuities
and DRM (Fairplay)
Multi Period DASH
Multi Period DASH with
DRM 

(Playready or Widevine)
Notes
✅
(Natively)
❌ ?

(In theory via MSE)
?

(In theory via MSE)
Modern Tizen only. There are mixed reports on workarounds to get
multi period DASH working, in particular using a custom player, but it
certainly doesn’t “just work”.
✅
(Natively)
❌
✅ 

(Via MSE)
✅ 

(Via MSE & EME)
WebOS. Native playback is limited to HLS. Use a web player to get
DASH and DRM playback. Multi-period depends on using a player
that has support. DRM with multi-period seems to be hit-and-miss.
✅ ❌ ✅ ✅ Android TV since 2015. Use Exoplayer, this should work just fine.
✅
(On AndroidTV and RokuTV
based devices)
❌
✅
(On AndroidTV and
RokuTV based devices)
✅
(On AndroidTV and RokuTV
based devices)
Sharp has some Android TV, some RokuTV based devices. These
should just work, but we haven’t been able to confirm.
? ❌
✅ 

(Via MSE)
✅ 

(Via MSE & EME)
Firefox OS fork since 2014. HTML5 web app based. Should support
HbbTV 2.0.1.
✅ ❌ ✅ ✅ RokuTV Based, should work as per Roku.
✅ ❌ ✅ ✅ RokuTV Based, should work as per Roku.
? ❌ ? ?
Devices used to be Chromecast based, but now are some form of
streamed web app (they don't have Netflix yet...)
Vizio also doesn't exist in the EU, so I don't really care.
Results will vary largely based on how you build and distribute your application.
The Bad:“Smart”TVs
• Thousands of devices in the market, varying by locale
• Very little support for DASH or DRM in general
• Most devices have no support for manifest manipulation
The Ugly: Set top boxes
The Forgotten:Games consoles
Device HLS with Discontinuities
HLS with Discontinuities
and DRM 

(Fairplay)
Multi Period DASH
Multi Period DASH with
DRM 

(Playready or Widevine)
Notes
✅ ❌ ✅ ✅ As reported by Microsoft, unverified.
✅ ❌ ❌ ❌
Sony report this “should work”, but all practical attempts
to use it seem to have failed in practice. May work with
some custom player development.
? ? ? ?
I have had no success in contacting Nintendo about this. 



Streaming apps likely run in the web browser which is
Webkit based.
Device coverage by numbers
• Streaming boxes: 100%
• Smart TVs: 90%*
• Set top boxes: %
• Games consoles: ~50?%
* Again, remember this is for 2018/19 devices, with up-to-date firmware
Problems

99 problems, and Smart TVs are definitely one.
This is an incomplete picture
• We have good device coverage, so we’re good, right?
• Not really. Only 42% of households in the UK “Have a Smart TV”*
• Uptake of streaming boxes is not large
• We have very little data on the age of the Smart TV devices in
peoples homes
* Statista, 2018. European countries differ. I’m working on getting firmer statistics.
Age of Smart TVs
• While we don’t know absolute age,
we can approximate from adoption
rate
• Smart TV adoption is growing by
average 6-7% a year, and is slowing
• Based on adoption rate, most Smart
TVs are at least 3 years old
14% bought in the last
3 years
28% bought over 3 years ago
Old Smart TVs suck
• Capabilities trail off quickly for older Smart TVs
• Out of date firmware is common
• These devices still have access to the app store
• This can be hard to detect
• 3 years ago:Virtually no manifest manipulation support
SSAI Support vs Device Age
Modern Smart TVs
Streaming Boxes

and Games Consoles
Old Streaming Boxes

with modern firmware
Solutions

Probably what you came here for…
First, understand the scope of your problem
• Figure out how much of a problem you have
• Survey your users, understand what devices they have in their living
rooms
• Lots of people have many devices in their living room
• Example: I have 5 living room devices which can play Netflix,
including a Smart TV
• And remember…
In the nicest way…

You are not







And you shouldn’t try to be…

Not yet anyway
Fallback to no ad fill on old devices
• Some of these devices just aren’t worth the opportunity cost of
targeting
• What could you do with the time you’re wasting on making ads work on old devices with a limited
lifespan?
• They might not even support DASH
• Smooth was common for DRM’d content pre-DASH. Still popular.
• This will be unpopular with your business team
• But once you understand the limited potential revenue you’re actually losing, you might care less
• Do people with old TVs have a lot of disposal income?
For some devices, DRM is the limiting factor
• Look at areas in your licensing restrictions where turning off
DRM might be an option
• Dropping the resolution lower than HD etc. 

• Consider what’s more valuable, HD or ads?
Send people Chromecasts
• Old devices will eventually cycle
• Maybe you can accelerate that, particularly if
you’re talking about set-top-boxes

• There’s relatively few upcoming
drivers to upgrade Smart TVs
• Lots of people can’t see the difference
between 1080p and 4k, let alone 8k
Worst case:Server-side-stitching
• If you’re really really really sure you need those devices…
• This comes with big penalties
• Your cache performance will be very limited - 30%- 40% reduction
• Your origin egress will increase dramatically
• Your origin / edge compute requirements will increase dramatically
• It won’t be frame accurate
• It will be further from a “broadcast like” experience

The future of SSAI

AKA Phil gets his crystal ball out.
Upcoming standards may help
• While we target discontinuity friendly hardware
• We can work to standardize solutions
Upcoming Standards - Europe
• HbbTV advertising standard is coming
• Jon Piesing is working hard on this
• Adds requirements around available resources for mid-stream
switching to ads and back again
• Trying to get back to a broadcast like experience
• But this is likely a few years away,
• Doesn’t help the US market.
Upcoming Standards - USA
• ATSC 3
The future of beacons with SSAI
• Beacons record ad viewership so you get paid
• Lots of SSAI solutions include server side beaconing
• Server-side beaconing is becoming less accepted by ad
networks
• Hybrid SSAI and client SDKs / beaconing are becoming common
• This is a problem because beacons get caught by ad blockers
• Render the ad, and don’t get paid? Everyone loses.
Growth in programatic
• Programatic is growing massively
• This will cause larger, less predictable ad catalogs
• This will slow down startup times
• This will make ad stitching even less effective
Summary

What did y’all learn?
Summary
• Smart TVs and set top boxes still suck at manifest manipulation
based SSAI
• But are getting much better in recent years
• It is best to target recent, up-to-date living room devices, and wait
for the market to grow while you spend your time elsewhere
• You’re not Netflix
• Be creative, be good at what you’re unique at, being on every device with ads isn’t critical
• You should probably focus on mobile, QOE and streaming boxes before Smart TVs
Thank you!



Questions? Corrections?
Best-of-breed live and on-demand video streaming analytics.
phil@mux.com
/data
/video
An API to build amazing video experiences for any team.

More Related Content

Similar to Seattle Video Tech: The Future of SSAI on OTT Devices

Distribution of Digital Media
Distribution of Digital MediaDistribution of Digital Media
Distribution of Digital Media
Daniel Mulligan
 

Similar to Seattle Video Tech: The Future of SSAI on OTT Devices (20)

Guide for stream beginners
Guide for stream beginnersGuide for stream beginners
Guide for stream beginners
 
OmniBox TV Overview
OmniBox TV OverviewOmniBox TV Overview
OmniBox TV Overview
 
OmniBox TV Reseller Overview September 2016
OmniBox TV Reseller Overview September 2016OmniBox TV Reseller Overview September 2016
OmniBox TV Reseller Overview September 2016
 
Profit From Your Media Library Using Multi-Platform Distribution
Profit From Your Media Library Using Multi-Platform DistributionProfit From Your Media Library Using Multi-Platform Distribution
Profit From Your Media Library Using Multi-Platform Distribution
 
R&a round table 2014
R&a round table 2014R&a round table 2014
R&a round table 2014
 
Online Videos, past present and future
Online Videos, past present and futureOnline Videos, past present and future
Online Videos, past present and future
 
HTML5 or Android for Mobile Development?
HTML5 or Android for Mobile Development?HTML5 or Android for Mobile Development?
HTML5 or Android for Mobile Development?
 
IBC Content Everywhere Hub Presentation: HTML5 And Fastest Encoding
IBC Content Everywhere Hub Presentation: HTML5 And Fastest EncodingIBC Content Everywhere Hub Presentation: HTML5 And Fastest Encoding
IBC Content Everywhere Hub Presentation: HTML5 And Fastest Encoding
 
AARP Pamphlete
AARP PamphleteAARP Pamphlete
AARP Pamphlete
 
Write a SocialTV app @ OpenSIPS 2021
Write a SocialTV app @ OpenSIPS 2021Write a SocialTV app @ OpenSIPS 2021
Write a SocialTV app @ OpenSIPS 2021
 
AI in RTC - RTC Korea 2018
AI in RTC - RTC Korea 2018AI in RTC - RTC Korea 2018
AI in RTC - RTC Korea 2018
 
Top 5 ott platforms in the world
Top 5 ott platforms in the world Top 5 ott platforms in the world
Top 5 ott platforms in the world
 
Distribution of Digital Media
Distribution of Digital MediaDistribution of Digital Media
Distribution of Digital Media
 
DaKiRY_BAQ2016_QADay_Анна Берднік "Main aspects of TV Everywhere testing"
DaKiRY_BAQ2016_QADay_Анна Берднік "Main aspects of TV Everywhere testing"DaKiRY_BAQ2016_QADay_Анна Берднік "Main aspects of TV Everywhere testing"
DaKiRY_BAQ2016_QADay_Анна Берднік "Main aspects of TV Everywhere testing"
 
There's a fix for that: Top 5 OTT challenges & how to resolve them
There's a fix for that: Top 5 OTT challenges & how to resolve themThere's a fix for that: Top 5 OTT challenges & how to resolve them
There's a fix for that: Top 5 OTT challenges & how to resolve them
 
Cara Terbaik Membangun Aplikasi Android TV dalam Menyongsong Era TV Digital -...
Cara Terbaik Membangun Aplikasi Android TV dalam Menyongsong Era TV Digital -...Cara Terbaik Membangun Aplikasi Android TV dalam Menyongsong Era TV Digital -...
Cara Terbaik Membangun Aplikasi Android TV dalam Menyongsong Era TV Digital -...
 
Dreamtek guide to video webcasting
Dreamtek guide to video webcastingDreamtek guide to video webcasting
Dreamtek guide to video webcasting
 
Digital Signage for Auto Retailers
Digital Signage for Auto RetailersDigital Signage for Auto Retailers
Digital Signage for Auto Retailers
 
A Holistic Approach to HTML5 Game Design & Development
A Holistic Approach to HTML5 Game Design & DevelopmentA Holistic Approach to HTML5 Game Design & Development
A Holistic Approach to HTML5 Game Design & Development
 
Digital Signage for Public Spaces
Digital Signage for Public SpacesDigital Signage for Public Spaces
Digital Signage for Public Spaces
 

More from David Sayed

IBC2010 Microsoft Media Platform Booth Demos
IBC2010 Microsoft Media Platform Booth DemosIBC2010 Microsoft Media Platform Booth Demos
IBC2010 Microsoft Media Platform Booth Demos
David Sayed
 

More from David Sayed (12)

Scaling Live OTT with DASH
Scaling Live OTT with DASHScaling Live OTT with DASH
Scaling Live OTT with DASH
 
HDR Formats and Trends
HDR Formats and TrendsHDR Formats and Trends
HDR Formats and Trends
 
Seattle Video Tech Meetup August 2019: Optimal Multi-codec Streaming
Seattle Video Tech Meetup August 2019: Optimal Multi-codec StreamingSeattle Video Tech Meetup August 2019: Optimal Multi-codec Streaming
Seattle Video Tech Meetup August 2019: Optimal Multi-codec Streaming
 
On ABR Streaming and CDN Performance
On ABR Streaming and CDN PerformanceOn ABR Streaming and CDN Performance
On ABR Streaming and CDN Performance
 
NGBP ATSC 3.0 Overview
NGBP ATSC 3.0 OverviewNGBP ATSC 3.0 Overview
NGBP ATSC 3.0 Overview
 
November 2018 Seattle Video Tech Meetup: SCTE-35 In-Band Event Signalling for...
November 2018 Seattle Video Tech Meetup: SCTE-35 In-Band Event Signalling for...November 2018 Seattle Video Tech Meetup: SCTE-35 In-Band Event Signalling for...
November 2018 Seattle Video Tech Meetup: SCTE-35 In-Band Event Signalling for...
 
AWS 2013 LA Media Event: Scalable Media Processing
AWS 2013 LA Media Event: Scalable Media ProcessingAWS 2013 LA Media Event: Scalable Media Processing
AWS 2013 LA Media Event: Scalable Media Processing
 
What's New with Amazon Elastic Transcoder November 2013
What's New with Amazon Elastic Transcoder November 2013What's New with Amazon Elastic Transcoder November 2013
What's New with Amazon Elastic Transcoder November 2013
 
AWS re:Invent 2013 Scalable Media Processing in the Cloud
AWS re:Invent 2013 Scalable Media Processing in the CloudAWS re:Invent 2013 Scalable Media Processing in the Cloud
AWS re:Invent 2013 Scalable Media Processing in the Cloud
 
Internet Strategies Forum 2010 - Microsoft Media Platform
Internet Strategies Forum 2010 - Microsoft Media PlatformInternet Strategies Forum 2010 - Microsoft Media Platform
Internet Strategies Forum 2010 - Microsoft Media Platform
 
IBC2010 Microsoft Media Platform Booth Demos
IBC2010 Microsoft Media Platform Booth DemosIBC2010 Microsoft Media Platform Booth Demos
IBC2010 Microsoft Media Platform Booth Demos
 
DSLR Shoot
DSLR ShootDSLR Shoot
DSLR Shoot
 

Recently uploaded

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 

Recently uploaded (20)

FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 

Seattle Video Tech: The Future of SSAI on OTT Devices

  • 1. The future of SSAI on OTT devices Phil Cluff, August 2019
  • 2. Me • Streaming Specialist @ • Organiser, London Video Tech Meetup • Co-Host, Demuxed Podcast • Ex VP Engineering @ • Ex Principal Engineer & Team lead @
  • 3. Video Adverts in browsers • 5+ years ago: client side advertising (CSAI) • Browser makes request to ad server, gets some creatives, plays them at appropriate times • Beacons fired to report impressions (ad views)
  • 4. CSAI Problems • Limited by browser technology • Poor user experience • Buffering between content and ads common • Video stack often torn down completely on ad transition • Sometimes the player was moved off screen, or overlaid with another player
  • 5. Then browsers got better • Browsers support more concurrent HTTP requests, bandwidth improves • Browsers get better at rendering multiple video elements • Quality of experience for the user improves 👍
  • 6. Background
 Video ads on the internet, and the rise of SSAI.
  • 7. Ad blockers • Appear as browser plugins - adblock plus, ublock origin etc. • Start blocking HTTP requests to ad servers, beacon endpoints • This stops video ads playing • Most players resilient to failing to talk to ad servers or other errors • So content still plays
  • 10. Thus, SSAI is born • Variety of big name solutions • Early: • Unicorn Media (Now Brightcove SSAI) • Yospace • Recent: • Google DAI • Verizon Uplynk • AWS Mediatailor
  • 11. OTT devices are different to browsers • Higher viewer expectations of broadcast like experience • Fast startup times, no buffering between ads and content, no black frames, decent audio normalization… • It’s on a TV, right? • Very few ad blockers though • But devices have little RAM, little CPU, and useless browser engines • So CSAI isn’t super feasible
  • 12. How does SSAI work?
 Manifest manipulation, timestamp rewriting, oh my!
  • 13. Approach 1:Manifest Manipulation based SSAI • On manifest request, hit an ad server • Check if you have those ads cached • If so, insert them into the stream, along with markers • If not, transcode them and hope they come up again later
  • 14. Manifest Manipulation based SSAI Manifest Generator 
 CDN (s) Ad Server Media Store Get Manifest Get Segments
  • 16. DASH Multi Period <?xml version="1.0" encoding="UTF-8"?> <MPD xmlns="urn:mpeg:dash:schema:mpd:2011" profiles="urn:mpeg:dash:profile:isoff-live:2011" type="static" mediaPresentationDuration="PT53.358S" minBufferTime="PT2.000S"> <Period>
 <!-- Adaptation Sets, Roles, Segment Template,
 Segment Timeline Representations etc. --> </Period> <Period>
 <!-- Adaptation Sets, Roles, Segment Template,
 Segment Timeline Representations etc. --> </Period> <Period>
 <!-- Adaptation Sets, Roles, Segment Template,
 Segment Timeline Representations etc. --> </Period> <Period>
 <!-- Adaptation Sets, Roles, Segment Template,
 Segment Timeline Representations etc. --> </Period> <Period>
 <!-- Adaptation Sets, Roles, Segment Template,
 Segment Timeline Representations etc. --> </Period> </MPD> Preroll 1 Preroll 2 Content Part 1 Content Part 2 Midroll
  • 17. Approach 2:Timestamp rewriting SSAI • Still manipulates the manifest to insert ads, and generates a manifest for each user • But also re-writes the timestamps of content and ads so that discontinuities aren’t required • Usually requires redirects to segments • Great for OTT devices, not so great for caches
  • 18. Timestamp rewriting SSAI Manifest Generator 
 CDN (s) Ad Server Media Store Timestamp Rewriter Get Manifest Get Segments
  • 19. “Manifest manipulation sounds great!”
 Let’s use it everywhere!
  • 20. The living room device landscape
 AKA the good, the bad, and the ugly
  • 21. The 4 classes of device in the living room • Streaming boxes • “Smart” TVs • Set top boxes • Games consoles
  • 22. ⚠ Disclaimer ⚠
 These support grids are for European 2018/19 devices, trying to use the native video player, running up to date firmware. YMWV.
  • 23. The Good:Streaming Boxes Device HLS with Discontinuities HLS with Discontinuities and DRM 
 (Fairplay) Multi Period DASH Multi Period DASH with DRM 
 (Playready or Widevine) Notes ✅ ❌ ✅ ✅ Use Cast Application Framework (CAF) ✅ ✅ ❌ ❌ HLS only. Native support. ✅ ❌ ✅ ✅ Works with firmware 8.1 and up. 
 Note that Roku based devices (EG: NowTV, TelstraTV) run outdated firmware for extended periods. 
 
 (Android TV) ✅ ❌ ✅ ✅ Use Amazon’s fork of Exoplayer.
  • 24. Device HLS with Discontinuities HLS with Discontinuities and DRM (Fairplay) Multi Period DASH Multi Period DASH with DRM 
 (Playready or Widevine) Notes ✅ (Natively) ❌ ?
 (In theory via MSE) ?
 (In theory via MSE) Modern Tizen only. There are mixed reports on workarounds to get multi period DASH working, in particular using a custom player, but it certainly doesn’t “just work”. ✅ (Natively) ❌ ✅ 
 (Via MSE) ✅ 
 (Via MSE & EME) WebOS. Native playback is limited to HLS. Use a web player to get DASH and DRM playback. Multi-period depends on using a player that has support. DRM with multi-period seems to be hit-and-miss. ✅ ❌ ✅ ✅ Android TV since 2015. Use Exoplayer, this should work just fine. ✅ (On AndroidTV and RokuTV based devices) ❌ ✅ (On AndroidTV and RokuTV based devices) ✅ (On AndroidTV and RokuTV based devices) Sharp has some Android TV, some RokuTV based devices. These should just work, but we haven’t been able to confirm. ? ❌ ✅ 
 (Via MSE) ✅ 
 (Via MSE & EME) Firefox OS fork since 2014. HTML5 web app based. Should support HbbTV 2.0.1. ✅ ❌ ✅ ✅ RokuTV Based, should work as per Roku. ✅ ❌ ✅ ✅ RokuTV Based, should work as per Roku. ? ❌ ? ? Devices used to be Chromecast based, but now are some form of streamed web app (they don't have Netflix yet...) Vizio also doesn't exist in the EU, so I don't really care. Results will vary largely based on how you build and distribute your application. The Bad:“Smart”TVs
  • 25. • Thousands of devices in the market, varying by locale • Very little support for DASH or DRM in general • Most devices have no support for manifest manipulation The Ugly: Set top boxes
  • 26. The Forgotten:Games consoles Device HLS with Discontinuities HLS with Discontinuities and DRM 
 (Fairplay) Multi Period DASH Multi Period DASH with DRM 
 (Playready or Widevine) Notes ✅ ❌ ✅ ✅ As reported by Microsoft, unverified. ✅ ❌ ❌ ❌ Sony report this “should work”, but all practical attempts to use it seem to have failed in practice. May work with some custom player development. ? ? ? ? I have had no success in contacting Nintendo about this. 
 
 Streaming apps likely run in the web browser which is Webkit based.
  • 27. Device coverage by numbers • Streaming boxes: 100% • Smart TVs: 90%* • Set top boxes: % • Games consoles: ~50?% * Again, remember this is for 2018/19 devices, with up-to-date firmware
  • 28. Problems
 99 problems, and Smart TVs are definitely one.
  • 29. This is an incomplete picture • We have good device coverage, so we’re good, right? • Not really. Only 42% of households in the UK “Have a Smart TV”* • Uptake of streaming boxes is not large • We have very little data on the age of the Smart TV devices in peoples homes * Statista, 2018. European countries differ. I’m working on getting firmer statistics.
  • 30. Age of Smart TVs • While we don’t know absolute age, we can approximate from adoption rate • Smart TV adoption is growing by average 6-7% a year, and is slowing • Based on adoption rate, most Smart TVs are at least 3 years old 14% bought in the last 3 years 28% bought over 3 years ago
  • 31. Old Smart TVs suck • Capabilities trail off quickly for older Smart TVs • Out of date firmware is common • These devices still have access to the app store • This can be hard to detect • 3 years ago:Virtually no manifest manipulation support
  • 32. SSAI Support vs Device Age Modern Smart TVs Streaming Boxes
 and Games Consoles Old Streaming Boxes
 with modern firmware
  • 33. Solutions
 Probably what you came here for…
  • 34. First, understand the scope of your problem • Figure out how much of a problem you have • Survey your users, understand what devices they have in their living rooms • Lots of people have many devices in their living room • Example: I have 5 living room devices which can play Netflix, including a Smart TV • And remember…
  • 35. In the nicest way…
 You are not
 
 
 
 And you shouldn’t try to be…
 Not yet anyway
  • 36. Fallback to no ad fill on old devices • Some of these devices just aren’t worth the opportunity cost of targeting • What could you do with the time you’re wasting on making ads work on old devices with a limited lifespan? • They might not even support DASH • Smooth was common for DRM’d content pre-DASH. Still popular. • This will be unpopular with your business team • But once you understand the limited potential revenue you’re actually losing, you might care less • Do people with old TVs have a lot of disposal income?
  • 37. For some devices, DRM is the limiting factor • Look at areas in your licensing restrictions where turning off DRM might be an option • Dropping the resolution lower than HD etc. 
 • Consider what’s more valuable, HD or ads?
  • 38. Send people Chromecasts • Old devices will eventually cycle • Maybe you can accelerate that, particularly if you’re talking about set-top-boxes
 • There’s relatively few upcoming drivers to upgrade Smart TVs • Lots of people can’t see the difference between 1080p and 4k, let alone 8k
  • 39. Worst case:Server-side-stitching • If you’re really really really sure you need those devices… • This comes with big penalties • Your cache performance will be very limited - 30%- 40% reduction • Your origin egress will increase dramatically • Your origin / edge compute requirements will increase dramatically • It won’t be frame accurate • It will be further from a “broadcast like” experience

  • 40. The future of SSAI
 AKA Phil gets his crystal ball out.
  • 41. Upcoming standards may help • While we target discontinuity friendly hardware • We can work to standardize solutions
  • 42. Upcoming Standards - Europe • HbbTV advertising standard is coming • Jon Piesing is working hard on this • Adds requirements around available resources for mid-stream switching to ads and back again • Trying to get back to a broadcast like experience • But this is likely a few years away, • Doesn’t help the US market.
  • 43. Upcoming Standards - USA • ATSC 3
  • 44. The future of beacons with SSAI • Beacons record ad viewership so you get paid • Lots of SSAI solutions include server side beaconing • Server-side beaconing is becoming less accepted by ad networks • Hybrid SSAI and client SDKs / beaconing are becoming common • This is a problem because beacons get caught by ad blockers • Render the ad, and don’t get paid? Everyone loses.
  • 45. Growth in programatic • Programatic is growing massively • This will cause larger, less predictable ad catalogs • This will slow down startup times • This will make ad stitching even less effective
  • 47. Summary • Smart TVs and set top boxes still suck at manifest manipulation based SSAI • But are getting much better in recent years • It is best to target recent, up-to-date living room devices, and wait for the market to grow while you spend your time elsewhere • You’re not Netflix • Be creative, be good at what you’re unique at, being on every device with ads isn’t critical • You should probably focus on mobile, QOE and streaming boxes before Smart TVs
  • 48. Thank you!
 
 Questions? Corrections? Best-of-breed live and on-demand video streaming analytics. phil@mux.com /data /video An API to build amazing video experiences for any team.