Thinking about Live Content
Live content needs to be thought about a little differently from on-demand content. The main differences are:
- The production and management workflows are different.
- The objective is to deliver content that has time relevancy, for example sport, news, weather, executive announcements, etc. Due to the nature of relevancy, the margin for error on live content is extremely low.
- Live content needs to consistently hold attention, therefore, much thought needs to be put into how content is packaged to make it interesting and relevant to watch. There is a cost associated with this approach.
- Live content can be pulled from different areas - for example content may be licensed or content may be created by your production team.
Typical Live Streaming Workflow
The following displays a high level Live Streaming workflow that is built from 5 main elements:
- Capture
A video/audio source (Camera, microphone, etc.) acquired by a capture device, which is a platform in the form of hardware, software, web app or phone app, that enables capturing video and/or audio from various devices. - Encode
The input video and audio are encoded (compressed) in real-time prior to being processed for streaming. Examples of encoder platforms include:- Software solutions, Telestream Wirecast and OBS (Open Broadcaster Software), etc.
- Appliances such as NewTek TriCaster, Niagara, TeraDek, VidiU, etc.
- Rack mounted HW encoders such as Harmonic, Elemental and Envivio
- Process
Processing involves ingesting the live stream from the encoder, converting the video into multiple display qualities for adaptive streaming, packaging the stream into an adaptive bitrate streaming protocol (such as HLS, MPEG-DASH, MSS), optionally encrypting the content and delivering the packaged content to the consumption device/player typically via a CDN (Content Delivery Network) . - Deliver
Delivery of the processed video fragments to the end users can be challenging from a scaling perspective. Kaltura supports the major CDNs such as CloudFront are used to distribute the content to virtually any number of users globally using caching servers spread in multiple points of presence. - Consume
Almost every device is video capable today. The video is displayed within a video player on multiple platforms such as laptops, desktops, smartphones, tablets, game consoles and TVs.
Adaptive Bitrate (ABR) Streaming
- Provides a good user experience for different clients/devices with different video capabilities (resolution, bitrate, etc)
- Provides a good user experience for varied and fluctuating internet connection speed (bandwidth)
- Provides protocols that can easily traverse the internet without having problems with firewalls, NAT ,etc.
Streaming heuristics are mostly determined on the player side. Transcoding generates a set of renditions (flavors aka assets) that should match ALL conditions, devices, and protocols.
The player's logic determines if the segments are taking longer to download than the time it takes for the segments to play. If while playing a video, the next segment will take longer to download than play time is allowed, the player code decides to serve a smaller size segment that has already been downloaded to avoid buffering.
In addition, HTTP-based adaptive bitrate streaming technologies yield additional benefits over traditional server-driven adaptive bitrate streaming. First, since the streaming technology is built on top of HTTP, contrary to RTP-based adaptive streaming, the packets have no difficulties traversing firewall and NAT devices. Second, since HTTP streaming is purely client-driven, all adaptation logic resides at the client. This reduces the requirement of persistent connections between server and client application. Furthermore, the server is not required to maintain session state information on each client, increasing scalability. Finally, existing HTTP delivery infrastructure, such as HTTP caches and servers can be seamlessly adopted.
Kaltura Live Streaming
Kaltura live streaming simplifies live streaming by providing a wide set of capabilities and flexible configuration. The highlighted features of the Kaltura live platform are:
- Fully SaaS live platform - No need to install or maintain anything on premise. Kaltura takes care of the infrastructure and keeps you up-to-date with new devices and technologies.
- 24/7 channels and live events - Broadcast 24/7 live channels and live events over the internet in a simple & cost-effective manner
- Play on any device - Use Kaltura or a 3rd party player to provide access to your live stream on any device - PC's, laptops, TV's, mobile devices, tables, game consoles, etc.
- Deliver to any audience size - Kaltura live streams can be delivered through a Content Delivery Network (CDN) as well as support internal delivery in diverse network topologies with support for eCDNs and Multicast.
- Service high availability - Geo-redundancy and in-data-center redundancy provides no single point of failure to ensure your live broadcast is not interrupted.
- Instant provisioning — Streams are provisioned instantly without delays both in the KMC and via API calls.
- Cloud Transcoding — Supports single RTMP stream ingest being transcoded in the cloud to a few different flavors for high quality adaptive bitrate delivery experience with minimal ingest bandwidth and CPU requirements.
- Pass through - Supports multi-bitrate RTMP streams ingest, processing and delivery to any screen for cases when the original encoder output should not be manipulated and bandwidth is not an issue.
- Live Recording and Live to VOD — Records your live broadcast for instant VOD access once the live event is complete via the same embed code.
- DVR window - Allows your viewers to seek back through the live event and see parts they've missed.