mirror of
https://github.com/badaix/snapcast.git
synced 2025-06-03 03:11:43 +02:00
233 lines
5 KiB
Markdown
233 lines
5 KiB
Markdown
Snapcast control protocol
|
|
=========================
|
|
|
|
#Stream
|
|
###Stream status
|
|
```json
|
|
{
|
|
"id": "pipe:///tmp/snapfifo",
|
|
"status": "playing",
|
|
"uri": {
|
|
"fragment": "",
|
|
"host": "",
|
|
"path": "/tmp/snapfifo",
|
|
"query": {
|
|
"buffer_ms": "20",
|
|
"codec": "flac",
|
|
"name": "Radio",
|
|
"sampleformat": "48000:16:2"
|
|
},
|
|
"raw": "pipe:///tmp/snapfifo?name=Radio&sampleformat=48000:16:2&codec=flac",
|
|
"scheme": "pipe"
|
|
}
|
|
}
|
|
```
|
|
|
|
###Stream update push notification
|
|
```json
|
|
{
|
|
"jsonrpc": "2.0",
|
|
"method": "Stream.OnUpdate",
|
|
"params": {
|
|
"data": {
|
|
"id": "pipe:///tmp/snapfifo",
|
|
"status": "playing",
|
|
"uri": {
|
|
"fragment": "",
|
|
"host": "",
|
|
"path": "/tmp/snapfifo",
|
|
"query": {
|
|
"buffer_ms": "20",
|
|
"codec": "flac",
|
|
"name": "Radio",
|
|
"sampleformat": "48000:16:2"
|
|
},
|
|
"raw": "pipe:///tmp/snapfifo?name=Radio&sampleformat=48000:16:2&codec=flac",
|
|
"scheme": "pipe"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
```
|
|
|
|
#Client
|
|
##Client status
|
|
```json
|
|
{
|
|
"config": {
|
|
"latency": 0,
|
|
"name": "",
|
|
"stream": "pipe:///tmp/snapfifo",
|
|
"volume": {
|
|
"muted": false,
|
|
"percent": 75
|
|
}
|
|
},
|
|
"connected": true,
|
|
"host": {
|
|
"arch": "unknown",
|
|
"ip": "192.168.0.24",
|
|
"mac": "80:1f:02:ed:fd:e0",
|
|
"name": "wohnzimmer",
|
|
"os": "Raspbian GNU/Linux 8.0 (jessie)"
|
|
},
|
|
"lastSeen": {
|
|
"sec": 1457597583,
|
|
"usec": 956325
|
|
},
|
|
"snapclient": {
|
|
"name": "Snapclient",
|
|
"protocolVersion": 1,
|
|
"version": "0.5.0-beta-2"
|
|
}
|
|
}
|
|
```
|
|
|
|
#Server
|
|
##Server status
|
|
```json
|
|
{
|
|
"id": 0,
|
|
"jsonrpc": "2.0",
|
|
"result": {
|
|
"clients": [
|
|
{
|
|
"config": {
|
|
"latency": 0,
|
|
"name": "",
|
|
"stream": "pipe:///tmp/snapfifo",
|
|
"volume": {
|
|
"muted": false,
|
|
"percent": 75
|
|
}
|
|
},
|
|
"connected": true,
|
|
"host": {
|
|
"arch": "unknown",
|
|
"ip": "192.168.0.24",
|
|
"mac": "80:1f:02:ed:fd:e0",
|
|
"name": "wohnzimmer",
|
|
"os": "Raspbian GNU/Linux 8.0 (jessie)"
|
|
},
|
|
"lastSeen": {
|
|
"sec": 1457597583,
|
|
"usec": 956325
|
|
},
|
|
"snapclient": {
|
|
"name": "Snapclient",
|
|
"protocolVersion": 1,
|
|
"version": "0.5.0-beta-2"
|
|
}
|
|
},
|
|
{
|
|
"config": {
|
|
"latency": 0,
|
|
"name": "Galaxy S5",
|
|
"stream": "pipe:///tmp/snapfifo",
|
|
"volume": {
|
|
"muted": false,
|
|
"percent": 35
|
|
}
|
|
},
|
|
"connected": false,
|
|
"host": {
|
|
"arch": "armeabi-v7a",
|
|
"ip": "192.168.0.23",
|
|
"mac": "a0:b4:a5:3a:f1:db",
|
|
"name": "android-6bd0a5e5c0068caf",
|
|
"os": "Android 5.0.2"
|
|
},
|
|
"lastSeen": {
|
|
"sec": 1457594760,
|
|
"usec": 278026
|
|
},
|
|
"snapclient": {
|
|
"name": "Snapclient",
|
|
"protocolVersion": 1,
|
|
"version": "0.5.0-beta-2"
|
|
}
|
|
},
|
|
{
|
|
"config": {
|
|
"latency": 0,
|
|
"name": "",
|
|
"stream": "pipe:///tmp/snapfifo",
|
|
"volume": {
|
|
"muted": false,
|
|
"percent": 76
|
|
}
|
|
},
|
|
"connected": false,
|
|
"host": {
|
|
"arch": "x86_64",
|
|
"ip": "192.168.0.54",
|
|
"mac": "00:21:6a:7d:74:fc",
|
|
"name": "T400",
|
|
"os": "Linux Mint 17.3 Rosa"
|
|
},
|
|
"lastSeen": {
|
|
"sec": 1457594824,
|
|
"usec": 708630
|
|
},
|
|
"snapclient": {
|
|
"name": "Snapclient",
|
|
"protocolVersion": 1,
|
|
"version": "0.5.0-beta-2"
|
|
}
|
|
}
|
|
],
|
|
"server": {
|
|
"host": {
|
|
"arch": "x86_64",
|
|
"ip": "",
|
|
"mac": "",
|
|
"name": "elaine",
|
|
"os": "Linux Mint 17.3 Rosa"
|
|
},
|
|
"snapserver": {
|
|
"controlProtocolVersion": 1,
|
|
"name": "Snapserver",
|
|
"protocolVersion": 1,
|
|
"version": "0.5.0-beta-2"
|
|
}
|
|
},
|
|
"streams": [
|
|
{
|
|
"id": "pipe:///tmp/snapfifo",
|
|
"status": "idle",
|
|
"uri": {
|
|
"fragment": "",
|
|
"host": "",
|
|
"path": "/tmp/snapfifo",
|
|
"query": {
|
|
"buffer_ms": "20",
|
|
"codec": "flac",
|
|
"name": "Radio",
|
|
"sampleformat": "48000:16:2"
|
|
},
|
|
"raw": "pipe:///tmp/snapfifo?name=Radio&sampleformat=48000:16:2&codec=flac",
|
|
"scheme": "pipe"
|
|
}
|
|
},
|
|
{
|
|
"id": "file:///home/johannes/Intern/Music/Wave file.wav",
|
|
"status": "playing",
|
|
"uri": {
|
|
"fragment": "",
|
|
"host": "",
|
|
"path": "/home/johannes/Intern/Music/Wave file.wav",
|
|
"query": {
|
|
"buffer_ms": "20",
|
|
"codec": "ogg:VBR:0.1",
|
|
"name": "AL",
|
|
"sampleformat": "48000:16:2"
|
|
},
|
|
"raw": "file:///home/johannes/Intern/Music/Wave%20file.wav?name=AL&sampleformat=48000:16:2&codec=ogg:VBR:0.1",
|
|
"scheme": "file"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
```
|
|
|