At the SharePoint Conference 2014 in Las Vegas Microsoft announced Office Video. Office Video was one of the major new announcements at the conference. See Impressions from the SharePoint Conference for other things I learned at SPC.
Office Video brings Azure Media Services and an enterprise video portal to Office 365. Office Video will be available in an upcoming update of Office 365.
Having spent half my work life with video and video conferencing (Tandberg, Cisco) and the other half with Microsoft technologies (.NET and SharePoint), I was particularly interested to learn more about this. I talked with members of the Office Video team to understand what they are doing.
From a SharePoint perspective, the Office Video is a SharePoint site that serves two purposes:
- A front-end video portal that presents videos to users
- A back-end for storing and managing videos
The video portal is part of the new initiative of next generation portals were you get an out-of-the-box experience. It has three 'tabs'. The Videos tab shows available videos and is search driven. It also uses the Office Graph to present relevant videos to you. The Channels tab shows videos from a set of user defined channels. The My Uploads tab allows you to upload new videos using drag&drop.
In the back-end there is an asset library for each channel. The videos you upload are of a new Cloud Video content type inheriting from Document.
When you upload a video, it is physically stored as file in SharePoint. There is an event receiver pushing the file up to Azure Media Services. Azure Media Services generates a thumbnail which is added to the SharePoint item alongside a reference to the video in Azure. This is implemented using a timer job polling Azure to update the item in SharePoint.
Yes, they are using event receivers and timer jobs even if it runs in Office 365. These are on-prem capabilities that are not available in Office 365 for customers. I appreciate why Microsoft is doing this, and why they are not allowing these features in Office 365. I think it would be cooler if they used the same mechanisms third parties can use to extend SharePoint and not cheat J We have requirements for pushing large files uploaded to SharePoint over to Azure Blob Storage and could benefit from similar hooks J
Having the physical file in SharePoint gives the benefits of SharePoint management such as permissions settings, metadata, approval workflows etc. One thing to consider is that the files will be physically stored in the content database of SharePoint. This has implications for maximum file size and the total size of all videos stored. A file can be maximum 2 gigabytes. Microsoft announced that the limit for a size collection database will be increased to 1 terabyte in an upcoming update of Office 365.
I think it is good to keep a copy of the original video. I have tested other services where you need to store the original file yourself outside the service. And since Office 365 is managed by Microsoft, the challenges of large files and backup/restore are Microsoft's, not ours J
For playback there is a player page with a Flash based video player. The player page also serves up comments from yammer. One of the reasons they had to use a Flash player was to support AES encryption of the video stream.
The streaming relies on Azure Media Services to transcode and stream videos. This gives the benefit of a scalable video platform supporting a wide range of input video formats and streaming bandwidths.
Azure Media Services is hugely scalable. It was used to serve up enormous amounts of video from the London Olympics and other big events. These events also used a content distribution network (CDN). This is not something you will get out-of-the box in v1 of Office Video.
The SharePoint architecture in Office Video is very similar to the architecture Puzzlepart defined for a customer for integrating Cisco Show and Share with SharePoint and Yammer. The customer already had Cisco infrastructure and was using SharePoint and Yammer for collaboration. We defined a Video Catalog site for managing videos and serving as a video portal. The video catalog serves as security master and gives a fully integrated search experience in SharePoint. It has a Player page embedding comments from Yammer and showing related content. Related content can be videos, people or other content. The goal is to make video a first class citizen in SharePoint and treat it like any other content.
Several things we addressed in our architecture are not available in v1 of Office Video:
- Cross-site publishing allowing users to publish videos in context of group sites, learning sites.
- Reuse of videos in different sites while still managing videos in the central catalog.
- Integration with a company's videos on YouTube. We created an abstraction in our architecture allowing registration of videos from several video streaming platforms into the SharePoint Video Catalog giving a consistent experience for internal and external content.
- Specialized video content types inheriting from Cloud Video allowing different metadata for different video content.
- Integration of live video content.
These are all things Microsoft is looking at for upcoming releases. They are doing the right thing in having a minimum viable product in the first release. With the new model of continuously rolling out new features in Office 365 and increasing the pace of doing so, I am sure many of these things will be addressed in future updates based on customer feedback.
The integration of SharePoint with Azure Media Services for enterprise video streaming is a good move. The integration of the Office Graph to serve up relevant content to users will make the whole experience strong. Exciting!
See Impressions from the SharePoint Conference for other things I learned at SPC.