Set up content, sources and destinations for SRT distribution

Content

Create the content. Here, we are representing a channel called 'Sport 1':

PUT https://api.mk.io/api/projects/myproject/v1/flow/content/sports1

{
    "metadata": {
        "displayName": "Sports 1"
    }
}

Source

Add a source to the content that represents an SRT caller outside the MK.IO system that will send SRT content to the public cloud to be distributed:

PUT https://api.mk.io/api/projects/myproject/v1/flow/sources/sports1-primary

{
    "metadata": {
        "displayName": "Sports 1 - Primary"
    },
    "spec": {
        "contentName": "sports1",
        "networkName": "internet",
        "transport": {
            "type": "SRTCaller",
            "port": 5000,
            "ipResource": {
                "type": "External"
            },
            "encryptionStandard": "AES128",
            "passPhrase": "chooseasecret"
        }
    }
}

Destination

Add a destination that represents an SRT caller outside the MK.IO system that will receive SRT content distributed through the public cloud:

PUT https://api.mk.io>/api/projects/myproject/v1/flow/destinations/sports1-affiliate

{
    "metadata": {
        "displayName": "Sports 1 - Affiliate"
    },
    "spec": {
        "networkName": "internet",
        "transport": {
            "type": "SRTCaller",
            "port": 5000,
            "ipResource": {
                "type": "External"
            },
            "encryptionStandard": "AES128",
            "passPhrase": "chooseasecret"
        }
    }
}
📘

SRT listener URLs

To allow a connection from external SRT callers to the source and destination, the MK.IO system will create SRT listeners. The SRT listeners will be created once the flow is running and we'll be able to see the public URLs of the listeners at that point. We'll come back to look at the source and destination URLs later.