Как установить собственное доменное имя для адресатов ввода AWS MediaLive RTMP_PUSH? - PullRequest
0 голосов
/ 03 ноября 2018

Вход с типом RTMP_PUSH поставляется с двумя адресатами, каждому с предварительно назначенным IP-адресом и портом. Но для удобства использования мне нужно предоставить URL с моим доменным именем, а не IPv4-адрес входной конечной точки MediaLive. Еще одна важная вещь заключается в том, что я создаю входные данные программно и должен сделать их доступными как можно скорее. Предоставляет ли AWS MediaLive способ добиться этого?

Моей самой первой мыслью было создание какой-либо конечной точки на веб-сервере, которая принимает все необходимые параметры и возвращает перенаправление 302 на соответствующую конечную точку для запросов RTMP, но я все еще не уверен, возможно ли это и является ли это хорошим способом решить проблему.

Теперь создание канала выглядит следующим образом:

import boto3

ML_REGION = 'eu-central-1'
client = boto3.client('medialive', region_name=ML_REGION)

def create_input(cls, name, destinations_names, sec_groups, in_type='RTMP_PUSH'):
    return client.create_input(
        Destinations=destinations_names,
        InputSecurityGroups=[
            sec_groups,
        ],
        Name=name,
        Type=in_type
    )

Что возвращает:

{
    "ResponseMetadata": {
        "HTTPHeaders": {...},
        "RequestId": "26b556d2-df7b-11e8-b224-a3bcca6f3675",
        "HTTPStatusCode": 201,
        "RetryAttempts": 0
    },
    "Input": {
        "State": "DETACHED",
        "SecurityGroups": [
            "3833595"
        ],
        "Id": "6345906",
        "Sources": [],
        "Type": "RTMP_PUSH",
        "Arn": "arn:aws:medialive:eu-central-1:928636723143:input:6250974",
        "AttachedChannels": [],
        "Name": "prog",
        "Destinations": [
            {
                "Ip": "52.29.243.126",
                "Url": "rtmp://52.29.243.126:1935/a",
                "Port": "1935"
            },
            {
                "Ip": "18.184.153.122",
                "Url": "rtmp://18.184.153.122:1935/b",
                "Port": "1935"
            }
        ]
    }
}

С помощью этого ответа я могу хранить, скажем, пары {stream_name: url} и определять соответствующий URL перенаправления для запросов к моей пользовательской конечной точке, но это не выглядит хорошим решением. Более того, даже не уверен, возможно ли это с RTMP.

...