The more I work with Microsoft Stream, the more I love this tool. With working with this so much, I get asked this particular question a lot, “How do I create an executive town hall using stream?” I figured it would be good to write this post about how to accomplish this since this isn’t easily discoverable online.
Microsoft Stream is the ideal tool to use when creating a town hall experience because we get interaction and a lot of AI features that make this pretty sweet. We have three options for hosting our live events in the Office 365 platform: Microsoft Teams, Yammer, and directly in Microsoft Stream. Live Events in Microsoft Teams provides some pretty cool features. These events can be consumed by people external to your organization, if you’d like. They can have moderated questions and comments. There is a simple interface for producing the event where you can choose to have a full screen layout for video or screen content or a large pane for content and a small pane for presenter video for example. These events also provide some of the power of Microsoft Teams because you have the option to download attendee analytics after the event to see how many people watched the event, and when they connected and disconnected. The one drawback of using Microsoft Teams, at this point, is that the video doesn’t make it into Microsoft Stream. To get the power of Microsoft Stream you need to download the video and upload it into Stream manually. For all live events in Office 365 you have two options for producing the content that your audience will view. The first is to use the Microsoft Teams live event tool to control the content. This option is available for live events hosted in Microsoft Teams and Yammer. The second option is to use an external encoder. This option is available for all three hosting options. The videos produced with this method will be available in Microsoft Stream after the live is complete. This option provides the most flexibility in controlling the video that is generated. The tools to do this are plentiful and varied. You can use an app on your phone as the encoder or an application on a computer. Today we are going to be talking about using Yammer with the external encoder method, and we’ll be using Open Broadcaster Software, OBS, available from https://obsproject.com. OBS is an open source video recording and live streaming tool that provides a lot of power. It can be a bit daunting at first but once you figure out the basics you can look like a professional in no time.
Setting Up Your Live Event
To get started with live events in Yammer you need to make sure that your Yammer network is using “Office 365 Connected Yammer Groups.” If you are not using Office 365 connected groups then you will not see the option for creating live events in your Yammer groups. This can be enabled in the settings for your network. Go to the Security Settings section and then on the bottom of the page you will find a section titled “Office 365 Connected Yammer Groups”. The option will look like the image below when enabled.
Make sure you go through the Learn More link before enabling this feature because there are some things that behave differently in Yammer once this is enabled.
Once this is enabled the owner of any Office 365 connected Yammer group can create a live event from the menu on the right side of the page.
From the image you can see that we have a past event that employees can go view and since I am the owner, I can create a live event. When you click on the “Create a Live Event” link it will launch Microsoft Teams to configure the event.
Fill out the information about the event and then click next to continue the setup. Here you’ll be presented with the two producing options. For our setup we are going to use the “External Encoder” option. You can choose whether you want captions to be automatically generated for you after the event.
Once you have the settings the way you want them you can click Schedule and your event is ready for the encoder setup. You can schedule these meetings before they happen and your users will see the details before the event starts.
Your users can also start the discussion before the event starts if you would like to get some possible questions or sentiment before the town hall meeting.
Streaming the Event
Once the event has been scheduled, we can work on getting our encoder setup. As mentioned earlier, we will be using Open Broadcaster Software. When you download and install this from https://obsproject.com you get a blank slate. This slate allows you to add all sorts of different scenes, collections of items to display, and to simply switch between them. This is not going to be an extensive article on OBS since I am sure those already exist. For this article I am going to setup two scenes, a full camera view and a combined camera and screen capture.
To do this start OBS and you are presented with an empty scene.
On our scene I am going to add the camera source by clicking on the plus button in the sources section. Then select “Video Capture Device”
This will bring up a configuration menu to select the video capture device. This can be a USB camera plugged into the computer or the input from a video capture card. Once this is configured the way you like select ok and you can now move and adjust the source as desired. I’ll follow a similar approach to setup the screen and camera scene. Once that’s complete, I end up with something like this. Now I am ready to begin my streaming.
I need to get some information from Microsoft Teams to finish configuring OBS for the stream. If you go into Yammer and click on the event and click to edit it, you will be taken into Microsoft Teams for the event. To get the information we need click any of the join links. Your screen will look something like this after you click start setup.
On the right-hand side you have the information that the encode needs. You can copy the ingest URL and we’ll take that to OBS. In OBS Click on the Settings button on the bottom right side of the screen. From there click on the Stream section and select “Custom Streaming Server” for Stream Type. Paste your server ingest URL into the URL field. For this to work we also need a stream key, but Microsoft Teams doesn’t give us one. The key is the last part of the URL, so if my URL was rtmp://blahblah-blah.channel.media.azure.net:1935/live/StreamKeyIsHere, the stream key is the last part after the /live/. Once you have this information added to OBS click ok and we are ready to test. To test our stream, click on “Start Streaming” in the controls section of OBS that is above the settings button. After a slight delay your view in Microsoft Teams should switch to a preview of what you have configured in OBS. When you are satisfied click Start event to make your event live and people will be able to see the stream. When the event is done click stop event and the recording will be available in Yammer and Microsoft Stream. While the event is running the experience is like the following.
As users are watching the live stream other people’s comments will automatically load onto the page and users can scroll down to read the comments and discussion and the video will keep playing but move to the lower right section of the page. Thus allowing users to follow the conversation without missing anything in the stream.
In the times I have worked with doing live events I have discovered that there are some common-sense items that tend to get overlooked.
- Run a test event on the same hardware and the same network configuration that will be used during the main event. This helps alleviate some issues and you can resolve anything that comes up without all the pressure.
- Be mindful of network bandwidth. Even though the video in Microsoft Stream is adaptive you can bring down your network if the traffic becomes too much.
- Don’t be afraid to experiment with different scenes, you may come up with something pretty cool.