How to live stream an event from the cloud using Microsoft Teams NDI and OBS.

Jun Kudo
6 min readNov 6, 2020

--

Introduction

Are you still delivering the event on your computer? It’s easier to distribute with OBS using Teams on the cloud.
You don’t have to buy expensive PCs and distribution equipment for distribution, or do your best alone.
Also. You don’t have to worry about your home network environment.

Until now, I have been operating event distribution on my personal computer and the following problems have occurred.

  • Problem of securing staff to deliver (almost a hobby).
  • Difficult to duplicate equivalent environment.
  • Therefore, it is not possible to change on the day.

This is a headache for the event operator.
In short, I can’t let go.

As a way to solve these problems, I think that it can be solved by using IaaS on the cloud and jointly operating staff.
In some cases, some of the people who are delivering are already delivering from the cloud. However, I thought that the following was a problem when operating jointly with staff.

  • A black screen is delivered when the remote desktop session is disconnected.
  • Since the session that can be connected is limited to one, it will be operated alone after all.
  • After all, if you are using Zoom etc., you need to monitor the output screen capture and prevent misalignment.

I have tried various things at present, but I couldn’t solve it.
The delivery method using the NDI function of Microsoft Teams that appeared there has been solved.

Sorry, this site is Japanese.

Since it is an advanced version of the above, the explanation of how to use Teams and NDI function is omitted. Please refer to the link.
This time, I would like to build an environment that meets the following requirements.

  • Speakers join from home.
  • Staff to operate participate from home.
  • 2 or more staff.
  • Joint operation remotely.
  • It doesn’t matter if the session expires on the remote desktop.

The overall configuration is as follows.

By using a tool called OBS-web for actual distribution, it is possible for multiple people to operate remotely.

I would like to explain how to configure these.

* It does not explain the setup of Youtube, Windows, etc. Please check by yourself.

Preparation

Since it is on the cloud, we use the cloud.
There are many providers that can launch instances of Windows, such as AWS, Azure, and GCP, but no problem anywhere.
Please use wherever you like.

This time, I would like to use Azure as an example.
If you aim for stable distribution, we recommend that the instance is equipped with a GPU.
This is because OSB can use GPU for encoding processing.

After installing the driver correctly, you will be able to select Hardware (NVENC).

The GPU instance and driver installation for each cloud is introduced below. Install it as a reference.

Sorry, this site is Japanese.

This time I would like to use the NV series.
It’s been used for several hours, and it costs only a few hundred yen.
If you stop, you will not be charged.

Start the virtual machine and install the necessary software.

  • Teams
  • OBS

To get footage of the OBS NDI plug-in Teams

OBS websocket plugin to use OBS Web

You need to install a virtual sound device.
This solves cloud-specific sound issues. It’s not physical, so there’s no microphone or speaker.

After downloading and unzipping the Windows version, start VBCABLE_Setup_x64 and install it.
A reboot is required.

Set the Windows Audio service to autostart.

Also, although it is connected by remote desktop, set it to playback on the remote computer.

Sorry, Japanese UI.

Install and configure these in advance and you are ready to go.
Delivery is possible with at least these configurations.

Creating a scene

After installing the necessary software, the rest is the same as normal delivery.
We will create a scene.

Please refer to the following article for detailed creation.

Sorry, this site is Japanese.

First enable NDI and launch Teams.

Select VB-CABLE Virtual Audio Device as the launched Teams device.
The camera is an OBS virtual camera and there is no problem (I will not use it).

OBS uses NDI Source to extract and configure the Teams screen.

This time I have created two as a trial.

Set the YouTube stream key in advance.
This completes the preparation of the distributor.

OBS-web

A browser-based remote control of OBS on your machine.
It is a convenient tool that can be redundant for the operator because it can be controlled by multiple people.

The body is here.

Normally, it is better to access and use the following.

The important thing is to open port 4444 (default) used by OBS Websocket in the network security group of Azure.
Open ports in other clouds as well. Let’s narrow down the source IP and set it.
Also note that you need to configure the Windows firewall settings.

Access the target virtual machine. IP address: Enter the port to connect.

The distribution will start at the upper button.
After that, the scene switching screen will be displayed, so it’s a good idea to check if you can actually switch scenes.

Watch the live and see if it’s actually switching or if you’re getting audio. Also, check if the delivery is performed even if you disconnect the remote desktop. (It’s hard to understand from the image)

The distribution settings from the cloud have been explained above.
Maybe this should meet all the requirements.

Conclusion

This time, it is an example setting using the minimum tools. And I explained the overall setting flow. Please check each one for detailed usage.
By introducing other tools, I think that distribution that suits various scenes will be possible from the cloud. This is NDI.
If you can use the NDI function of Teams more and more, I think that the function will increase more, so I would be happy if you could use it.

--

--