If you need to stream video through your website or in another web application (say, your LMS or SharePoint site), you need an online video player. It could be a simple player that allows you to play/pause a video or be packed with features such as that on YouTube (with closed captions, playback speed etc.). It could be a free, open-source player or a paid one.
With numerous options out there, you need to select the one that best suits your organization’s needs.
It’s also worth considering that a standalone video player may not always be the best for your use case, or it may not always best solve your challenges. In such a case, you can always consider a complete video platform. But what is the difference anyway?
Say, you need to stream privately and restrict video access (e.g., for compliance purposes). As such, you would need to build applications and features around the player. Or you could simply opt for a video platform.
Whatever the case, for online video streaming you can opt for either of the two options and we discuss both of these in this blog.
An online video player allows you to play videos over the internet and provides the relevant information and controls related to that video.
A simple player will enable you to play, pause and seek through a video. A much more complex player allows you to customize the options on the player, include closed captions, related documents, or allow users to switch between available video streams (e.g., the quality options you see on YouTube).
If you want to stream a video on any HTML5 page, you can do it in two ways: by adding a <video> tag or a <iframe> tag.
Within the <video> tag option, you add videos just as you add an image to a webpage. You define the source in .mp4 format and the video size in a simple embed code. This way, the video will play through the default HTML5 player.
You could also opt for an HTML5 video player of choice, where you preload JavaScripts to build controls over the default video tag element. This way, you replace the default HTML5 player with a player of your choice (Video.js, Plyr.io, etc.). You can read more on HTML5 video streaming here.
The other option is to include a <iframe> tag, which loads the video from an external source such as YouTube. This option provides with much more capabilities. For instance, your video on YouTube may have closed captions within them, and these will display on your webpage. The same goes with the annotations in your videos, and these will also show up in your video.
Later in this blog, we will discuss the benefits of using an external source to stream a video rather than using a simple online player on top of the <video> tag. But first, a bit of history.
HTML5 video players came much later into the picture, and early video on the internet was dominated by Flash. The Flash player was created by Macromedia in 1996, and was later bought by Adobe in 2005. The Adobe Flash player dominated online video for a few years and it started to decline after the advent of HTML5. Almost after a decade, YouTube discontinued the flash player in 2015, and put an end to its reign, replacing it with the HTML5 video player.
The flash player required you to install additional plugins for it to work. Similar was the case with other lesser-known players at the time – Microsoft Silverlight, RealPlayer, Quicktime etc. As opposed to the HTML5 player that runs in any browser on almost any device. Video can be streamed using the HLS streaming protocol, and users can benefit from adaptive bitrate streaming. This technology allows video quality to automatically switch according to the end users’ bandwidth conditions.
Your use case could be as simple as adding a video to your webpage. But chances are, it’s not! You may want to upload videos on an internal site and only have authorized individuals to be able to watch it. You may want the video to be connected to a CDN to reduce buffering or may want to give your end-users the liberty to choose their desired quality. You may want to include an option for users to choose their video playback speed (1x, 2x, 0.5x?). Or you may need to add closed captions to the videos for Section 508.
When it comes to online video streaming, there is much more to video streaming than just adding a video tag to your HTML5 page. Here is a diagram from Gartner how much more goes into video streaming.
Source: Gartner Market Guide for Video Platform Services (Accessed from AWS)
Depending on your use case, you can either opt for a standalone customizable player or a video platform that performs all workflows for you. We explain the difference between the two below:
At the very basic, online video player solutions allow you to include a customized player of your liking. These load as a script and override the default HTML5 player. Once installed, all videos added through the <video> tag will now play through your player.
These solutions also do much more than that. You can include closed captions within the player, brand it as you wish, and display multiple options to enhance the playback experience.
Online video player vendors range in terms of the functionalities they offer – from simple customizable players to ones that perform a few video-related workflows. The issue with these players is that they require you to patch up different video-related workflows to build a solution to solve your use case.
Thankfully, for those that don’t want to get into complex development, they can opt for the other option - complete video platforms.
These perform all the workflows to make video available for streaming, and for the end-user. The process is as easy as YouTube – upload your videos, copy the embed code and add it to your page. Or use the platform as a video portal to manage and stream your media.
YouTube is the easiest and most popular example, to begin with. As opposed to developing and designing your player, you can keep it simple and upload videos on YouTube. After uploading, your audience can view your videos through your channel. Or you can copy the <iframe> embed code and add it to your site. You also get a bunch of functionalities like automatic transcoding, closed captions, playback speed options, HLS and adaptive bitrate streaming etc.
However, YouTube is not the best for organizations and large enterprises – due to security, compliance and data ownership. By uploading videos on YouTube, you agree to give YouTube the right to make unlimited copies of your content and distribute them. It also doesn’t allow you to privately host videos.
VIDIZMO is a complete online video platform that offers all of the functionalities in YouTube, and much more.
Here's a video playing from VIDIZMO's embedded video player:
You can have a look at our comparison of the top 12 video platforms here.
If you are not looking for an online video platform and are looking for a simpler standalone video player, here’s a comparison of the top 10 solutions that you can opt for.
JPlayer is a free and open-source video player. The best part is that you get detailed documentation on how you can set up your player, customize it and use it to play videos on your site. You can hide the full-screen button or volume button, or you can define a default video playback speed. If you deeper dive in, you can customize the skin and change the entire look and feel of your video player.
The drawback of JPlayer is that it only provides you with a standalone player, and you’ll need to look into other services to effectively stream your video. You’ll need to keep the videos on your CDN and encode it separately online. You would need to employ your own mechanisms for DRM and encryption. The player also doesn’t include any capabilities to add closed captions to your videos.
Founded in 2010, Video.js is one of the most popular open-source online video players. It’s used by large names such as LinkedIn, Udemy, Coursera, Amazon etc. The player supports adaptive bitrate streaming, allows users to choose between multiple quality options, and also choose the video playback rate. You can even include closed captions in the player. The look and feel of the player can be easily customized using HTML and CSS. This is just the tip of the iceberg, and you can select from 100s of plugins available.
Just like JPlayer, Video.js is just a standalone player that you would need to develop and build. You would need to connect a CDN, a place to host your videos, and the mechanisms to ensure the security of your videos. There are no native integrations to monetize your video content. The bottom line is, you would need to develop and don’t get a video platform as is.
Flowplayer is more towards being a video platform than a standalone player. It offers certain workflows to optimize video streaming – encoding, transcoding and delivery using a CDN. It offers a simple and easy-to-use interface to upload and embed videos. You get integrations with major ad servers like SpotX, AdX, Google IMA etc. and it also offers detailed analytical dashboards.
In terms of being a video platform, it’s great for uploading and streaming videos to a public audience. It doesn’t do well in streaming privately, managing video access and compliance. It also doesn’t allow you to choose where your data is stored – on-premise or in a cloud of choice (Azure, AWS, Google etc.).
Plyr is a free, open-source, simple and lightweight player that you can use to stream audio and video files, and videos from YouTube and Vimeo as well. It’s packed with numerous features such as closed caption support (multiple captions), keyboard shortcuts, playback speed, picture-in-picture, the ability to include your logo, and choosing the buttons that appear on the player. You can easily style the player using CSS. You can also easily access its detailed documentation on GitHub.
Plyr.io too doesn’t provide all video streaming-related workflows. The only thing offered by default is an easy integration with video intelligence (vi), to monetize your video content.
To clarify, we are not talking about simply embedding a YouTube video here. We are referring to the YouTube iframe Player API, where you can customize the YouTube player wherever it is embedded. This way, you can benefit from a few features offered in the YouTube player. You can remove the YouTube logo from your embedded videos, hide controls and set a default closed captions language preference. However, these are only very few limited features. Have a look at their documentation here.
Nevertheless, if you have a simple use case and video security is not a concern, then using YouTube to publicly stream video is not a bad option. You get a video platform that optimizes video for playback and accessibility. You can easily get started with or without development expertise.
JWPlayer started as a standalone video player and has developed into a video platform over time. It offers a fast and customizable video player with closed caption support, adaptive bitrate streaming support, and the options to choose playback speed, and modify how the player looks using CSS. As it offers a complete video platform, you don’t have to worry about video transcoding, packaging and delivery through a CDN.
However, JWPlayer is not the best when compared with other video platforms. It doesn’t offer private hosting for secure video streaming inside your organization, secure sharing, the ability to choose where your data is stored, video integrations and more.
Kaltura offers a video player with features for both HTML5 and Flash. It includes the basic features offered in other solutions such as closed caption support, the ability to customize the buttons on the player and its overall look and feel. The benefit of using Kaltura’s player is that you can easily connect with various video streaming workflows such as encoding, packaging and CDN delivery. It also includes plugins to monetize your video content, add CTAs and track its analytics.
This is an option for those that want to stream video without much complexity and at the same time want to retain ownership of their content (and hence not upload videos on YouTube). The PrestoPlayer is available as a plugin on WordPress that you can use to stream HTML5 videos. It offers various branding features to customize the look and feel of your player. You can also link to any closed caption files in the VTT format.
PrestoPlayer doesn’t offer any video hosting at the moment, so you’ll need to opt for Bunny.net. The player does promise to add Amazon S3 for video hosting in the future.
MediaElement is another simple and free online video player. It is available on GitHub with detailed documentation on how to implement and use its features. It supports HLS, MP4, YouTube, Vimeo and various other video formats. You can include multiple closed captions (in VTT format) in your videos. However, the player offers very limited customizations in terms of branding and skins.
Wistia provides a video platform rather than a standalone player. Nevertheless, its video player is packed with features such as support for closed captions, and the ability to brand the player using simple and easy-to-use tools. Lastly, its video embedding features are out of the ordinary, where you can choose between responsive, fixed, inline or a popover video embed.
Opting for a standalone online video player may help you embed videos on your website, but it won’t do the complete job when it comes to streaming video online. If you are not looking to build your own solution, then opting for a ready-made video platform is not a bad idea.
VIDIZMO is an enterprise video platform that helps you store, manage and share videos through an easy-to-use YouTube-like interface. The best part is that you can use one platform to stream video for all use cases – be it securely storing meeting recordings, or embedding a video on your site, or sharing a training video with internal employees, or live streaming a CEO webcast. You can do it all through one system – eliminating the need to manage multiple video systems.