Introduction

One of Motto’s driving principles is to make it as easy as possible to get started with sports streaming. We believe that Spiideo, a sports-focused provider of AI-camera technology, shares this mission. By automating the production of sports broadcasts, especially at large volumes, opportunities are being unlocked for sports organizations that did not exist before. But even with AI-produced broadcasts, there is still a lot of work to be done to get the content scheduled, connected and published. A common complaint from sports organizations is that they have to perform a lot of duplicate work between Motto and Spiideo when it comes to scheduling events, managing teams and other metadata, and then connecting the two systems by copying RTMP/SRT details. This is especially inconvenient near game-time, when some last minute changes may occur and deadlines are tight. This is where the integration between Motto and Spiideo comes in. This integration allows you to automatically synchronize all of your Motto events with your Spiideo environment, create and manage the teams in Spiideo, and assign the correct “scenes” (Spiideo cameras) to the broadcasts. All based on what you’ve already scheduled in Motto. Simple.

How it works

The first step is to ensure that you know how to schedule events in Motto. If you are not familiar with this, please read the introduction on events first. For a successful integration, we must connect Motto to Spiideo. For this, a number of steps are required. We will go over each step here.
This guide uses the Motto Studio API. Note that these steps are only required once, and then the integration will work automatically for all future events. Even so, a Studio interface is on our roadmap.

Step 1

For Motto to be able to communicate with Spiideo, you must first create a “Spiideo integration” object. This will contain the necessary credentials to connect to your Spiideo environment. You must collect the following information from your Spiideo account:
  • Account ID
  • User ID
  • Client ID
  • Client Secret
Once you have collected these, you must call the create Spiideo integration API endpoint. Have a good look at the other parameters on that endpoint, as they are important to how your Spiideo integration will behave in production.

Step 2

Typically, a sports event in Motto will have references to a location “entity” like a stadium, arena or field. We must relate such Motto entities to Spiideo “scenes”, to allow the integration to automatically select the correct Spiideo cameras for the event. You can do this by calling the create entity mapping API endpoint. You must provide the entity ID and entity type of the Motto entity, and the scene_id of the Spiideo scene (which you can find in the Spiideo web interface). Do this for every Spiideo scene you operate. If you choose to skip some scenes, no Spiideo broadcasts will be scheduled for those. You can assign a description for your convenience to help remind you of which entity mapping this is, later on, but it is not required.
If you create a Spiideo scene mapping after you have already scheduled Motto events, no problem! Motto will synchronize any scheduled (future) event into Spiideo within minutes.

Step 3

Next, we must ensure that the integration understands your Motto event structure. After all, Motto’s CMS allows for a lot of flexibility in how you structure your metadata, but this also means the system cannot predict where to find the information it needs to schedule the broadcasts in Spiideo. To help it along, you must create an “event type mapping” for each event type that you use in Motto. You can do this by calling the create event type mapping API endpoint.

Step 4 (Optional)

In the previous step, you configured the sport that the event type is associated with (though you may have left it empty, which is allowed if you configure the sport on the team type mapping in step 6 instead). If you configured a sport field to reference an entity, you must help Motto understand which sport this is in Spiideo. You can do this by calling the create entity mapping API endpoint.

Step 5 (Optional)

By default, if you allow Motto to create teams in Spiideo, it will generate a team abbreviation based on the team name. However, you might already have a specific abbreviation for each team on your existing Motto events, which you would like to use in Spiideo as well. You can also configure the sport of the team, if it deviates from the default value configured in step 1. You can do this by calling the create team type mapping API endpoint.

Step 6 (Optional)

If you stream multiple sports and you want each sport to have a different broadcast duration, you cannot simply rely on the default values that we configured in step 1. Instead, you must configure a sports-specific broadcast duration for each sport that you stream. You can do this by calling the create sport configuration API endpoint.

Step 7 (Optional)

If you chose to set sync_teams to false in step 1, this means Motto will not automatically create new teams in Spiideo if they do not exist yet. While we do not recommend doing so, you can still create teams manually in Spiideo, and then map them to the teams in Motto. You can do this by calling the create entity mapping API endpoint. Similar to the entity mapping in step 2, you must provide the entity ID and entity type of the Motto team entity, and the team_id of the Spiideo team (which you can find in the Spiideo web interface).