SlideShare a Scribd company logo
Best Practices For Executing
High Profile Live Streaming Events
Eric Zawolkow, Media Systems Engineer - Facebook
James Broberg, Founder, CEO - StreamShark.io (james.broberg@streamshark.io)
Live Streaming: Don’t
If you aren't ***** your pants every time you go live, you don't know what you are
doing
“Simple” 15 Step Process
Cam 3
Cam 2
Cam 1
Audio
Switcher
Satellite
Link
Primary Ingest
Backup Ingest
CDN 1
CDN 2
CDN 3
Player
Bonded
Internet
Connection
Hardware
Encoder
Hardware
Encoder
Production Encoding Transcoding Delivery ConsumptionTransport
Ok… Actual 21 Step Process
Production Encoding Transcoding Delivery ConsumptionTransport
Signal Flow Overview
• Camera / Switcher / production / audio
• Contribution / Uplink (+ on site connectivity)
• Ingest and Transcoder (“Origin”)
• CDN (“Edge”) & DNS
• Player / Player Engines / embed
• 3rd party destinations/targets (e.g. FB Live)
Camera / Switcher / production / audio
• Production gear fails
• Have 2 of everything
• I would rather have 2 cheap video
switchers rather than a single expensive
one
• Production teams fail
• Guys pulling out audio cables while we
press the go live button
• Wrong/faulty cable used - audio out of
phase (garbled audio on mono)
Camera / Switcher / production / audio
• Production gear fails
• Have 2 of everything
• I would rather have 2 cheap video
switchers rather than a single expensive
one
• Production teams fail
• Guys pulling out audio cables while we
press the go live button
• Wrong/faulty cable used - audio out of
phase (garbled audio on mono)
Contribution / Uplink (+ on site connectivity)
• Use reliable contribution encoders
• Software solutions are fine but wont
work for something you care about
• For the love of god, don’t use a
phone
• Use diverse signal paths
• Fiber + sat + onsite internet +
bonded cellular solution etc
• Never trust the venue internet
Ingest and Transcoder (“Origin”)
• Stream to Primary and Backup ingest as a
minimum
• Stream to both simultaneously over redundant and
diverse network paths
• Input streams ideally are key frame / time code
aligned so transcoded output is identical on both
primary and backup
• Transcode and packetize to HLS / Dash for
maximum compatibility
• Don't forget low bitrate / audio only streams for low
bandwidth consumers
• Name segments & set sane cache headers on your
playlist and segments to prevent stale content
CDN (“Edge”)
• Using a single CDN is a recipe for failure. If
this hasn't blown up in your face yet, it will
• Go with a Multi-CDN strategy. If this is too hard
to manage yourself (integration, legal, pricing)
use a one stop shop Multi-CDN provider
• Where is your audience? What peaks do you
expect in what regions? Ask your CDN
provider what their edge capacity / max
concurrents. Let them know in advance if you
expect big spikes
• Consider an intermediary caching layer or
origin shield so the CDN(s) don't overwhelm
your origin
DNS
• DDoS attacks escalating - don't become
collateral damage
• Choose your primary DNS wisely
• Invest in redundant DNS infrastructure
• If your DNS is simple (eg no fancy traffic
management) and static having a backup/
slave is easy - export your zone file and
import it into another provider
• Master/slave for simple setups (automated)
• Dual primary for high end setups - use API to
mirror your setup
Player / Player Engines / embed
• Both HLS and DASH have protocol level
support for multiple sources representing the
same content, however not all playback
engines honour it.
• Load balancing and failover is often best
implemented at the player level.
• Smart Players can select best performing
source before playback starts
• Player can failover on client side - often
preferable / more responsive than DNS
• Using a hosted player vendor - ask what their
CDN & DNS arch is. Failover/redundant?
3rd party destinations/targets (e.g. FB Live)
• Reasons to go live on Facebook
• Sports
• Breaking news
• Known ending, but unknown
timeframe (buzzfeed watermelon)
• Interactivity
• Authentic look at something rare
Best practice for Facebook Live
• Use pro equipment and workflows if you care about quality (no phones!)
• Be on the money with your stream starts/stops so archive/VoD looks good
• Leverage the stream preview function to check quality before going live
• Send in best possible contribution - 720p 4000Kbit/s 2 second keyframe
• If you stop pushing to ingest (e.g. your primary encoder is down) you have <
3 minutes to resume streaming before your stream ‘ends’ (manual failover)
• “Cleanly” end your streams so viewers aren’t left hanging (see above).
Thanks!
Questions?
Epic Fail Stories?
Eric Zawolkow, Media Systems Engineer - Facebook
James Broberg, Founder, CEO - StreamShark.io (james.broberg@streamshark.io)

More Related Content

Viewers also liked

Viewers also liked (8)

Live Streaming is the Future and the Future is Now
Live Streaming is the Future and the Future is NowLive Streaming is the Future and the Future is Now
Live Streaming is the Future and the Future is Now
 
Live Streaming: Consumption, branding and it's future
Live Streaming: Consumption, branding and it's futureLive Streaming: Consumption, branding and it's future
Live Streaming: Consumption, branding and it's future
 
How to Build Your Brand with Live Streaming Video
How to Build Your Brand with Live Streaming VideoHow to Build Your Brand with Live Streaming Video
How to Build Your Brand with Live Streaming Video
 
Live Streaming Video Use By Brands [INFOGRAPHIC]
Live Streaming Video Use By Brands [INFOGRAPHIC]Live Streaming Video Use By Brands [INFOGRAPHIC]
Live Streaming Video Use By Brands [INFOGRAPHIC]
 
Ultimate Guide to Live Streaming
Ultimate Guide to Live StreamingUltimate Guide to Live Streaming
Ultimate Guide to Live Streaming
 
Joel Comm - The Live Streaming Revolution
Joel Comm - The Live Streaming RevolutionJoel Comm - The Live Streaming Revolution
Joel Comm - The Live Streaming Revolution
 
Virtual reality and 360° live streaming
Virtual reality and 360° live streamingVirtual reality and 360° live streaming
Virtual reality and 360° live streaming
 
Digital in 2017 Global Overview
Digital in 2017 Global OverviewDigital in 2017 Global Overview
Digital in 2017 Global Overview
 

Recently uploaded

Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo DiehlFuture Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Peter Udo Diehl
 

Recently uploaded (20)

Optimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through ObservabilityOptimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through Observability
 
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdfIntroduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
 
AI presentation and introduction - Retrieval Augmented Generation RAG 101
AI presentation and introduction - Retrieval Augmented Generation RAG 101AI presentation and introduction - Retrieval Augmented Generation RAG 101
AI presentation and introduction - Retrieval Augmented Generation RAG 101
 
Strategic AI Integration in Engineering Teams
Strategic AI Integration in Engineering TeamsStrategic AI Integration in Engineering Teams
Strategic AI Integration in Engineering Teams
 
Syngulon - Selection technology May 2024.pdf
Syngulon - Selection technology May 2024.pdfSyngulon - Selection technology May 2024.pdf
Syngulon - Selection technology May 2024.pdf
 
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdfThe Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
 
UiPath Test Automation using UiPath Test Suite series, part 1
UiPath Test Automation using UiPath Test Suite series, part 1UiPath Test Automation using UiPath Test Suite series, part 1
UiPath Test Automation using UiPath Test Suite series, part 1
 
Powerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara LaskowskaPowerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara Laskowska
 
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
 
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
 
Where to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdfWhere to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdf
 
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
 
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
 
Introduction to Open Source RAG and RAG Evaluation
Introduction to Open Source RAG and RAG EvaluationIntroduction to Open Source RAG and RAG Evaluation
Introduction to Open Source RAG and RAG Evaluation
 
PLAI - Acceleration Program for Generative A.I. Startups
PLAI - Acceleration Program for Generative A.I. StartupsPLAI - Acceleration Program for Generative A.I. Startups
PLAI - Acceleration Program for Generative A.I. Startups
 
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
 
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo DiehlFuture Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
 
Enterprise Knowledge Graphs - Data Summit 2024
Enterprise Knowledge Graphs - Data Summit 2024Enterprise Knowledge Graphs - Data Summit 2024
Enterprise Knowledge Graphs - Data Summit 2024
 
FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...
FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...
FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...
 
ECS 2024 Teams Premium - Pretty Secure
ECS 2024   Teams Premium - Pretty SecureECS 2024   Teams Premium - Pretty Secure
ECS 2024 Teams Premium - Pretty Secure
 

Streaming Media West 2016: Best Practices For Executing High Profile Live Streaming Events

  • 1. Best Practices For Executing High Profile Live Streaming Events Eric Zawolkow, Media Systems Engineer - Facebook James Broberg, Founder, CEO - StreamShark.io (james.broberg@streamshark.io)
  • 2. Live Streaming: Don’t If you aren't ***** your pants every time you go live, you don't know what you are doing
  • 3. “Simple” 15 Step Process Cam 3 Cam 2 Cam 1 Audio Switcher Satellite Link Primary Ingest Backup Ingest CDN 1 CDN 2 CDN 3 Player Bonded Internet Connection Hardware Encoder Hardware Encoder Production Encoding Transcoding Delivery ConsumptionTransport
  • 4. Ok… Actual 21 Step Process Production Encoding Transcoding Delivery ConsumptionTransport
  • 5. Signal Flow Overview • Camera / Switcher / production / audio • Contribution / Uplink (+ on site connectivity) • Ingest and Transcoder (“Origin”) • CDN (“Edge”) & DNS • Player / Player Engines / embed • 3rd party destinations/targets (e.g. FB Live)
  • 6. Camera / Switcher / production / audio • Production gear fails • Have 2 of everything • I would rather have 2 cheap video switchers rather than a single expensive one • Production teams fail • Guys pulling out audio cables while we press the go live button • Wrong/faulty cable used - audio out of phase (garbled audio on mono)
  • 7. Camera / Switcher / production / audio • Production gear fails • Have 2 of everything • I would rather have 2 cheap video switchers rather than a single expensive one • Production teams fail • Guys pulling out audio cables while we press the go live button • Wrong/faulty cable used - audio out of phase (garbled audio on mono)
  • 8. Contribution / Uplink (+ on site connectivity) • Use reliable contribution encoders • Software solutions are fine but wont work for something you care about • For the love of god, don’t use a phone • Use diverse signal paths • Fiber + sat + onsite internet + bonded cellular solution etc • Never trust the venue internet
  • 9. Ingest and Transcoder (“Origin”) • Stream to Primary and Backup ingest as a minimum • Stream to both simultaneously over redundant and diverse network paths • Input streams ideally are key frame / time code aligned so transcoded output is identical on both primary and backup • Transcode and packetize to HLS / Dash for maximum compatibility • Don't forget low bitrate / audio only streams for low bandwidth consumers • Name segments & set sane cache headers on your playlist and segments to prevent stale content
  • 10. CDN (“Edge”) • Using a single CDN is a recipe for failure. If this hasn't blown up in your face yet, it will • Go with a Multi-CDN strategy. If this is too hard to manage yourself (integration, legal, pricing) use a one stop shop Multi-CDN provider • Where is your audience? What peaks do you expect in what regions? Ask your CDN provider what their edge capacity / max concurrents. Let them know in advance if you expect big spikes • Consider an intermediary caching layer or origin shield so the CDN(s) don't overwhelm your origin
  • 11. DNS • DDoS attacks escalating - don't become collateral damage • Choose your primary DNS wisely • Invest in redundant DNS infrastructure • If your DNS is simple (eg no fancy traffic management) and static having a backup/ slave is easy - export your zone file and import it into another provider • Master/slave for simple setups (automated) • Dual primary for high end setups - use API to mirror your setup
  • 12. Player / Player Engines / embed • Both HLS and DASH have protocol level support for multiple sources representing the same content, however not all playback engines honour it. • Load balancing and failover is often best implemented at the player level. • Smart Players can select best performing source before playback starts • Player can failover on client side - often preferable / more responsive than DNS • Using a hosted player vendor - ask what their CDN & DNS arch is. Failover/redundant?
  • 13. 3rd party destinations/targets (e.g. FB Live) • Reasons to go live on Facebook • Sports • Breaking news • Known ending, but unknown timeframe (buzzfeed watermelon) • Interactivity • Authentic look at something rare
  • 14. Best practice for Facebook Live • Use pro equipment and workflows if you care about quality (no phones!) • Be on the money with your stream starts/stops so archive/VoD looks good • Leverage the stream preview function to check quality before going live • Send in best possible contribution - 720p 4000Kbit/s 2 second keyframe • If you stop pushing to ingest (e.g. your primary encoder is down) you have < 3 minutes to resume streaming before your stream ‘ends’ (manual failover) • “Cleanly” end your streams so viewers aren’t left hanging (see above).
  • 15. Thanks! Questions? Epic Fail Stories? Eric Zawolkow, Media Systems Engineer - Facebook James Broberg, Founder, CEO - StreamShark.io (james.broberg@streamshark.io)