Channels
17 TopicsStream Classic Containers and Permissions
We are in the early stages of planning to migrate videos from Stream (Classic) to Stream (on SharePoint). One of the Groups we have has a total of 250+ videos. 75 videos are in the group container, while 175 videos are in different user containers. What is the best way to get all of those videos in the group container to have them migrate together? Any tips, insights, and ideas are appreciated!Stream(classic) migration containertype to New Stream
Currently Stream(classic) mostly we have 3 types of containers, which are: -CompanywideChannel -M365Group -User What should we do for "CompanywideChannels" without an owner(orphan)? I mean, I can't find the same environment or similar on SP with the same purpose as we had before, thoughts?? I know the documentation, and what MS recommend: Container Types Default Destination Folder Hierarchy 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. What I'm going to do is create a new SP(subsite) and store all of the content there. Does anyone pass through this situation? Thx in advanceAdmin functions in Stream on Sharepoint
Hi Classic Stream content creation and Channel functions are controlled in the Classic Stream Admin portal. Is there any documentation please on what the new Stream on Sharepoint will have in terms of admin functions and what organisations need to consider when the new Stream is pushed out. For example, Will we have the ability to control content creation much like we do now? As far as I can make out Stream channels will be a thing of the past, but no docs seem to say this. Can anyone help please Thanks Re-posting after a few months of waiting for a response from MicrosoftPowerShell script to audit and export Channel content details of your Office 365 Stream
Following the previous script developed to audit Office 365 Video Portal: https://techcommunity.microsoft.com/t5/Office-365-Video/PowerShell-script-to-audit-and-export-all-content-details-of/m-p/352594#M830 I worked to retrieve something equivalent with Office 365 Stream. There is not yet public API available into Office 365 Stream, MS communicated that API delivery Q2 or Q3 2019. But O365 Stream portal (https://web.microsoftstream.com) is using internal API used into Stream internal pages like the following examples: List of O365 Groups: Page: https://web.microsoftstream.com/browse?view=group API: https://euno-1.api.microsoftstream.com/api/groups?xxx List of videos for one O365 Group: Page: https://web.microsoftstream.com/group/{groupid}?view=videos API: https://euno-1.api.microsoftstream.com/api/groups/{groupid}/videos?xxx List of Channels Page: https://web.microsoftstream.com/browse?view=channel API: https://euno-1.api.microsoftstream.com/api/channels?xxx Those API, giving results in JSON format, can be used only if you connect O365 Stream first to start your web session, and because that solution is only to wait official Public API, I decided to stay in that Web Browser usage mode. The process to respect step by step (steps are placed into the PowerShell script): Open O365 Stream Portal into your Web Browser (with your admin credentials) - https://web.microsoftstream.com/?NoSignUpCheck=1 With the same Web browser (other tab or other windows), open the following links: FROM 0 to 100: https://euno-1.api.microsoftstream.com/api/channels?$top=100&$orderby=metrics%2Fvideos%20desc&$expand=creator,group&api-version=1.3-private&$skip=0 FROM 100 to 200: https://euno-1.api.microsoftstream.com/api/channels?$top=100&$orderby=metrics%2Fvideos%20desc&$expand=creator,group&api-version=1.3-private&$skip=100 ... : Stop when you have no value into the page Save each of that JSON Results into the work folder (C:\PSScript\ChannelsJSON\) channels100.json channels200.json … PowerShell script will generate an Aggregated CSV file containing O365 Stream Channel details Before execute the script, you have to set the parameters with the correct value (depending on total channels you have into your O365 Stream and where you place the PowerShell script): [int]$Loopnumber = 2 # << 2 indicates between 100 and 200 channels [string]$PowerShellScriptFolder = "C:\PSScript" [string]$PowerShellScriptFolder = "C:\PSScript" [string]$streamJSONfolder = Join-Path -Path $PowerShellScriptFolder -ChildPath "ChannelsJSON" Remove-Item -path $streamJSONfolder\* -include *.json -Force -Recurse [string]$StreamPortal = "https://web.microsoftstream.com/?NoSignUpCheck=1" [string]$StreamPortalChannelRoot = "https://web.microsoftstream.com/channel/" [string]$StreamAPIChannels100 = "https://euno-1.api.microsoftstream.com/api/channels?NoSignUpCheck=1&`$top=100&`$orderby=metrics%2Fvideos%20desc&`$expand=creator,group&api-version=1.3-private&`$skip=" [int]$Loopnumber = 2 Write-host " -----------------------------------------" -ForegroundColor Green Write-Host " =====>>>> PortalURL:", $StreamPortal Start-Process -FilePath 'iexplore.exe' -ArgumentList $StreamPortal Write-Host " Enter your credentials to load O365 Stream portal" -ForegroundColor Magenta Read-Host -Prompt "Press Enter to continue ...." for($i=0;$i -lt $Loopnumber; $i++) { Write-host " -----------------------------------------" -ForegroundColor Green $StreamAPIChannels100 = $StreamAPIChannels100 + $($i*100) Write-Host " =====>>>> First 100 channels (from", $($i*100), "to", $(($i+1)*100), "):", $StreamAPIChannels100 Start-Process -FilePath 'iexplore.exe' -ArgumentList $StreamAPIChannels100 Write-Host " Save the 100 channels (from", $($i*100), "to", $(($i+1)*100), ") into the folder $streamJSONfolder respecting the name channels100.json" -ForegroundColor Magenta Read-Host -Prompt "Press Enter to continue ...." } Write-host " -----------------------------------------" -ForegroundColor Green $ChannelJSONFiles = Get-ChildItem -Path $streamJSONfolder -Recurse -Include *.json [int]$channelscounter = 0 $ChanneljsonAggregateddata=@() $data=@() foreach($channelsjson in $ChannelJSONFiles) { Write-host " -----------------------------------------" -ForegroundColor Green Write-Host " =====>>>> JSON File:", $channelsjson, "- Path:", $channelsjson.FullName -ForegroundColor Yellow $Channeljsondata = Get-Content -Raw -Path $channelsjson.FullName | ConvertFrom-Json $ChanneljsonAggregateddata += $Channeljsondata Write-host " -----------------------------------------" -ForegroundColor Green #Write-Host " =====>>>> Channel JSON Raw data:", $Channeljsondata -ForegroundColor green #Read-Host -Prompt "Press Enter to continue ...." } foreach($myChannel in $ChanneljsonAggregateddata.value) { if($myChannel.metrics.videos -gt -1) { $channelscounter += 1 $datum = New-Object -TypeName PSObject Write-host " -----------------------------------------" -ForegroundColor Green Write-Host " =====>>>> Channel (N°", $channelscounter ,") ID:", $myChannel.id, "- isDefault Channel:", $myChannel.isDefault -ForegroundColor green Write-Host " ---- Channel Name:", $myChannel.name,"- Channel Portal URL:", $($StreamPortalChannelRoot + $myChannel.id) Write-Host " ---- Channel CreationDate:", $myChannel.created,"- Channel ModificationDate:", $myChannel.modified Write-Host " =====>>>> Channel Metrics Followers:", $myChannel.metrics.follows, "- Video Total:", $myChannel.metrics.videos -ForegroundColor Magenta Write-Host " =====>>>> O365 Channel Creator Name: ", $myChannel.creator.name , " - Email:", $myChannel.creator.mail -ForegroundColor Magenta Write-Host " O365 GROUP Name:", $myChannel.group.name, "- ID:", $myChannel.group.id -ForegroundColor Yellow Write-Host " =====>>>> O365 Group ID: ", $myChannel.group.id , " - Group Email:", $myChannel.group.aadGroup.mail -ForegroundColor Magenta Write-Host " =====>>>> O365 Group Metrics Channel total:", $myChannel.group.metrics.channels, "- Video Total:", $myChannel.group.metrics.videos -ForegroundColor Magenta $datum | Add-Member -MemberType NoteProperty -Name ChannelID -Value $myChannel.id $datum | Add-Member -MemberType NoteProperty -Name ChannelName -Value $myChannel.name $datum | Add-Member -MemberType NoteProperty -Name ChannelURL -Value $($StreamPortalChannelRoot + $myChannel.id) $datum | Add-Member -MemberType NoteProperty -Name ChannelDefault -Value $myChannel.isDefault $datum | Add-Member -MemberType NoteProperty -Name ChannelFollowers -Value $myChannel.metrics.follows $datum | Add-Member -MemberType NoteProperty -Name ChannelVideos -Value $myChannel.metrics.videos $datum | Add-Member -MemberType NoteProperty -Name ChannelCreatorName -Value $myChannel.creator.name $datum | Add-Member -MemberType NoteProperty -Name ChannelCreatorEmail -Value $myChannel.creator.mail $datum | Add-Member -MemberType NoteProperty -Name ChannelCreationDate -Value $myChannel.created $datum | Add-Member -MemberType NoteProperty -Name ChannelModificationDate -Value $myChannel.modified $datum | Add-Member -MemberType NoteProperty -Name O365GroupId -Value $myChannel.group.id $datum | Add-Member -MemberType NoteProperty -Name O365GroupName -Value $myChannel.group.name $datum | Add-Member -MemberType NoteProperty -Name O365GroupEmail -Value $myChannel.group.aadGroup.mail $datum | Add-Member -MemberType NoteProperty -Name O365GroupTotalChannels -Value $myChannel.group.metrics.channels $datum | Add-Member -MemberType NoteProperty -Name O365GroupTotalVideos -Value $myChannel.group.metrics.videos $data += $datum } } $datestring = (get-date).ToString("yyyyMMdd-hhmm") $fileName = ($PowerShellScriptFolder + "\O365StreamDetails_" + $datestring + ".csv") Write-host " -----------------------------------------" -ForegroundColor Green Write-Host (" >>> writing to file {0}" -f $fileName) -ForegroundColor Green $data | Export-csv $fileName -NoTypeInformation Write-host " -----------------------------------------" -ForegroundColor Green You can use that solution as you want and modify it depending of your case and request. Fabrice Romelard French version: http://blogs.developpeur.org/fabrice69/archive/2019/02/21/office-365-script-powershell-pour-auditer-le-contenu-de-son-office-365-stream-portal.aspx Update March 22 2019: Stream root URL used for Internal API can be different based on tenant region. I collected some URLs as much as I can (if you have anyone new, please to add it in comment to update that list) Europe: https://euno-1.api.microsoftstream.com Asia: https://aase-1.api.microsoftstream.comManually Sorting Videos in Channels
I find it hard to believe that we can't manually sort videos in channels (or playlists) in Stream -- it seems to me that it would be a top priority. I have a couple of questions with regard to that: Does it stop you from using Stream? How are you sorting videos in channels if you want/need them to be in a specific order? Cheers, GrahamMoving multiple videos into a channel.
When our videos moved over from Microsoft Video to Stream, we ended up with lots of groups. I'd like to consolidate some of these groups into a single group with multiple channels. Is there a way to move (relabel?) dozens of videos at the same time? I'd be happy even if I have to do it one group at a time as opposed to one video at a time.Question about MS Stream with MS Teams
Hey, team. Quick question, if I add a MS Stream Channel to a MS Teams Channel, will it notify the MS Teams Channel every time a new video is added to the MS Stream Channel? Or, as an alternative, is there a way that the MS Teams Channel receives a notification every time a new MS Stream video is assigned/pinged to it? Sorry if it's confusing, I couldn't find a simpler way to explain it. Thanks in advance