Office 365 Video Portal. Inside Out
Office 365 Video Portal is an intranet place where people can store and view videos. In this post, I explain what is Video Portal, how it works, and why you should use it.
Overview
Office 365 Video Portal was been announced at the end of 2014 as easy to use service to upload, manage, share, and view video content. Video Portal supports many video formats (Video formats that work in Office 365 Video) and automatically preps all uploaded videos (transcoding, creating multiple resolution copies and thumbnails).
Video Portal contains channels and channel contains videos. You can not either share a single video between channels or upload video directly to Video Portal. So logical hierarchy is like this:
Administrator can create channels and manage permissions. Publisher can simply drag and drop files into the web browser or upload from a mobile device. Video Portal allows us to share video in one click. For mobile devices there is a separate application (Office 365 Video):
Azure
Office 365 Video Portal uses Azure Media Services and Azure CDN out-of-the-box:
Everyone who attempts to watch the video while the content is cached at a nearby CDN benefits from the video being closer and in most cases fewer hops, away. This improves video playback speed; however, it doesn’t change the network requirement to play the video.
Storage
Video Portal has no separated special storage, all uploaded video files are stored in SharePoint Online. So, it counts against your storage quota.
Pricing
Video Portal is free for Office 365 Enterprise plans. That's another one reason to start using it.
More marketing information about Office 365 Video Portal you can find out here: Explore Office 365 Video.
Let's look closer at Video Portal and I'll explain what it actually is and how it works.
What Video Portal actually is
First of all, you must understand one simple thing:
Office 365 Video Portal is a SharePoint based solution.
What does it mean? Video Portal inherits all limitations of SharePoint Online:
- Max file size of a single video file is 10GB
- Channel size limit is 25TB
- Number of channels is 5,000
- Number of files (videos, thumbnails) in a channel is 20,000
Video Portal can be reached at address like this:
https://{tenantName}.sharepoint.com/portals/hub
Video Portal
Video Portal (https://.sharepoint.com/portals/hub) is a SharePoint Site Collection. You can find out it in the SharePoint Admin Center:
The video portal is just well known PointPublishing Site Collection which contains a single root Site. Therefore we can customize (only StorageQuota and StorageWarningLevel properties via PowerShell) and configure it like an ordinary Site Collections. For example, create a document library and store documents in it.
Channel
And what about channels?
Channel is also a Site Collection! But a hidden one. All information about video portal channels are stored in a hidden list located at the address:
https://{tenantName}.sharepoint.com/portals/hub/**pSiteList**
All you need to get hidden site collection is PortalSiteRelativeUrl field in this list.
Just concatenating parts of url we can get channel content page url:
https://{tenantName}.sharepoint.com/**{PortalSiteRelativeUrl}**/_layouts/15/viewlsts.aspx
And the library containing video files here:
Video
Video files and thumbnails of a channel in a single SharePoint List:
Please note that all videos content type is Cloud Video. ContentTypeID of the content type is 0x010100F3754F12A9B6490D9622A01FE9D8F012
Now you know how Video Portal stores the data.
Retrieve video
There is a REST API to interact between Office 365 Video Portal and your services/applications. More about REST API: Video REST API reference.
List REST API
Video files are stored in SharePoint Lists so, we can use REST (Working with lists and list items with REST).
Request to retrieve all videos from channel:
https://{tenantName}.sharepoint.com/**{PortalSiteRelativeUrl}**/_api/web/lists/GetByTitle('Videos')/items
And response:
{
"odata.metadata": "https://{tenantName}.sharepoint.com/{PortalSiteRelativeUrl}/_api/$metadata#SP.ListData.PVidItems",
"value": [
{
"odata.type": "SP.Data.PVidItem",
"odata.id": "4af8185e-f1c3-4f45-a0cb-cd348afd6293",
"odata.etag": "\"5\"",
"odata.editLink": "Web/Lists(guid'85b69c64-4f61-4da0-a841-0cc642537c2e')/Items(4)",
"FileSystemObjectType": 0,
"Id": 4,
"ServerRedirectedEmbedUri": null,
"ServerRedirectedEmbedUrl": "",
"ContentTypeId": "0x010100F3754F12A9B6490D9622A01FE9D8F01200DF0E059CCFF8214CB7E9ED0491D084BD",
"OData__Author": null,
"Title": "SharePoint Training 02",
"ImageWidth": null,
"ImageHeight": null,
"ImageCreateDate": null,
"OData__Comments": null,
"Keywords": null,
"wic_System_Copyright": null,
"AlternateThumbnailUrl": {
"Description": "/{PortalSiteRelativeUrl}/pVid/SharePoint%20Training%2002.mp4.PNG?VideoPreview=1",
"Url": "https://{tenantName}.sharepoint.com/{PortalSiteRelativeUrl}/pVid/SharePoint%20Training%2002.mp4.PNG?VideoPreview=1"
},
"MediaLengthInSeconds": 2025,
"PublishingStartDate": null,
"PublishingExpirationDate": null,
"VideoWidthInPixels": null,
"VideoHeightInPixels": null,
"VideoRenditionLabel": null,
"VideoRenditionBitRate": null,
"VideoSetDescription": null,
"VideoSetOwnerId": 6,
"VideoSetOwnerStringId": "6",
"VideoSetShowDownloadLink": null,
"VideoSetShowEmbedLink": null,
"PeopleInMediaId": [ 6 ],
"PeopleInMediaStringId": [ "6" ],
"VideoProcessingStatus": 2,
"VideoCategory": [
{
"Label": "Meeting",
"TermGuid": "33899e31-576e-4254-a9cf-d53bac59935a",
"WssId": 1
}
],
"ID": 4,
"Created": "2017-04-28T12:11:12Z",
"AuthorId": 6,
"Modified": "2017-04-28T12:46:07Z",
"EditorId": 6,
"OData__CopySource": null,
"CheckoutUserId": null,
"OData__UIVersionString": "1.0",
"GUID": "967c3164-8d0e-4eeb-a1db-d40c839156fb"
}
]
}
Search Index
All video channel Site Collections are covered by Search Crawler so, you can retrieve data from Video Portal with SharePoint Search Query.
Search Query ContentTypeID:0x010100F3754F12A9B6490D9622A01FE9D8F012** will return all video stored in Video Portal:
SharePoint Search as Video Data Source
The SharePoint search index contains all metadata of the video files. You can use them in your custom solutions.
Managed properties according to Cloud Video ContentType:
Managed Property | Description |
---|---|
Title | |
Description | |
SiteID | Video channel ID |
SiteTitle | Name of video channel |
UniqueId | Video ID |
PictureThumbnailURL | Video thumbnail |
PeopleInMedia | Peoples in video |
MediaDuration | Duration, sec |
Embedded video
At last HTML-code of embedded video ( are from table above):
<div style="max-width: 853px;">
<div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;">
<iframe width="853" height="480"
src="https://{tenantName}.sharepoint.com/portals/hub/_layouts/15/VideoEmbedHost.aspx?chId=**{SiteID}**&vId=**{UniqueId}**&width=853&height=480&autoPlay=false&showInfo=true"
allowfullscreen data-spresponsive
style="position: absolute; top: 0; left: 0; right: 0; bottom: 0; height: 100%; max-width: 100%;">
</iframe>
</div>
</div>
That's it.