Подсчет 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 стрима
Установить изображение в плитке стрима
Создайте скрипт:
#!/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