Office 365 Video Portal. Inside Out

Thursday, July 27, 2017

Office 365 Video Portal is an intranet place where people can storage 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).

Office 365 Video Portal
Office 365 Video Portal

Video Portal contains channels and channel contains videos. You can not neither share single video between channels nor upload video directly to Video Portal. So logical hierarchy is like this:

Office 365 Video Portal logical hierarchy
Office 365 Video Portal logical hierarchy

Administrator can create channels and manage permissions. Publisher can simply drag and drop files into the web browser or upload from mobile device. Video Portal allows to share video in one click. For mobile devices there is a separate application (Office 365 Video):

Office 365 Video iOS Application
Office 365 Video iOS Application

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 less hops, away. This improves video playback speed; however, it doesn’t change the network requirement to play the video.

Storage

Video Portal has no any 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 marekting inforamtion 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 adress like this:

https://{tenantName}.sharepoint.com/portals/hub

Video Portal

Video Portal (https://{tenantName}.sharepoint.com/portals/hub) is a SharePoint Site Collection. You can find out it in SharePoint Admin Center:

SharePoint Online Site Collections
SharePoint Online Site Collections

Video portal is just well known PointPublishing Site Collection which contains 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 document library and store documents in it.

Channel

And what about channels?

Channel is also a Site Collection! But hidden one. All information about video portal channels are stored in a hidden list located at address:

https://{tenantName}.sharepoint.com/portals/hub/pSiteList
Hidden list of video channels
Hidden list of video channels

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:

Content of video channel
Content of video channel

Video

Video files and thumbnails of a channel in a single SharePoint List:

Video files of channel
Video files of channel

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:

Video search results
Video search results

SharePoint Search as Video Data Source

SharePoint search index contains all metadata of video file. You can use their 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 ({properties} 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.

Share

Comments