Microsoft’s new enterprise YouTube isn’t ready for prime time yet, but it offers several impressive features making it one to watch over the next 12 to 18 months.
Reviewing the preview version of Microsoft Stream is like watching video clips on ESPN to assess whether Lebron James Jr. is ready for pro ball. At age 11, “Bronny” has obvious game and outstanding genes, but he’s years away from being able to play in the NBA (well, maybe sooner in Philly). While the Stream Preview is similarly not ready for prime time, there are several cool features and impressive corporate DNA that make the platform one to watch over the next 12 to 18 months.
Microsoft Stream: An Overview
To start from the beginning, Microsoft Stream is a cloud-only enterprise YouTube product that allows organizations to upload, manage, and share videos up to 1080p within their organizations. The preview version is free, and Microsoft hasn’t announced pricing plans, but expects to charge on a monthly, per-user basis.
The enterprise YouTube market is a growing market with multiple existing services, including the Vidizmo EnterpriseTube, MediaPlatform PrimeTime, Kaltura MediaSpace, Ustream Demand, and services available from Panopto, Qumu, INXPO, Sonic Foundry, and others. In short, this is a market already served by multiple mature and very well-featured products with multiple deployment options.
Microsoft also has competition from within, specifically, from Office 365 Video, which was launched in November 2014. Microsoft made it clear in a blog post entitled What Microsoft Stream Means to Office 365 that the two services will ultimately converge, with Stream providing “the de facto video experience in Office 365.”
With this as background, let’s begin our look at Microsoft Stream.
There are four concepts involved in the Stream Experience: a company, users, channels, and videos.
Companies are built around a “business” email address. For example, I used my Streaming Learning Center email to create a company, starting with email@example.com. From this company account, I can invite other users with the same company email like firstname.lastname@example.org, and email@example.com. (I use browser names so I can test with multiple browsers open on the same computer, and easily track who’s who). If any other user with the same business email address attempts to create an account, they get shunted into the same company. If you don’t have a company email address, you can’t join the company account, though this will change over time.
Once you’re a user, you can easily invite multiple other users to join the company. Or, via normal email channels, you can send out a mass email invite to all your staff, instructing them to sign up for Stream using their company email address. Once they enroll, they will be placed in the same company by virtue of their business email. At this point, beyond the mass email, there’s no way to centrally control employee enrollment.
All videos are organized into channels, and any user can create a channel, which will be visible by all users. You can choose an image to represent the channel in the portal by choosing a thumbnail from any video assigned to the channel. As you can see in Figure 1, when you create the channel, you can specify who can contribute to the channel. At this point, there’s no way to control who can create a channel, and any channel created for general distribution appears in the Stream portal for all viewers.
Figure 1. Creating the Opera channel and identifying which users can contribute to the channel
Finally, there are videos. You can upload videos singly or en masse in a range of formats, though Stream can only accept existing files, not live streams, webcam, or webinar input. Once uploaded, you can name the video, describe it with hashtags, and detail who can see the video. You can also supply captions in WebVTT format. As shown in Figure 2, you can make the video available to the company, in which case you can also assign the video to a channel or channels, select a custom group of viewers, or make the video private.
Figure 2. Configuring a video file
There’s currently no way within the service to prevent any users from uploading videos that can be seen by all users, which certainly will make Draymond Green (and Brett Favre) fans nervous. Most other services can restrict uploading by viewer class, or deploy a structured review and approval workflow to prevent unauthorized videos from hitting the portal. Microsoft plans to add these features later, either directly within the service, or via integrations with other tools, like Microsoft Flow.
Once uploaded and transcoded, anyone who can view the video can add it to a channel or watch list, or share it via embedding or by sending a link to the video via email. However, only authorized viewers can watch the video; at this point, Stream cannot distribute videos to external viewers who don’t have company accounts. Virtually all enterprises need to distribute video internally and externally, and most enterprise YouTube systems enable external distribution, which Microsoft also plans to add in the future.
Viewing Content in Microsoft Stream
Users watch content in the Stream portal (Figure 3) which is non-configurable. As you can see, the portal shows trending videos on top, with training videos just below. Then Stream lists the most popular channels, below which are any channels followed by the particular user (not shown). There currently is no way to integrate Stream into Sharepoint or other portals, a feature available in most other services.
Figure 3. The Stream portal, which presents trending videos and popular channels
In the Stream portal, viewers can click Browse to search for videos and channels that they have the right to view. As you can see in Figure 4, you can sort the content multiple ways, or search by keyword or hashtag. One of the features on Microsoft’s drawing board (and already available in some competitive products) is intelligent video searching, driven by speech to text transcription, face detection, and optical character recognition from PowerPoint and other text-based content.
Figure 4. Searching through the content in the Stream portal
To the right of the Browse menu entry is My content, which takes the user to their videos and channels. To its right is Create, where viewers can create a channel or upload a video, and a search function.
Encoding and Distribution in Microsoft Stream
Encoding and distribution is handled by Microsoft Azure, Microsoft’s cloud computing platform. All video are encoded into multiple streams for adaptive bitrate (ABR) delivery, in DASH format for delivery to computers and Android devices, and HLS for browser-based iOS playback. When delivering to older browsers on computers, Stream can fall back to Flash-based Smooth Streaming delivery, with fallback to HLS and Flash on Android devices.
As described in a blog post, Stream encodes each stream using a custom data rate, using “a simple yet elegant function that measures the characteristics of the input video, and comes up with a recommended bitrate for that rendition.” This function worked very well in my tests. For example, Stream encoded a 720p real world video stream at 3.4Mbps, and a 720p Camtasia-based screencam stream at 576Kbps, about an 85% bandwidth savings. I played several low-bitrate Camtasia-based videos through from start to finish, and the quality was perfect. Ditto for real-world videos encoded at much higher data rates.