You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

18 lines
687 B
Bash

#!/bin/bash
snapstream=$1
snapgroupname=${2:-pi}
snapsrv=${3:-localhost}
if [ -z "$snapstream" ]; then
echo "usage: $0 <stream id> [<snap group name> [<snapserver host>]]"
exit 1
fi
# match group id for group name, after filtering for groups with connecting clients
snapgroupid=`curl -s $snapsrv:1780/jsonrpc -d '{"id":1,"jsonrpc":"2.0","method":"Server.GetStatus"}' | \
jq -r ".result.server.groups[] | select(.clients | any(.connected)) | select(.name | contains(\"$snapgroupname\")).id"`
# change stream
curl -s $snapsrv:1780/jsonrpc -d '{"id":1,"jsonrpc":"2.0","method":"Group.SetStream","params":{"id":"'$snapgroupid'","stream_id":"'$snapstream'"}}' | jq -r .error.data