Creating training sessions & videos with MS Stream and OBS

In this article, I’ll go through the steps required to make a live event with MS Stream. Microsoft stream is a service included with Office 365 that allows organizations to have a centralized place for videos. You can have channels to organize content, and you can publish videos globally to everyone in the organization. You can also secure videos and target specific users by having videos specifically for Office 365 groups (and those groups can have video channels as well).​​ 

Another feature of MS Stream is its ability not only to upload and organize videos, but also holding live events. Those live events can vary in their purpose, either to broadcast a live event where someone would be speaking on a stage, or holding an interview with someone, or as simple as providing a video training for end users. The nice thing about these live events is that after they’re finished, you can save them along with other uploaded videos and tag them, so they can be discovered easily.​​ 


Let’s start with our use case, by first creating a group for SharePoint Training for our organization.​​ To begin with MS Stream, you can find it in the app launcher in Office 365, or you can go to​​  ​​ On the landing page of MS Stream, you can find links in the top navigation bar to find your content or discover content created by other users. There’s also a​​ Create​​ button to create new content, let’s click it and choose Group.​​ 

I’ll just name the group: “SharePoint Training Videos”. In the group creation dialog, I’ll make the group as public, so anyone in the organization can find these videos, but I’ll turn off members contribution, so only admins can add content to this group.​​ 

Now, let’s start holding our first SharePoint training session for end users. Our goal is to provide them with training, and after that have this training session uploaded to this group, in a specific channel, and tagged with some tags to make it easy for them to find it later on.​​ 


Let’s try to create a new live event and let’s see what we’ll need to do. From the​​ Create​​ button in the top navigation, let’s choose “Live event”. We will be presented with a page to fill the live event information. I’ll name the event:​​ “Create a workflow for SharePoint with Flow”.​​ I’ll add the description as: “Use Microsoft #Flow to create a workflow in #SharePoint”. This way both​​ Flow​​ and​​ SharePoint​​ will be tagged and users searching for Flow or SharePoint​​ later​​ will be able to find this video. Next,​​ I’ll upload an image and choose a language. The language chosen will help later to build the transcript for the video, Microsoft​​ currently​​ supports both English and Spanish​​ languages​​ to build the transcripts.​​ 

Next choose the date of when this event will be held. The details section should look something like this:​​ 


Now click on the permissions section, and choose to save this video in “My groups”, in the textbox search for​​ SharePoint Training Videos​​ group we created earlier, and click on Create a channel:​​ 


Give the channel a name, for me I chose:​​ “Power Users Videos”,​​ and​​ provide​​ an image if you want, and click​​ Create. Now the video for this event will be added to the SharePoint Training Videos group, inside the Power Users channel. Finally click on​​ Publish event.​​ 

Now we’ve done the basic steps that are necessary​​ for​​ any live event.​​ Microsoft Stream works like any other platform, just like Youtube, Facebook and Twitch, they’re used as a server to host the stream, but you need a special program called Encoder to actually stream to this server.​​​​ Microsoft provides out of the box support for some Encoders, but you need to pay for them to be able to stream,​​ they’re listed in the​​ select encoder​​ dropdown list in the event page.​​ 


Most streamers use OBS which is a free open source program for live streaming used by majority of streamers, and it’d be nice if we can use the same program with MS Stream as well, for that we’ll choose​​ Configure manually​​ from the list of encoders.​​ 


Make sure to install OBS and start configuring it to work with MS Stream. Once you install OBS you’ll see a message like this:​​ 


Click No. In the bottom right section of OBS, click​​ Settings:​​ 


In the Output section in the settings page, change the Streaming settings to be like the following:​​ 


In the audio settings, choose Sample Rate as 48khz.​​ Now the last step is in the Stream section. Change the dropdown list value to​​ Custom…​​ We need to get the server name from the live event page. Go back to the live event page,​​ click on Start setup in the live event page, and check the​​ Secure Connection (SSL),​​ and copy the server ingest URL:​​ 



Back to OBS, paste this url in the Server textbox, and for the key, it’s not needed by stream, but needed by OBS, so you can provide any random string, like YoStream.​​ 

Now OBS will need to have at least 2 sources to start the stream, video source and audio source. A source is something that can be used during the stream, like video, audio, view desktop, etc. We can add these sources from the​​ Sources​​ section​​ at bottom of the​​ OBS​​ landing page:​​ 


Click on the plus sign and choose​​ Audio Input Capture.​​ You can keep the default name as it​​ is and​​ choose the microphone device you wish to use for the stream.​​ Next choose​​ Video Capture Device, accept the default name and confirm. Finally click the plus sign and choose​​ Display Capture, then choose which screen you’d like to share in case you have multiple monitors. If at any point you need to change the screen to share, you can double click on the source in the sources​​ list and​​ change the settings.​​ Also,​​ you don’t need to actually turn on the video, it’s only required to stream, but you can turn it off by clicking on the visibility icon in the Sources list:​​ 

You can do the same thing with the Display Capture to turn off screen sharing.​​ 

Now you’re good to go, you only need to do these settings once, and they’ll be saved for the next time you wish to do a live event as they’re saved in the user settings with OBS.​​ 


Now in MS stream, if you click on Start Setup:​​ ​​ 


MS Stream will know that you have OBS Streaming running and will display a button for you to start the event. (If you don’t have OBS streaming running, it won’t be able to show you this option)

When you click Start event, you’ll go live​​ and users can see your event (or your desktop and hear you in this case).​​ 

Note that there’s a delay of one minute between OBS and MS Stream, so what you say now users will hear in 60 seconds. Also if you stop streaming in browser, it’ll disconnect in OBS, but if you connect it again in browser, OBS will be able to pick it up, so no additional work required in OBS if you disconnect and connect from MS Stream, this is all possible because stream uses the​​ RTMP protocol, which stands for Real-Time Messaging Protocol.​​ You can see this in the url provided by stream:​​ rtmps://..​​ 

This protocol is responsible for having a live connection between the streaming server (MS Stream) and the streaming encoder (OBS). That’s how it’s able to pick up the stream from OBS if you disconnect and connect again.​​ 

I hope this helps you setting up OBS with MS Stream, it’s a fun combination and very useful for organizations with many training/orientations videos for their employees.​​ 


Leave a Reply

Your email address will not be published. Required fields are marked *