Пример использования API

    Подсчет hls сессий:

    curl -s -X POST -d '{ "cmd": "sessions" }' http://login:pass@tv.server.ip:port/control/|grep client_id|wc -l

    Переключение input:
    (К примеру - отключение канала с эротическим содержимым в дневное время)

    curl -X POST -d '{"cmd":"set-stream-input", "id":"a006","input":2}'  http://login:pass@tv.server.ip:port/control/         

    Где:
    a006 - id канала, "input":2 - номер стрима. Нумерация начинается с еденицы.


    Создать пользователя:

    curl -X POST -d '{"cmd": "set-user", "id": "user6541", "user": {"enable": true, "type": 3, "password": "user6541",  "conlimit": "5", "ip": "172.31.2.6", "packages": ["ALL"] }}' http://login:pass@tv.server.ip:port/control/

    Где:
    "id": "user6541" - Имя/логин пользователя. Является id пользователя.
    "enable": true - Пользователь активен.
    "type": 3 - Группа пользователей. (1 - администратор, 2 - observer, 3 - user)
    "password": "user6541" - Пароль пользователя
    "conlimit": "5" - Лимит на одновременные подключения.
    "ip": "172.31.2.6" - Ip адрес пользователя.
    "packages": ["ALL"] - Пакет каналов доступный пользователю.


    Получить конфигурацию пользователя:

    curl -X POST  -d '{"cmd": "get-user", "id": "user6541"}' http://login:pass@tv.server.ip:port/control/

    Где:
    user6541 - логин пользователя.


    Создать/изменить стрим:

    curl -X POST -d '{"cmd": "set-stream","id":"a005","stream": {"id": "a005","type": "spts","input": ["udp://251.34.21.5:1234"],"http_keep_active": "-1","name": "test","enable": true,"output": ["http://0:555/fox"]}}' http://login:pass@tv.server.ip:port/control/

    Где:
    "name":"test" - наименование стрима
    "id": "a01h" - id стрима


    Установить изображение в плитке стрима
    Image

    Создайте скрипт:

    #!/bin/bash
    
    AUTH="admin:password"
    ADDR="127.0.0.1:8000"
    
    if [ -z "$1" ] ; then
        curl http://$ADDR/playlist.m3u8 | grep '^http' | sed 's/.*\/play\/\([^\/]*\).*/\1/' | while read ID ; do
            $0 shot $ID &
        done
    elif [ "$1" = "shot" ] ; then
        ID="$2"
        /usr/bin/ffmpeg -i "http://$ADDR/play/$ID" -v quiet -ss 2 -y -t 1 -vframes 1 -vf scale=160:100 -f image2 "/tmp/$ID.png" & sleep 60s && kill -9 $!
        IMG=$(cat /tmp/$ID.png | base64)
        echo "{\"cmd\":\"set-stream-image\", \"id\":\"$ID\", \"url\":\"data:image/png;base64,$IMG\"}" | curl -X POST -d "@-" http://$AUTH@$ADDR/control/
    fi

    Отредактируйте строки:
    AUTH="admin:pass" - ваш логин и пароль
    ADDR="127.0.0.1:8000" - ip и порт, где запущена Astra