Recording Teams or Skype meetings with NDI


With a standard Teams and Skype meeting recording you can’t control what is being recording in terms of which meeting participants are on screen. In Teams, even with the new Spotlight feature, the recordings are not controllable.

Ever had the need to record meetings with more control?
Now you can as Microsoft Teams now includes support for a network video protocol called NDI. Skype consumer has had this support for a while which is why Skype is often used in live broadcast to bring remote guests into interviews with a Skype TX based system.

NDI (Network Device Interface) is a standard that was developed by a company called NewTek primarily designed to enable video products to communicate over a computer network with low-latency.

We recently used this function with our Recording & Broadcast team to create a 3 hour event during the COVID lockdown without anyone needing to be in the same room with a camera.

Things you will need

In order to use NDI in Teams, your Teams Administrator will have to have enabled the feature in your tenant within the meeting policy you are assigned to.

https://docs.microsoft.com/en-US/microsoftteams/use-ndi-in-meetings

Only users within your Teams tenant will be able to using this function so you don’t need to worry about guests and other attendees being able to record.

The only thing you will now need, in addition to the Teams client (Windows only at this time), is a tool that can read the NDI feed. People that are used to working with live broadcast tools like OBS or XSplit can use those, but there is an easier way, especially if you need to record multiple presenters from the meeting separately.

NewTek provides a free NDI Tools kit which has everything you need and will run on both MAC or PC.

NDI Tools PC tools

Enable NDI on the Teams client

In your Teams client, you need to turn on the NDI feature in the settings BEFORE you join the meeting or you won’t see the meeting option to enable NDI Broadcast (New in November 2020).

You will find this option in Settings -> Permissions -> Network Device Interface (NDI)

If you are using Skype, make sure you have a current version and look in the Settings -> Calling -> Advanced area to turn NDI on.

Turn on Broadcast over NDI in the Teams Meeting

In the November client update, you now enable NDI per meeting from the ellipsis menu.

Using the NDI Tools Studio Monitor or Video Monitor

I’m using a PC so I will use the NDI Tools Studio Monitor.

Right click in the Studio Monitor window and you should see the name of your computer and the different presenters in your meeting that you can choose from.

In my demo meeting, I have four people. You will always appear as MS Teams – (Local). Note that you also have the option of choosing the Active Speaker so you always capture the person speaking.
Large Gallery and Together Mode will also be available when there are enough people in the meeting along with content when it is being shared into the meeting.

When you are ready to record, just hit the red record dot in the bottom left corner.

If you need to record other presenters at the same time, just look in the menu under Settings -> Application -> New Monitor… to open another Studio Monitor window, pick a different presenter and hit record.

Things to note

I haven’t had the need to record more that 5 presenters at a time at the moment but if you are looking to record a lot, it will be worth looking at the Livemind Recorder tool which can simultaneously record up to 16 NDI feeds in a single interface.

Any modern PC or MAC should be able to record NDI streams.
For the best performance you are going to need to be recording to an SSD as each feed could be writing 2mb/s to 10mb/s to disk depending on the quality of the feed you are receiving from Teams.
Enable hardware acceleration on each Studio Monitor window by going to Settings -> Video -> Allow HW Acceleration.

Videos will be recording into a MOV file using the NewTek SpeedHQ (SHQ2) codec which is designed to have very low CPU overhead and used as an intermediary codec. VLC and other programs will support playback as the NDI Tools package installs the required codec. Handbrake has no problem converting these files into an MP4 if required.
You will also notice a .NDI file written alongside it. If you use Adobe Premiere (and have the NDI Tools installed), this file provides timecode information making syncing up multiple recordings easy.

The resolution of what you record from each feed is governed by the Teams client and works exactly how it does in the Teams world. It will be a reflection of the feed that the Teams client is receiving.
This starts with the quality of the picture that the presenter is sending and ends with how good your internet bandwidth is and performance of the device you are using.
It is possible to record a clean 720p (or 1080p when Teams reinstates that) picture if the presenter is sending that resolution and your client is receiving it.

The other thing that governs the resolution is the media bit rate setting in the Teams Meetings Policies as set by your Teams Administrator.
You may need to get your Teams Administrator to check the media bit rate settings of the Meetings Policy if you are expecting to be doing a lot of recording. It will need to be set to at least 10,000 KBs if you’re looking to capture multiple presenters in the same meeting at 720p or above.

Hope this helps you create great content from Teams Meetings and Events.


2 responses to “Recording Teams or Skype meetings with NDI”

  1. “You may need to get your Teams Administrator to check the media bit rate settings of the Meetings Policy if you are expecting to be doing a lot of recording. It will need to be set to at least 10,000 KBs if you’re looking to capture multiple presenters in the same meeting at 720p or above.”

    Where is this setting please I have never seen it – really great article thanks.. Do you get 720p from NDI recordings? I never seem to get that high even when I know the contributor has really high end camera and great connection?

  2. The Meetings Policy are in the Teams Admin console.
    Have a look at this Microsoft article for Media Bitrate. https://docs.microsoft.com/en-us/microsoftteams/meeting-policies-in-teams#meeting-policy-settings—audio–video

    The quality you get from NDI is going to largely be based on the bandwidth of the sender and you as the receiver.
    Yes I do get 720p sometimes but it always depends on bandwidth.
    I am toying with Azure virtual machines as part of event capture but you still need to factor in the participant you’re recording.

    Another tool you can play with if your main goal of the meeting is recording (even if it’s not) is OBS.ninja. You should be able to use this in the background at the same time as Teams or other software to handle the participant capture.

Leave a Reply