aws media day- aws media tailor를 사용한 서버 사이드 광고 삽입으로 컨텐츠...
TRANSCRIPT
Mark Cousins Head of AWSElementalSolutions Architecture, APJ
Monetizing your content with
server side ad insertion using
AWS Elemental MediaTailor
WHAT WE’ LL BE COVERING
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
- Video monetization today
- What is SSAI
- What is MediaTailor
- The better way to monetize your video workflow
- Additional considerations for your workflow
- Customer presentation
- Conclusion
No consideration for demographics
No link to ad campaigns
No interactivity
Client-side advertising insertion
Client inserts relevant advert at point of playback
More personalized
Accurate metrics
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
2007 2012
Burnt-in static ads
EVOLUTION OF OTT ADVERTIS ING
CLIENT- SIDE AD INSERTION
A common solution for personalizing and targeting ads is client-side ad
insertion, it has various limitations:• Requires code changes across multiple platforms and devices
Web page
Video
Player
7
5
3
9
2
8
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
6
SDK
4
Ad Server
CLIENT- SIDE AD INSERTION
A common solution for personalizing and targeting ads is client-side ad
insertion, it has various limitations:• Requires code changes across multiple platforms and devices
• Subject to high network latency/poor quality
• Which means it’s not a great solution for live streaming
• Has lower ad fill rates on desktop and mobile web
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
EVOLUTION OF OTT ADVERTIS ING PT2
No consideration of demographics
No link to ad campaigns
No interactivity
Client-side advertising insertion
Client inserts relevant advert at point of playback
More personalized
Accurate metrics
Server-side Ad Insertion
Fully personalized ads
Supports all devices
Protect against blocking or skipping
Broadcast-grade quality of experience
Works for live, VOD and time shifting applications
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
2007 2012 2017
Burnt-in static ads
WHAT IS SERVER- SIDE AD INSERTION?
Server-side ad insertion is a combination of manifest
manipulation, ad server communication, and ad bit-rate andresolution normalization on the server-side before presenting
a manifest to clients• It is difficult to do right because:
• It requires a highly scalable origination service
– Personalized manifests are not cacheable
• Reporting an custom player behavior requires clients to know an ad has
been played
• There are different ad standards (VAST, VPAID, VMAP), ad servers, origin
servers, player environments which complicate workflows
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
W H AT D O M AN IFES TS LO O K LIKE?
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
#EXTINF:4.0,
https://XXXXXXXXXXXXX.cloudfront.net/out/u/scte35_ 2_5107425.ts?m=1492714662
#EXTINF:4.0,
https://XXXXXXXXXXXXX.cloudfront.net/out/u/scte35_ 2_5107426.ts?m=1492714662
#EXTINF:4.0,
https://XXXXXXXXXXXXX.cloudfront.net/out/u/scte35_ 2_5107427.ts?m=1492714662
#EXTINF:4.0,
https://XXXXXXXXXXXXX.cloudfront.net/out/u/scte35_ 2_5107428.ts?m=1492714662
#EXTINF:4.0,
https://XXXXXXXXXXXXX.cloudfront.net/out/u/scte35_ 2_5107429.ts?m=1492714662
#EXTINF:4.0,
https://XXXXXXXXXXXXX.cloudfront.net/out/u/scte35_ 2_5107430.ts?m=1492714662
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
W H AT D O M AN IFES TS LO O K LIKE?
.ts?m=1492714662 #EXT-
X-DISCONTINUITY
#EXTINF:3.066667,
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
../../../../segment/a1bc06b59e9a570b3b6b886a763d15814a86f0b b/bbb/a8c8a5a2-7a2d-45c1-95e9-73e35845f839/0/5107715
#EXTINF:3.0,
../../../../segment/a1bc06b59e9a570b3b6b886a763d15814a86f0b b/bbb/a8c8a5a2-7a2d-45c1-95e9-73e35845f839/0/5107716
#EXTINF:3.0,
../../../../segment/a1bc06b59e9a570b3b6b886a763d15814a86f0b b/bbb/a8c8a5a2-7a2d-45c1-95e9-73e35845f839/0/5107717
#EXTINF:3.0,
../../../../segment/a1bc06b59e9a570b3b6b886a763d15814a86f0b b/bbb/a8c8a5a2-7a2d-45c1-95e9-73e35845f839/0/5107718
#EXT-X-DISCONTINUITY
#EXTINF:4.0,
https://XXXXXXXXXXXXX.cloudfront.net/out/u/scte35_1_5107721.ts?m=1492714662
W H AT D O M AN IFES TS LO O K LIKE?#EXTINF:4.0, #EXTINF:3.0,
https://XXXXXXXXXXXXX.cloudfront.net/out/u/scte35_ https://XXXXXXXXXXXXX.cloudfront.net/out/u/scte35_1_5107712 2_5107425.ts?m=1492714662
#EXTINF:4.0,
https://XXXXXXXXXXXXX.cloudfront.net/out/u/scte35_ 2_5107426.ts?m=1492714662
#EXTINF:4.0,
https://XXXXXXXXXXXXX.cloudfront.net/out/u/scte35_ 2_5107427.ts?m=1492714662
#EXTINF:4.0,
https://XXXXXXXXXXXXX.cloudfront.net/out/u/scte35_ 2_5107428.ts?m=1492714662
#EXTINF:4.0,
https://XXXXXXXXXXXXX.cloudfront.net/out/u/scte35_ 2_5107429.ts?m=1492714662
#EXTINF:4.0,
https://XXXXXXXXXXXXX.cloudfront.net/out/u/scte35_ 2_5107430.ts?m=1492714662
Introducing AWS Elemental Media Tailor
AWS Elemental MediaTailor is a content personalization
and monetization service that allows customers to
implement stitched server-side ad content while
maintaining high quality of service
• Ads are better monetized, more consistent in video quality and
easier to manage across multi-platform environments
• Managed transcoding provides a better user experience
• Standards-based client- and server-side ad reporting within a
single service
• More control over the player, origin and CDN while providing a
better end-viewer experience at scale
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
W E ’RE BU ILT WITH S CALE IN M IN D FO R
• Manifest Manipulation
Availability Zone
Availability Zone
Availability Zone
Elastic Load
BalancingDynamoDB
Config &Session
Store
Users
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
W E ’RE BU ILT WITH S CALE IN M IN D FO R
• Transcoding
DynamoDB
Creative Index
Availability Zone
Availability Zone
Availability Zone
Internal ELB
EC2 Controllers
Amazon Elastic
Transcoder
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
W E ’RE BU ILT WITH S CALE IN M IN D FO R
• Transcoding and Ad Delivery
DynamoDB
Creative IndexAmazon Elastic
Transcoder
S3 BucketDefault CloudFront
Distribution
Internal ELB
Availability Zone
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Availability Zone
Availability Zone
EC2 Controllers
W E ’RE BU ILT WITH S CALE IN M IN D FO R
• Reporting
Availability Zone
Beacon URL Storage
DynamoDB Player
Sessions
3P Reporting Server
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
YOUR WORKFLOW IN SSAI:PLAYER REQREGION
Manifest
cache
ON-THE-FLY / MANAGED TRANSCODING
Amazon Elastic Transcoder
AmazonS3
AWS ElementalMediaTailor
ADS
DFP,
Freewheel or other ADS
LIVE VIDEO PROCESSING VIDEO DELIVERYPLATFORM
AWS Elemental Live AWS Elemental Delta
Video with SCTE 35/104 Conditioned
manifest with
ad markers
AWSElementalMediaTailor
MANIFEST MANIPULATION
DISPLAYDEVICES
1. getManifest
https://mediatailorURL.amazonaws.com/path/hls.m3u8?foo=
bar&sz=640&baz=bam&idfa=12345
CDN
AmazonCloudFront
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
A NOTE ON TARGETTING
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
• Session variables vs. player variables
• Session variables: referer, client-ip, random numbers/uuids, break length etc
• Player variables: deviceId, page level properties, customerIds etc…
A NOTE ON TARGETTING
• Session variables vs. player variables
• Session variables: referer, client-ip, random numbers/uuids, break length etc
• Player variables: deviceId, page level properties, customerIds etc…
getManifest
https://mediatailorURL.amazonaws.com/path/hls.
m3u8?foo=bar&sz=640&baz=bam&idfa=12345
Custom player variables
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
A NOTE ON TARGETTING
• Session variables vs. player variables
• Session variables: referer, client-ip, random numbers/uuids, break length etc
• Player variables: deviceId, page level properties, customerIds etc…
getManifesthttps://mediatailorURL.amazonaws.com/path/hls.
m3u8?foo=bar&sz=640&baz=bam&idfa=12345
Custom player variables
[avail.random], [session.client_ip],
[session.avail_duration_secs]
Manifest/session level variables
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
A NOTE ON TARGETTING
• Session variables vs. player variables
• Session variables: referer, client-ip, random numbers/uuids, break length etc
• Player variables: deviceId, page level properties, customerIds etc…
getManifesthttps://mediatailorURL.amazonaws.com/path/hls.
m3u8?foo=bar&sz=640&baz=bam&idfa=12345
Custom player variables
[avail.random], [session.client_ip],
[session.avail_duration_secs]
Manifest/session level variables
VAST request for this user: https://adServerPath/ads?foo=bar&sz=640&baz=bam&idfa=12345&client-
ip=54.240.196.175&maxdur=120&correlator=15734883199399203
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
YOUR WORKFLOW IN SSAI: ORIGIN& VASTREGION
Video with SCTE 35/104 Conditioned
manifest with
ad markers
Manifest
cache
ON-THE-FLY / MANAGED TRANSCODING
Amazon Elastic Transcoder
AmazonS3
AWS ElementalMediaTailor
ADS
DFP,
Freewheel or other ADS
AWS Elemental Live
LIVE VIDEO PROCESSING
AWS Elemental Delta
VIDEO DELIVERY PLATFORM
AWSElementalMediaTailor
MANIFEST MANIPULATION
DISPLAYDEVICES
1. getManifest
https://mediatailorURL.amazonaws.com/path/hls.m3u8?foo=
bar&sz=640&baz=bam&idfa=12345
2. getTemplate manifest
3. getVASThttps://adServerURL.net/path/ads?foo=bar&sz=640&baz=ba
m&idfa=12345 - Headers: XFF, User-Agent
CDN
AmazonCloudFront
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Y O U R W O RKFLO W IN S S A I:<VAST XM L >REGION
Video with SCTE 35/104 Conditioned
manifest with
ad markers
Manifest
cache
ON-THE-FLY / MANAGED TRANSCODING
Amazon Elastic Transcoder
AmazonS3
AWS ElementalMediaTailor
ADS
DFP,
Freewheel or other ADS
AWS Elemental Live
LIVE VIDEO PROCESSING
AWS Elemental Delta
VIDEO DELIVERY PLATFORM
AWSElementalMediaTailor
MANIFEST MANIPULATION
DISPLAYDEVICES
1. getManifest
https://mediatailorURL.amazonaws.com/path/hls.m3u8?foo=
bar&sz=640&baz=bam&idfa=12345
2. getTemplate manifest
3. getVASThttps://adServerURL.net/path/ads?foo=bar&sz=640&baz=ba
m&idfa=12345 - Headers: XFF, User-Agent
4. Parse VAST Response, find mp4 creatives, are creatives
already in cache?CDN
AmazonCloudFront
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
YOUR WORKFLOW IN SSAI: TRANSCODEREGION
Video with SCTE 35/104 Conditioned
manifest with
ad markers
Manifest
cache
ON-THE-FLY / MANAGEDTRANSCODING
AWS ElementalMediaTailor
Amazon Elastic Transcoder
Amazon S3
ADS
DFP,
Freewheel or other ADS
AWS Elemental Live
LIVE VIDEO PROCESSING
AWS Elemental Delta
VIDEO DELIVERY PLATFORM
AWSElementalMediaTailor
MANIFEST MANIPULATION
DISPLAYDEVICES
1. getManifest
https://mediatailorURL.amazonaws.com/path/hls.m3u8?foo=
bar&sz=640&baz=bam&idfa=12345
2. getTemplate manifest
3. getVASThttps://adServerURL.net/path/ads?foo=bar&sz=640&baz=ba
m&idfa=12345 - Headers: XFF, User-Agent
4. Parse VAST Response, find mp4 creatives, are creatives
already in cache?
5. 5. Queue job for creative IDs not in cache. Transcode to
templateManifest renditions.
CDN
AmazonCloudFront
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
YOUR WORKFLOW IN SSAI: DELIVERYREGION
Video with SCTE 35/104 Conditioned
manifest with
ad markers
Manifest
cache
ON-THE-FLY / MANAGEDTRANSCODING
AWS ElementalMediaTailor
Amazon Elastic Transcoder
Amazon S3
ADS
DFP,
Freewheel or other ADS
AWS Elemental Live
LIVE VIDEO PROCESSING
AWS Elemental Delta
VIDEO DELIVERY PLATFORM
AWSElementalMediaTailor
MANIFEST MANIPULATION
1. getManifest
https://mediatailorURL.amazonaws.com/path/hls.m3u8?foo=
bar&sz=640&baz=bam&idfa=12345
2. getTemplate manifest
3. getVASThttps://adServerURL.net/path/ads?foo=bar&sz=640&baz=ba
m&idfa=12345 - Headers: XFF, User-Agent
4. Parse VAST Response, find mp4 creatives, are creatives
already in cache?
5. 5. Queue job for creative IDs not in cache. Transcode to
templateManifest renditions.
6. Personalized manifest *.m3u8 (not
cacheable)
7. Fetch content segments
(cacheable on CDN)
8. Fetch ad segments (cacheable on
CDN)
CDN DISPLAY DEVICES
AmazonCloudFront
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
YOUR WORKFLOW IN SSAI: REPORTREGION
Video with SCTE 35/104 Conditioned
manifest with
ad markers
Manifest
cache
ON-THE-FLY / MANAGEDTRANSCODING
AWS ElementalMediaTailor
Amazon Elastic Transcoder
Amazon S3
ADS
DFP,
Freewheel or other ADS
AWS Elemental Live
LIVE VIDEO PROCESSING
AWS Elemental Delta
VIDEO DELIVERY PLATFORM
AWSElementalMediaTailor
MANIFEST MANIPULATION
1. getManifest
https://mediatailorURL.amazonaws.com/path/hls.m3u8?foo=
bar&sz=640&baz=bam&idfa=12345
2. getTemplate manifest
3. getVASThttps://adServerURL.net/path/ads?foo=bar&sz=640&baz=ba
m&idfa=12345 - Headers: XFF, User-Agent
4. Parse VAST Response, find mp4 creatives, are creatives
already in cache?
5. 5. Queue job for creative IDs not in cache. Transcode to
templateManifest renditions.
6. Personalized manifest *.m3u8 (not
cacheable)
7. Fetch content segments
(cacheable on CDN)
8. Fetch ad segments (cacheable on
CDN)9. Hybrid client-side and server side
reporting
CDN DISPLAY DEVICES
AmazonCloudFront
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Server-side reporting: Pros:
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
• No extra integration required, quartile
and impression reporting done entirely
on your behalf
Cons:
• De-duping due to player behavior may
be required (can use CDN to cache or
coalesce requests)
• No specialized beacons or advanced
playback behavior
A N O TE O N RE P O RTIN G
{"eventType": "BEACON_FIRED",
"eventDescription": "Fired tracking beacon",
"awsAccountId": "","customerId": "",
"originId": "demoConfig",
"sessionId": "6782f423-e43f-49a5-bee9-24eadcc6ab15","beaconInfo": {
"beaconUri":
"http://engine.adzerk.net/e.gif?e=eyJhdiI6MjI1MzQ1LCJhdCI6NSwiYnQiOjAsImNtI
jo1Nzc0OTIsImNoIjoyODYwMiwiY2siOnt9LCJjciI6Mjg2NDI5MCwiZGkiOiIxZjlmOW
NiMTQ0MDg0ZjNhYWRjYTE2ODhhYjkxN2Ex",
"headers": [
{
"name": "User-Agent",
"value": "Mozilla/5.0 (Windows NT 10.0; Win64; x64)
AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.62 Safari/537.36"},
{
"name": "X-Forwarded-For",
"value": "205.251.233.178"
}
],
"trackingEvent": "THIRD_QUARTILE",
"beaconHttpResponseCode": 200
}
}
• Can develop player to expose custom
playback behavior (no skip, countdown
timer etc…)
• Advanced beacons like pause, ffwd,
rewind etc… available
Cons:
• Requires player changes
A N O TE O N RE P O RTIN G
Client-side reporting: Pros:JSON response from getTracking:
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
NF L THUR S D A Y NI G HT FO O TBA LL W ITH A M A ZO N V ID EO
Challe
nge • Deliver personalized
ads on live event streams
• Massive peaks of concurrent users
• Wide range of end-users devices
• Support multiple ad servers
n • AWS Elemental
o MediaTailor
i • AWS Elemental Cloudt running Live and Deltau • Ad proxy for multiplel ADS support
So • Multi region
deployment
.
n
t • Maintain quality ofif experience and
e service for any size of
n audience with elasticscale, highly available
Beworkflow and pre-
transcoded ad content
• Maximize monetizatio potential with multiple ADS providers, delivery to multiple devices and server-side ad insertion
28
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
NF L THUR S D A Y NI G HT FO O TBA LL W ITH A M A ZO N V ID EO
Sports Feed
SOURCE
REGION
REGION
REGION
AWSElemental
Live
AWSElemental
Delta
REGION*
AWS ElementalMediaTailor
PERSONALIZATION AND MONETIZATIONSERVICE
DISPLAY DEVICES
Multiple OTTdevices
Multi-CDN
DISTRIBUTION
CustomAd Server #2
AD SERVER
Ad proxy& reporting
PROXYADS
AWS ELEMENTAL CLOUD REGION
AWSElemental
ServerAmazon
S3
Content encoded in multiple
AZ across multiple Regions
Pre-transcoded ad
content for event
Stitch and deliver
personalized
manifest
Get ad info
for each user
Report ad plays
Deliver primary content
Deliver ad content
* Each REGION is a separate geographic area. A
region has multiple, isolated locations known
as Availability Zones (AZs)
Each region is completely independent. Each AZ is
isolated, but the AZs in a region are connected
through low-latency links. CustomAd Server #1
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
NF L TH U R S D A Y NI G H T F O O TB A L L W I TH A M A Z O N VI D E O TR IVI A
• AWS Elemental MediaTailor workflow designed to scale to support
millions of viewers on the Amazon Video Platform
• Over 120 ads per game
• For a total of ~60 minutes of ads, excluding timeouts and
injuries
• Global distribution in 6 AWS regions
• 3 ad decision servers used
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
30
AWS ELEMENTAL MEDIATAILOR S U M M A R Y
Highly scalable and personalized
manifest manipulation service on AWS
• Operates in AWS regions to scale
out to end-user requests
• Uses query string parameters from
players and playback session
information to personalized ads
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
AWS ELEMENTAL MEDIATAILOR S U M M A R Y
Enables more consistent quality for ads with
managed transcoding
Reach & monetize more devices
Standards based VAST reporting
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
AWS ELEMENTAL MEDIATAILOR S U M M A R Y
Integration with AWS services like Amazon
CloudWatch and AWS IAM
Pay as you go that does not require a
minimum commitment
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.