This document summarizes a presentation about how PBS streams video online. It discusses:
- PBS's goal of making video accessible everywhere by everyone, which affects how they stream video.
- Common video formats like MPEG-2, MPEG-4 with H.264, and niche formats. H.264 is widely supported but has licensing fees.
- Video streaming methods like HTTP, RTMP, HLS, and others. PBS uses HLS for mobile and RTMP with Flash for desktop.
- Considerations for video playback like ads, captions, and customization. PBS uses multiple players for different devices and formats.
Running your app in the Cloud is all the rage, but our tools for managing and supporting complex environments lag behind our needs. If we truly want to embrace Infrastructure as a Service, then we must apply standard software development lessons such as: DRY, Versioning, Decomposition, Abstraction and more. Why haven't we taken these lessons to heart?
Amazon Elastic Transcoder is video transcoding in the cloud. Come to learn about all the new features in Amazon Elastic Transcoder and hear how customers are using to create innovative media solutions.
Lucee writing your own debugging templateGert Franz
In this session you learned how to write your own debugging template for Lucee. Also you can find the template which makes it easy to navigate through the myriads of data provided by the debugging interface in Lucee.
The debugging template can be downloaded from here: http://www.rasia.ch/downloads/debugging-template.zip
Lucee writing your own debugging templateGert Franz
This presentation introduces you into the usage of custom Debugging templates in Lucee and how to write your own as well as populate them with own data. The talk is targeted towards lucee, but still also applicable to ACF.
In this session we will have a look at the different Caching options in Lucee and introduce a new tool called ArgusCache, which will allow you to tune your applications, WITHOUT touching the source code.
Running your app in the Cloud is all the rage, but our tools for managing and supporting complex environments lag behind our needs. If we truly want to embrace Infrastructure as a Service, then we must apply standard software development lessons such as: DRY, Versioning, Decomposition, Abstraction and more. Why haven't we taken these lessons to heart?
Amazon Elastic Transcoder is video transcoding in the cloud. Come to learn about all the new features in Amazon Elastic Transcoder and hear how customers are using to create innovative media solutions.
Lucee writing your own debugging templateGert Franz
In this session you learned how to write your own debugging template for Lucee. Also you can find the template which makes it easy to navigate through the myriads of data provided by the debugging interface in Lucee.
The debugging template can be downloaded from here: http://www.rasia.ch/downloads/debugging-template.zip
Lucee writing your own debugging templateGert Franz
This presentation introduces you into the usage of custom Debugging templates in Lucee and how to write your own as well as populate them with own data. The talk is targeted towards lucee, but still also applicable to ACF.
In this session we will have a look at the different Caching options in Lucee and introduce a new tool called ArgusCache, which will allow you to tune your applications, WITHOUT touching the source code.
This is the slide deck for ProcessOne first live XMPP Academy.
Here are the questions covered:
1. ejabberd SaaS architecture questions
- What is the best way to archive user messages if we do not want to sync data from user device?
- Why does ejabberd SaaS not use async mechanisms for archiving messages to customer back-end server?
- Mobile XMPP support: Explain standby, push and detached modes.
2. XMPP / ejabberd questions
- How does ejabberd internally store messages which are not yet delivered?
- How are privacy lists managed in ejabberd?
- What is on the ejabberd roadmap ? OAuth !
My talk at ScaleConf 2017 in Cape Town on some tips and tactics for scaling WordPress, with reference to WordPress.com and the container-based VIP Go platform.
Video of my talk is here: https://www.youtube.com/watch?v=cs0DcY80spw
CIRCUIT 2015 - Akamai: Caching and BeyondICF CIRCUIT
Puru Hemnani - ICF Interactive
The session will go over the advantages of CDN in general and Akamai caching in particular. Akamai is one of the most commonly used caching option with AEM and several clients use it. There are several features and akamai tuning options such as Error caching, GeoRouting, ESI, Siteshield, WAF that can help developers and system engineers make the sites faster and secure. Configuring it correctly can also reduce the licensing requirements for AEM as well as infrastructure costs as you can serve much higher amount of traffic with less number of origin servers.
Extremely high-level overview of some of the major components and sub-systems of the Alfresco platform for content management. Delivered to the Red Hat Summit/JBoss World Campground session on 5/4/2011.
Amazon Elastic Transcoder is video transcoding in the cloud. Come to learn about all the new features in Amazon Elastic Transcoder and hear how customers are using to create innovative media solutions.
A Practical Introduction to Functions-as-a-ServiceValeri Karpov
Facebook Dev Circles, October 24, 2018. An introduction to AWS Lambda using Node.js and an overview of the tradeoffs of using serverless functions as opposed to traditional REST APIs.
Slide deck from an Alfresco Webinar. Event info can be found at http://blogs.alfresco.com/wp/webcasts/2009/05/alfresco-webcast-developers-guide-3-web-scripts-surf-cmis-optaros/
This presentation discusses web scripts and Surf.
Aws 12 Month Free Tier for Web Designers and DevelopersDylan Burris
An open source focused (Drupal and WordPress) breakdown for web designers and web developers of resources which are available for free on the Amazon Web Services Free tier.
For decades MySQL has been the rocksolid backbone of many CFML powered Web-Applications. But recently the development lost a bit traction, new cool kids appeared on the scene. The most promising one is called MariaDB, a MySQL Fork by Monty Widenius, the original MySQL founder. MariaDB grow rapidly over the last 2 years and overpaced MySQL feature- and performancewise.
In this talk, we compare MySQL and MariaDB, explain what to consider when using it with CFML and share our experience in an Enterprise Infrastructure with the build-in Galera Cluster and ColdFusion 11.
Learn more about message-based architecture in the cloud including implementation details, real-world examples, insights from leading experts in NServiceBus and Microsoft Azure.
A Gentle Introduction to Functions-as-a-ServiceValeri Karpov
Slides from my talk on functions-as-a-service at Wyncode Academy in Miami in April '18. Provides an overview of the tradeoffs between different FaaS providers
PBS’ Tom Crenshaw and NPR’s Javaun Moradi discuss the PBS and NPR APIs. Topics covered are radio, television and dual-licensee stations can leverage the PBS and NPR APIs to innovate and build audience on their websites, mobile devices, and beyond. Tom and Javaun discuss retrieving API content for use on station sites, putting station content into our APIs for reuse elsewhere, and finding station information based on location or call letters. They share their ideas on where the public media APIs are headed, and they look forward to hearing your questions, feedback, and pain points.
This is the slide deck for ProcessOne first live XMPP Academy.
Here are the questions covered:
1. ejabberd SaaS architecture questions
- What is the best way to archive user messages if we do not want to sync data from user device?
- Why does ejabberd SaaS not use async mechanisms for archiving messages to customer back-end server?
- Mobile XMPP support: Explain standby, push and detached modes.
2. XMPP / ejabberd questions
- How does ejabberd internally store messages which are not yet delivered?
- How are privacy lists managed in ejabberd?
- What is on the ejabberd roadmap ? OAuth !
My talk at ScaleConf 2017 in Cape Town on some tips and tactics for scaling WordPress, with reference to WordPress.com and the container-based VIP Go platform.
Video of my talk is here: https://www.youtube.com/watch?v=cs0DcY80spw
CIRCUIT 2015 - Akamai: Caching and BeyondICF CIRCUIT
Puru Hemnani - ICF Interactive
The session will go over the advantages of CDN in general and Akamai caching in particular. Akamai is one of the most commonly used caching option with AEM and several clients use it. There are several features and akamai tuning options such as Error caching, GeoRouting, ESI, Siteshield, WAF that can help developers and system engineers make the sites faster and secure. Configuring it correctly can also reduce the licensing requirements for AEM as well as infrastructure costs as you can serve much higher amount of traffic with less number of origin servers.
Extremely high-level overview of some of the major components and sub-systems of the Alfresco platform for content management. Delivered to the Red Hat Summit/JBoss World Campground session on 5/4/2011.
Amazon Elastic Transcoder is video transcoding in the cloud. Come to learn about all the new features in Amazon Elastic Transcoder and hear how customers are using to create innovative media solutions.
A Practical Introduction to Functions-as-a-ServiceValeri Karpov
Facebook Dev Circles, October 24, 2018. An introduction to AWS Lambda using Node.js and an overview of the tradeoffs of using serverless functions as opposed to traditional REST APIs.
Slide deck from an Alfresco Webinar. Event info can be found at http://blogs.alfresco.com/wp/webcasts/2009/05/alfresco-webcast-developers-guide-3-web-scripts-surf-cmis-optaros/
This presentation discusses web scripts and Surf.
Aws 12 Month Free Tier for Web Designers and DevelopersDylan Burris
An open source focused (Drupal and WordPress) breakdown for web designers and web developers of resources which are available for free on the Amazon Web Services Free tier.
For decades MySQL has been the rocksolid backbone of many CFML powered Web-Applications. But recently the development lost a bit traction, new cool kids appeared on the scene. The most promising one is called MariaDB, a MySQL Fork by Monty Widenius, the original MySQL founder. MariaDB grow rapidly over the last 2 years and overpaced MySQL feature- and performancewise.
In this talk, we compare MySQL and MariaDB, explain what to consider when using it with CFML and share our experience in an Enterprise Infrastructure with the build-in Galera Cluster and ColdFusion 11.
Learn more about message-based architecture in the cloud including implementation details, real-world examples, insights from leading experts in NServiceBus and Microsoft Azure.
A Gentle Introduction to Functions-as-a-ServiceValeri Karpov
Slides from my talk on functions-as-a-service at Wyncode Academy in Miami in April '18. Provides an overview of the tradeoffs between different FaaS providers
PBS’ Tom Crenshaw and NPR’s Javaun Moradi discuss the PBS and NPR APIs. Topics covered are radio, television and dual-licensee stations can leverage the PBS and NPR APIs to innovate and build audience on their websites, mobile devices, and beyond. Tom and Javaun discuss retrieving API content for use on station sites, putting station content into our APIs for reuse elsewhere, and finding station information based on location or call letters. They share their ideas on where the public media APIs are headed, and they look forward to hearing your questions, feedback, and pain points.
This presentation outlines the updated Localization service in a clear and concise fashion with no fancy graphics or colors. Black and white as can be with no ambiguity.
IBC Content Everywhere Hub Presentation: HTML5 And Fastest EncodingBitmovin Inc
Fastest cloud-encoding and adaptive streaming with HTML5 including DRM by Gerald Zankl, IBC 2015
The bitcodin encoding and streaming platform is designed and built from the ground up to scale massively on standard public and private cloud infrastructure, while enabling orders of magnitudes faster transcoding than real time (e.g., a 2-hour HD video in minutes). The fast transcoding enables even the largest on-demand video providers to distribute uploaded media virtually instantly during the upload and transcoding process with no delay. Leveraging the flexibility of the new MPEG-DASH standard – which is fully integrated into bitcodin – content providers can use cutting-edge technologies such as the native DASH adaptive streaming support in HTML5, as well as the native DRM support using MPEG-CENC based upon that. This enables distribution and playback across web and mobile platforms, while being more light-weight and battery efficient than heavy plugins like Silverlight or Flash. bitcodin.com furthermore encourages separation of video, audio and subtitle streams, which helps bitcodin customers to save up to 75 % on their storage costs while increasing distribution efficiency and reducing CDN costs.
AWS Webcast - On-Demand Video Streaming using Amazon CloudFront Amazon Web Services
Learn about how you can use Amazon CloudFront to deliver on-demand video over HTTP to various devices in a scalable manner using HLS and Smooth Streaming delivery protocols. During the webinar, we will walk through the steps needed to create a production quality video streaming stack and the choices you have in the AWS platform to help you address these by leveraging the power of the cloud.
Description of Microsoft Silverlight technology.
Advantages over "standard streaming", download and progressive download methods.
Silverlight session description and analysis using wireshark
AWS re:Invent 2016: Accelerating the Transition to Broadcast and OTT Infrastr...Amazon Web Services
In this session, we show how to seamlessly transition VOD, live, and other advanced media workflows from on-premises deployments to the cloud. Cinépolis will provide an overview of their transcoding solution on AWS and how they have seamlessly expanded the solution increasing their customer reach. We'll show real world examples of the API calls used to configure and control all elements of the workflow including compression and origination. And how standard AWS services can be media-optimized with Elemental Technologies to form a robust live solution.
Encoding Video for Microsoft Silverlightgoodfriday
Learn how to optimize your video encoding quality regardless or the specific distribution and infrastucture approaches you use. Detailed scenarios will cover optimizing video encoding quality for progressive download, streaming, self-hosting, Windows Live Silverlight Streaming, and third-party content delivery networks (CDNs).
Building A Streaming Apple TV App (CocoaConf San Jose, Nov 2016)Chris Adamson
Apple TV offers a friendly SDK, full of familiar view controllers and Foundation classes, with everything an iOS developer needs to develop their own streaming channel. Except for… you know… the streaming part. In this session, we'll look at how Apple's HTTP Live Streaming video works -- from flat files or live sources -- and how to get it from your computer to a streaming server and then to an Apple TV. We'll also look at common challenges for building streaming channel apps, like serving metadata, protecting content, and supporting single sign-on
All the content of this website is informative and non-commercial, does not imply a commitment to develop, launch or schedule delivery of any feature or functionality, should not rely on it in making decisions, incorporate or take it as a reference in a contract or academic matters. Likewise, the use, distribution and reproduction by any means, in whole or in part, without the authorization of the author and / or third-party copyright holders, as applicable, is prohibited.
Building A Streaming Apple TV App (CocoaConf DC, Sept 2016)Chris Adamson
Apple TV offers a friendly SDK, full of familiar view controllers and Foundation classes, with everything an iOS developer needs to develop their own streaming channel. Except for… you know… the streaming part. In this session, we'll look at how Apple's HTTP Live Streaming video works -- from flat files or live sources -- and how to get it from your computer to a streaming server and then to an Apple TV. We'll also look at common challenges for building streaming channel apps, like serving metadata, protecting content, and supporting single sign-on.
P2P streaming with HTML5 is a new in-browser streaming solution allowing you to provide your users a better streaming quality while drastically decreasing your bandwidth costs.
BUILD 2014 - Building end-to-end video experience with Azure Media ServicesMingfei Yan
Session video will be available here: http://channel9.msdn.com/Events/Build/2014/3-610
Azure Media Services is a platform-as-a-service that enables you to build a customizable media workflow. you could uUpload, encode, encrypt, package and deliver video content to multiple platforms and devices. In this session you will see how to consume various services using the Media Services client SDK. We will focus on some new features, such as secure delivery options, live streaming, and etc.
Architecting a Video Encoding Strategy Designed For GrowthZencoder
In this guide, we discuss encoding options to simplifying output renditions and improve flexibility, dynamically generating playlists with HLS and Smooth Streaming protocols and concatenating video using manifest files. The ultimate result it
This presentation details how CMAF drives down infrastructural cost of storage and packaging and betters playback performance thanks to its simplified cacheability. It also discusses the limitations of CMAF’s deployment, primarily in regards to its integration with multi-DRM services.
This presentation is devoted to the architecture of streaming services, special features of adaptive streaming, benefits and disadvantages of various streaming technologies and specific issues of media streaming apps development.
This presentation by Nazariy Mamrokha, GlobalLogic expert, was delivered at GlobalLogic Lviv C++ TechTalk on September 15, 2016. Learn more here: https://www.globallogic.com/ua/gl_news/globallogic-lviv-c-techtalk-summary/
HTML5 video & Amazon elastic transcoder - FCIP August 2014RZasadzinski
An intro to implementing HTML5 video in HTML files, as well as using the WordPress short code to embed HTML5 video. A brief description of the Flash approach that still works better for transparent video, and how to embed that Flash content with SWFObject 2 and include fallback content using the HTML5 video techniques covered. This allows use of Flash for video with a transparent background for all users & browsers that have Flash installed, and uses an HTML5 fallback for devices and users that don't have an appropriate version of the Flash Player installed.
A few key items are also listed with regard to using Amazon's Elastic Transcoder to convert videos into the needed formats for HTML5 video.
HTML5 video & Amazon elastic transcoder - FCIP August 2014
Pycon2013
1. This Old Video Site: How PBS
streams video - and you can
too!
Edgar Román
PyCon 2013
2. PBS Digital
• We are the online division of the Public Broadcasting Service
• We stream millions videos for both pbs.org and pbskids.org
• Our core projects and video CMS are python based
This talk focuses on streaming video, not python
And streaming video in 2013…
Disclaimer: Reference herein to any specific commercial products, or services
does not necessarily imply its endorsement, recommendation, or favoring by
the Public Broadcasting Service
3. Online Video Goal
One of our goals at PBSd is to make PBS video
accessible everywhere,
by everyone
This goal affects how we stream video, and
your goals will affect how you stream online video
4. Video Formats
• 1994 - MPEG-2
– Used by Digital Television and DVD
– Lossless format, big files
• 2003 - MPEG-4 with H.264 (AVC)
– MPEG-4 is the container format and H.264 is the
video codec
– Lossy format, much smaller files
– More complex to decode
• Ogg Vorbis/WebM VP8/Other
– Now you’re in the niche video formats
– Great if you can narrow your audience
5. MPEG-4 with H.264
• Success driven by broad support
– Flash support since 9.115
– SilverLight, Windows, Xbox, PS3, Android, iOS
• Excellent compression
• Huge number of options
– Standard Profiles: Baseline vs Main vs High
• But there is a shadow over H.264
– MPEG-LA licensing fees
– ‘Free to end users’
6. Video Streaming
• HTTP
– Good ol’ progressive download
• RTMP
– Proprietary from Adobe
• HTTP Live Streaming (HLS)
• Others
– RTSP
– MS Smooth Streaming
– HTTP Dynamic Streaming
– DASH
7. Video Playback
• Player Requirements
– Plays Ads
– Closed Captioning Support
– Customizable (Twitter, Facebook, Buy DVD /
iTunes)
• Using combinations of many players
– Open Source Media Framework (OSMF)
– Custom HTML5 framework
– Native players on mobile devices
8. How to get started with video
• First Target: Desktop browsers
– Picked MPEG4/H.264 to lower file size
– MP4 main profile
– Delivery via RTMP
– Broad support in Flash players
– Started with 400Kbps in 2009
– Expectation now is in range of 800Kbps to 1.2Mbps
9. S3 Amazon
Cloudfront
MP4 Main CDN
Includes Flash
Profile Media Server
Delivery
Via RTMP
10. Mobile Devices
• Apple’s iOS
– No Flash
– HTTP Live Streaming (HLS)
– Auto bitrate adjust possible
– Any old CDN will do
– Built-in player
• Android
– MP4 Baseline via HTTP Progressive download
– Later versions of Android support HLS
• Capability Detection on app servers
11. HLS Encoded iPhone
iPhone
Plain old CDN
serving HTTP files
S3 Amazon Cloudfront
CDN
Includes Flash
Media Server for
delivery via RTMP
12. MP4 Droid
Baseline
iPhone
Plain old CDN
serving HTTP files
iPhone
S3 Amazon Cloudfront
CDN
Includes Flash
Media Server for
delivery via RTMP
13. HTML5 <video> tag
• Allows browser to have native video support
• Basic <video> tag is great, but lacks frills to match rich
Flash environment
• HTML5 frameworks out there:
– VideoJS
– MediaElement
– JWPlayer
• If you need Flash-like flexibility in HTML5, be prepared for
disappointment
– Ad serving
– Captions
– Video Codec support
14. Transcoding
• Act of converting one video format to another
• Useful Tools
Local Machine Online Services
ffmpeg zencoder
x264 Encoding.com
Handbrake
• At PBS we start with a high-resolution 5 Mbps mp4 file
• From this we create 16 streams
http://to.pbs.org/video-specs
15. Editor Uploads Mezzanine File with
caption file
Store Original File in Archive and
send to Transcoding Service
Stage files on CDN Origin Server
and register streams in CMS
Django site determines client video
capabilities and renders links
16. Haxors stealing my stuff
• Tough challenge – see ‘analog loophole’
• PBS offers many videos for free streaming online so
motivation to steal is low
• Your circumstances might be different
• Beware the DRM Graveyard
– http://opensource.com/life/12/7/drm-graveyard-
brief-history-digital-rights-management-video-film-
and-tv
I’m going to present a lot of data and I promise to post the slides online
If you are watching video on pbs.org, then most likely there is a python backend. So the goal of this presentation is to equip you with the knowledge about video streaming that you can plug into your python framework of choice.Viewers from the future, please chuckle at our backward ways and then hop into your self-driving vehicle, pop on your Google Glass and watch your holograms.And the lawyers make me add the text on the bottom
Your video streaming goals will affect your choicesThis goal affects how we stream videoAnd thus this presentation is biasedYour goals will affect how you use online videoBut I hope this talk will assist youAt least with knowing more about optionsYou have many, many options
MPEG-2 – provided a mechanism for the basis of most modern digital video streaming. But in 2003, h264 started a revolution in internet video streamingMuch like mp3 was to WAV files, mp4 is to mpeg2It uses complex math algorithms to enable this compression that I do not pretend to understandThese algorithms require much more horsepower than before to both encode and decodeThere are many other formats that are slowly gaining traction. Some claim to have better compression or video quality, but wide support is not there.If I were a betting man, and I am, I would put my money on VP8 and VP9 in 5 years
One thing about compression and various options support is that some options require high CPU processing power to encode and decode. So it is possible to compress something so much that some players won’t be able to keep up on underpowered hardware.Fortunately, for people like me who cannot pick out ice cream toppings much less video encoding options, some common profiles were established.MPEG-LA requires products that implement h264 pay patent royalites. On August 26, 2010 MPEG LA announced that H.264 encoded internet video that is free to end users will never be charged royalties
Think about Firewalls, Licensing, Player SupportHTTP is best for compatibility, but the worst for bandwidth conservations. Viewers who abandon the video after starting to watch potentially wastes bandwidth. Because PBS has hour and 2 hour long programs, this is a problem for us.RTMP is good for bandwidth conservations, but requires commercial softwareHLS is new, but player support is upcomingTons of other formats that exist, your mileage may vary.
OSMF is roll-your-own. Use Strobe for drop-in player
The base setup if you want just get video online isH.264, Main Profile, via HTTP, and OSMF Strobe Player or HTML5 video tag
Put mp4 videos on S3 and stream RTMP using AWS CloudfrontProsScales wellAdobe FMS cost built into CDNSimplePython support: botoConsSingle bitrateBring your own player
We targetiOS and Android. Sorry windows phone users!Android:Supports Flash … poorlySupports HLS … poorlySupports MP4 playback … adquatelyWurfl, Device Atlas are fine, but lack video playback capability details
Put thousands of chopped up video snippets on S3 and stream HTTP using CDNProsScales wellAny CDN will doMulti-bitrate build into protocolConsFile management (1 hour show - Hard to move all the files if necessaryClosed captioning needed at time of transcoding (baked in)Native player does not support ads
Put baseline MP4 on S3 and stream HTTP using CDNProsScales wellAny CDN will doBaseline ensures wide playabilityConsFiles are biggerYet another transcodingProgressive download wastes bandwidth
Will probably be awesome in 5 years
Store original Mezzanine video and closed captioning file for safekeepingSend to transcoding service to get many different video formatsStore CDN links to all video formats in CMSWhen client hits webpage, detect capabilities of playback deviceDeliver page with Flash first with HTML5 fallback