17 lines
687 B
Bash
Executable file
17 lines
687 B
Bash
Executable file
#!/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
|