Microsoft Stream utilizes a simplistic version of an oEmbed implementation in order to allow applications to dynamically get the embed code of a given video or channel. Because this is a simplistic verion of the oEmbed specification, and for security purposes, the returned values for title, thumbnail, description, author information, etc, is all listed as generic information.
An application can simply embed a video or channel from the returned oEmbed response, and the metadata information will be displayed automatically after a known authorized user sees the content. As a reminder, only authorized users are able to see secure content in Microsoft Stream, regardless of where it is embeded.
This is an experimental endpoint and should be treated as such.
An example scenario
An example scenario of how this can help an application developer is the Microsoft Stream collaboration with OneNote or Yammer. In both cases, a user simply adds a url from Microsoft Stream to either their note or conversation thread.
The application then takes the input Microsoft Stream URL and gets the embed code from the html value of the oEmbed response. The application renders the embed code so that an authorized, signed in user can watch content inline.
Detecting a Microsoft Stream URL
Detecting a Microsoft Stream URL is easy. Video URLs follow the pattern of:
Microsoft Stream channels follow the pattern of:
The Microsoft Stream oEmbed endpoint can be reached at https://web.microsoftstream.com/oembed with addition of the supported query parameters.
string: url encoded string
URL for a Microsoft Stream video or channel. Video urls from Office 365 Video are also supported.
When true, the video will automatically start playing as soon as the user is logged in, if supported by the platform. Applies to videos only. Default is false.
width in pixels. It is recommended that the width to height ratio is 16:9. Default is 640px for a video.
height in pixels. It is recommended that the width to height ratio is 16:9. Default is 360px for a video.
Setting preload to auto automatically fetches the video chunks when the platform allows it. Setting preload to none waits until the user selects the play button before fetching the video chunks. Default is none.
Set this parameter to start the video at the value in seconds. Applies to Microsoft Stream videos only.