Stream (Classic) to Stream ( on SharePoint) migration tool


The migration tool is now available under public preview to all customers except those in GCC and some customers whose Stream (Classic) tenant is in the USSO and CACT data centers (some customers in US, Canada, West Indies, & South, Central, & Middle America). The timeline to enable the tool in GCC is still to be determined. If your tenant maps to the data center USSO or CACT that doesn’t have the tool enabled, you’ll see errors when you try and run the tool. We are working to resolve the problems with these specific data centers as fast as possible.

If you have questions or feedback about the migration tool you can join our Customer Office Hours to talk directly with our engineering team.

This article explains migration tool concepts and how it moves the data. We recommended you go through this article before you see the steps by step guide to run the tool article.

Containers & default destination

The Stream migration tool is built on the Microsoft Migration Manager platform (MMP). It's the go-to tool for migrating any data into SharePoint and OneDrive. Read more about Migration Manager. The Migration Manager works with containers (a group of files) and source and destination connectors. We've built a source connector into Migration Manager to pull content from Stream (Classic) and migrate it into OneDrive and SharePoint.

We divided videos in Stream (Classic) into five container types:

Container Name Classic Content Mapping
Microsoft 365 Group Videos in Microsoft 365 Groups and channels inside them
User Videos in ‘My Content’ in Stream (Classic). Each user who has published at least a video and not associated that video with a group or channel will display as one container in the tool. (Recorded Teams meeting recording count as published videos.)
Stream group Videos in Stream only groups. These containers only show up for customers that migrated from Office 365 Video to Stream (Classic).
Companywide Channel Videos in companywide channel
Orphaned [Not available in Preview] Video with no owner. Videos of uploader who left the organization combined into 1 or multiple containers

We'll choose the default destination for Microsoft 365 Group and User containers, which admins can override. Below are the ‘natural’ defaults. Admins can change the destination of a single container or use the CSV upload (.csv file) feature to change the destinations in bulk. The third column below contains information about the folder hierarchy that will be created in OneDrive or SharePoint when the container is migrated.

Container Types Default Destination Folder Hierarchy
Microsoft 365 Group Already existing Microsoft 365 Group SharePoint team site A folder ‘Stream migrated videos’ will be created in root doc library. Each channel in the group will become a folder under ‘Stream migrated videos’ folder. Teams meeting recording of the channel would be further under the ‘Recordings’ folder
User (My Content) A user's OneDrive for Business (ODB) A folder ‘Stream migrated videos’ will be created in User’s OneDrive for business (ODB). Teams meeting recordings will be placed further in a ‘Recording’ folder inside it
Stream-only group None (Admins can choose an existing SharePoint site or create a new one) Same as Microsoft 365 group.
Companywide-wide channel None (Admins can choose an existing SharePoint site or create a new one)

Same as Microsoft 365 group. Each companywide channel will appear as a folder inside ‘Stream migrated videos’ folder.

We recommend Admins divide companywide channels across multiple new or existing sites to avoid reaching the SharePoint permissions quota limit.

Orphaned * None (Admins can choose an existing SharePoint site or create a new one) Same as Microsoft 365 group. In most cases, organization’s all orphaned videos will go in a single container. Organizations with considerable number of orphaned videos may have multiple orphaned containers

* Not available in preview. These videos won't be visible in migration tool. If you want to migrate these, a workaround is to assign owners to such videos, and they'll be discovered under corresponding container in the tool. You can get this information in the Stream (Classic) inventory report.

M365Group Container Hierarchy

User Hierarchy Companywide Channel Hierarchy

Note: The names of folders created above will only be available in English.

Rules & constraints

  • The tool will migrate only certain metadata on the video. The remaining metadata will be lost and won't be recoverable.
  • To get a complete list of metadata that migrates with video check Metadata that migrates with video section below.
  • Here are a few constraints on moving videos that belong to a group or user:
  • Videos that belong to a group: All videos in a group move together. They'll be moved to the already existing Microsoft 365 group if defaults are chosen, or any other site chosen by the admins
  • Videos that belong to a user: Only videos not associated with a group or channel will be moved via ‘User’ container and land in the user's ODB if defaults aren't over-ridden. Videos for which a group was assigned the viewer and not the owner role will move via ‘User’ container as well. For complete details, read about destination locations
  • Videos associated with multiple groups will move physically into one location. Permissions are granted to other groups' members so they can watch videos and access them through search inside ODSP.
  • Once migrated, videos and containers are hidden (soft deleted) on Stream (Classic) and are only visible on Stream (on SharePoint). Migrated content will be hard deleted from classic 180 days post migration.
  • Any content that remains in Stream (classic) after the migration is complete, will be deleted at Stream (Classic) end of life.
  • If you want to disable Stream (Classic) when you are done migrating, see the disable tenant section of the migration settings.
  • For now, all videos in a container migrate. However, coming soon we'll introduce ‘Partial container migration’ where only a few videos from a container will migrate.
  • The tool can handle max 50K containers at once and will auto-discover 40K. Containers will be visible in this order: Microsoft 365 groups, Stream groups, Companywide channels, Users.
  • When you use the tool for the first time, it may take up to 15 minutes for your Containers to start appearing in the Scans tab.

Metadata that migrates with videos

  • Basic metadata - Name, Created by, Published date, Last modified date, Type of content (Video, Teams meeting recording, or Live event)
  • Permissions: We mirror permissions between videos on Stream (Classic) and Stream (on SharePoint) to maximum extent possible. But there are differences in two versions, based on physical location construct and edit vs view rights. This is especially true for videos associated with multiple groups, Stream groups, and companywide-wide channels. In any conflicting scenario between the two versions, we follow the principle of least access. For complete details, read about permissions.
  • Transcripts - All transcripts on the video including multiple subtitles and caption files will be migrated
  • Thumbnails - Thumbnails on the video including custom ones will migrate
  • Classic URL support: Existing links to Stream (Classic) redirect to play from new migrated locations in SharePoint and OneDrive.
  • Classic Embed support
    • Video embeds will be supported and played from the migrated destination locations. Embeds will show the link of the migrated video, which can be played in a new tab. [Coming in Q1 CY 2023] video embeds will play inline.
    • Channel embeds will be partially supported, by showing a link to the migrated destination folder, which can be opened in a new tab.
    • All of Stream or Stream search embeds will not be supported, these embeds will not show videos that have been migrated. These embeds will stop working once Stream (Classic) is retired.


Anything that isn't in the list above will NOT be migrated. For details refer to the last column ‘Migration Notes’ in the spreadsheet that compares features between the two versions of Stream

Reports available

There are a few reports available via the tool in Migration manager and a few via Stream (Classic) admin center.

Stream (Classic) video report

To help you understand what videos are in Stream (Classic) we provide an inventory report listing out information about every video in the system. Refer to Stream (Classic) video report article for details on how to run the report.

Scan log and Summary

The Scans log is a container-level report available in the Scans tab. It includes details about each scanned video, including—its size, name, source path, and total & unique permissions/ACLs on it.

To download the log: On the Scans tab, pick a container then select the Download Log button that appears in top header.

Example of a Scans log

The Scans summary is an aggregate-level report available in the Scans tab and includes—container name, size, scanned videos inside it, unique permissions on the videos, number of videos, and total data size.

To download the summary: On the Scans tab, select the Download Report button that appears in the top header.

Example of a Scans summary

Migration log and Summary

The Migrations log is a container-level report available in the Migrations tab. The report provides details about each video that has been migrated including- its size, name, destination folder, path, if migration succeeded and the total data size of migrated videos.

Example of a Migration log

To download the log: On the Migrations tab, select a container and then select Download log button that appears in the top header. This opens an overlay, which shows a container's current and historic logs. Select a log and select ‘Download CSV’ to download the log for selected instance.

The Migration summary is an aggregate-level report available in the Migrations tab. It includes details like container name, folder created, videos successfully migrated, videos skipped or failed, data transferred successfully, and the size of data failed or skipped.

To download the summary: On the Migrations tab, select the Download Report button that appears in the top header.

Example of a Migration summary

Add Containers manually

This feature is useful if you're a large organization and have more than 40,000 containers in your Stream (Classic) tenant. As mentioned in the ‘Rules & Constraints’ section, tool will auto discover only 40,000 containers, and there are chances that the containers you wish to migrate aren't discovered. You can migrate such containers by adding them manually. You can add either a single container or multiple containers in bulk via ‘Upload CSV file’ option.

Since the tool can show a maximum of up to 50,000 containers, you can manually add up to 10,000 containers without deleting any auto discovered container. At any given time both the Scans and Migrations tab can't have more than 50,000 containers.

How to add containers

Refer to the Add container documentation.

Add Containers button Add Containers pane

Know issues: The name of the container isn't visible in the tool, but it doesn’t affect the migration in any way.

Partial migration

Coming in Q1 CY2023

The tool currently supports migration at a container level, either all or no videos in the containers migrate. But if you're a large organization, there could be a scenario where you want to take only a few videos in a container. If you refer to the ‘Migration strategy’ section, and in case you want to migrate only non-TMRs or latest content that is being viewed, partial migration would be required. We're building this feature and it will light up by Q1 CY23.

In the future when partial migration of containers is supported, you'll need to scan all content in your Stream (classic) tenant and then apply filters to choose the videos you need to migrate. We're planning the following filters:

  1. Publish date: Takes date value. Filters out videos published after the selected date
  2. View date: Takes date value. Filters out videos viewed after the selected date
  3. Views: Takes number value. Filters out videos with Views greater than the selected number
  4. Content Type: Takes three values; ‘Teams meeting Recording’, ‘Live event’ and ‘Video on demand’. Useful in case you need to migrate only a specific type of videos.

If you have scenario for partial migration where the above filters won't suffice, please discuss that case with us. Write to us at

Next steps

Now that you understand the concepts of the migration tool you should:

See also

Migration strategies guide

Adoption strategies guide

Overview of migrating to Stream (on SharePoint)

Migrate your videos from Stream (Classic) to Stream (on SharePoint)

Migration details

Migration tool details

More information on Stream (on SharePoint)

Features and roadmap of Stream (on SharePoint)