Updated 28-Jun-2024
Public video can easily be hosted and streamed on YouTube at no cost. But for those who want some restrictions on the video, YouTube has only limited options. Currently YouTube only allows sharing private videos with up to 50 YouTube accounts, via including their email addresses or Google+ account, in the video manager. In addition, YouTube's allowing of embedding is either all or nothing (except for large companies that have access to YouTube's ContentID system). There are several other options, however, each with various tradeoffs.
Storage, Players, Access Control
There are three main components to private video streaming (besides creating and editing the video). These are:
- Video storage (where the videos are kept),
- Video players (how they can be played by those with access), and
- Access control (the method for allowing only a set group of individuals to have access).
Video Storage Options
There are several options for video storage, though those options also impinge upon what players may be available and what kind of access control is possible. A partial list includes:
- One's own webserver (fine if fast, with enough monthly bandwidth)
- Amazon S3
- Kaltura
- Dropbox with some limitations
- Vimeo
Google Drive Streaming
One option that is fairly good is streaming from Google Drive. One has to make the video public and grab the share URL. The unique item ID should then be pasted into an iframe link. Though there is another option without the iframe.
Something missing here
And Voila:
Something missing here
Compare this with YouTube:
However, if you want more control over the video player, it will be necessary to install one's own. (P.S., from Google Drive on desktop as well as Android and IOS it is possible to double click to play the video directly (or on the Drive web).
P.S., it is possible to make links to Google Drive content for downloadable files (rather than loading one of the Google Drive apps).
Video Players
The best approach for embedded players is nearly always Open Source, and there are a few options options:
- Video.js
- MediaElement.js (which is now used in the Core of WordPress)
- Kaltura plugin for WordPress
Access Control
The first part of access control has to do with accounts, which generally have email addresses (and passwords). There are two issues:
- One has to do with the address on the internet and whether it is password-protected (either with a single password or an account-based password).
- The second issue is whether the actual video file itself is somehow obscured by the player or is easy to download.
The suggestion is to use WordPress (or if you must, some other third-party login system such as Twitter, Facebook, Google) in order to secure the page on which the video can be viewed. Then use one of the video players above.
Public and Unlisted Video Streaming WordPress Embed
Just a recap, there is the standard Embed codes for WordPress Video (and more) and there is also the Lazy Load for Videos which replaces a YouTube or Vimeo thumbnail with the video player on click -- instead of preloading the video player -- and also is adaptive in terms of player size.
Note that making YouTube videos unlisted but enabled for embedding means that people won't find them in YouTube, but they could still be embedded in your site (and other's as well).
Privacy and Access Control on WordPress
Pages (with embedded video) can be labelled as public, password protected, or private. Only those users with proper security level (Admins and Editors) can see private pages, and password protected pages require a password. Use various plugins for more control such as limiting parts of a site to logged-in users only.
Vimeo Private Video Embedding
Another option is Vimeo Plus and Pro accounts have very granular access control, though there are monthly fees. However, if you want to hide videos from Vimeo and only allow video embedding on specific sites, this works well out of the box. If the videos are large (HD and/or feature-length), then this cost may be worth it in terms of otherwise paying more for bandwidth, as well as allowing better performance for multiple simultaneous streams. Just remember, if anyone ever sees the video, they can download it, so the bests private video is one never shared (though that kind of defeats the point).
YouTube and Vimeo Paid Content
Both YouTube and Vimeo have paid content options. On YouTube Paid Content, the account needs to have 1,000 subscribers and also be located in a supported country. For Vimeo, their On Demand sales/rental option is available to Vimeo Pro accounts ($ 199 USD/year).
Likely Vimeo is much better at supporting users in various countries, as YouTube won't enable subscriptions to work across borders. As well, Vimeo Pro offers 90% Royalties after transaction costs.
Video Format for Web Streaming
Video should be appropriately encoded, both allowing for fast start and small file size to increase speed and save on bandwidth. The useful Open Source tool Handbrake can be used if needed, with the following settings: