Set up content, sources and destinations for on-prem contribution

Content

Create the content. Here, we are representing a camera called 'Camera North 1' that will be contributed to a production studio:

PUT https://api.mk.io/api/projects/myproject/v1/flow/content/camera-north-1

{
    "metadata": {
        "displayName": "Camera North 1"
    }
}

Source

Add a source to the content that represents an SDI baseband ingress. The SDI connector is on 'device1' (see spec.transport.urls), so the flow using this source will be assigned to that device by MK.IO. Adapt the spec.transport.urls list to point to the correct board and connector.

PUT https://api.mk.io/api/projects/myproject/v1/flow/sources/camera-north-1-primary

{
    "metadata": {
        "displayName": "Camera North 1 - Primary"
    },
    "spec": {
        "contentName": "camera-north-1",
        "transport": {
            "type": "SDI",
            "urls": ["sdi://device1/board_1_connector_1"]
        }
    }
}

Destination

Add a destination that acts as an SRT Caller, initiating a connection to an SRT listener outside the MK.IO system to deliver the encoded content:

PUT https://api.mk.io/api/projects/myproject/v1/flow/destinations/camera-north-1-studio

{
    "metadata": {
        "displayName": "Camera North 1 - Studio"
    },
    "spec": {
        "networkName": "internet",
        "transport": {
            "type": "SRTCaller",
            "urls": ["srt://myliveproductions.com:8080/camera-north-1/passphrase=chooseasecret&pkbkeylen=16"],
            "encryptionStandard": "AES128",
            "passPhrase": "chooseasecret"
        }
    }
}

Replace the spec.transport.urls setting with the URL of the SRT listener that you want to test against.