About a week ago, I came across the blog post Today I Learnt: About Microsoft Teams Live Events. It runs over the basics of Microsoft Teams Live Events and how to run them.
I use Microsoft Teams at work, but I totally didn't know that it had a live-streaming platform built in. I wanted to play around with it and take it for a spin, but I'm not exactly running company-wide virtual conferences, so I settled for the next best thing: Pokémon. Could I use Teams to stream Pokemon?
I have a Nintendo Switch, and a while ago I picked up an Elgato Game Capture HD60 S on sale from EB Games, which can be used to pipe the Switch into a computer. Elgato have some neat software to deal with this, imaginatively called Elgato Game Cature HD.
So, let's try this. The first thing I need to do is, in Microsoft Teams, create a live event. To do this, we go to the Calendar tab, then select New Meeting > Live Event.
Next, it will ask us for settings for a general calendar event: name, location, date and time, summary, and who to invite. Most of these we can leave blank, but the date and time is kind of important:
Once we click on Next, Teams will ask us for settings specific to the Live Event - who can see it, and what type of event. To start, I'm just going to say that only invited people can view this, and then not invite anybody. I don't want to accidentally broadcast Pokémon to the whole company...
Regarding event type, Teams has two kinds at the moment - one where Teams captures and mixes all of the audio and video, and one where it's done externally. For this experiment, we want to do it externally:
Once I'm done creating the event, I can then join it, and Teams will ask me to set it up. Here is where it gives us the most important thing we need - an RTMP streaming URL.
The important value is on the lower-right, the Server ingest URL. Now, if I go back to Game Capture HD, I can add a new Live Streaming account for RTMP:
Once I click on rtmp://
, I get a prompt for more information. Here I can give my account any name, I need to enter the URL from Teams, and I also need to enter a Stream Key, which acts as a password. Even though the Teams documentation says that you don't need one, it gives a HTTP 500 error without it. I just entered stream
as a dummy password.
With that configured, I just clicked the Stream button, and after a few seconds, my game shows up in Teams' preview:
Technically this is now going from my computer, into the cloud, and then back to my computer. I can also see the producer view on the web, as well as what the audience can see (which seems to be a couple seconds behind):
So now that I can get a Pokémon game streaming with Microsoft Teams, what else could I do?
Could I maybe do... a Pokémon movie?
As it turns out, yes! There's a popular tool called OBS Studio that lets you do a whole bunch of crazy stuff that I haven't even begun to play around with yet, but two of the things you can do is:
- Load a video file into the scene
- Stream the scene to a RTMP service
Bingo, that's exactly what I need. To do this, I need to go into OBS' settings pane and in the Streaming tab, enter the RTMP information again - with the dummy stream key again as well. (Also remember to stop streaming from Game Capture.)
Next, I need to set up my scene. Here I've just added a Media Source, and added Pokemon Heros - Latios and Latias (2002) from my NAS. I've also resized it to cover most of the scene, instead of just using the top-left corner.
Lastly, I just need to click "Start Streaming", and the movie shows up in Microsoft Teams:
And again, on the web:
All in all, this was a fun little experiment. I've learned how to configure a Microsoft Teams live event, how to stream to it from Elgato Game Capture, how to configure a basic OBS scene and how to stream it as well.
Hopefully I can put this to proper use somehow, otherwise I might just use it to set up a game party for work colleagues at lunch some time.