Examples
/call/startup
Request
POST /rest-api/call/startup HTTP/1.1
HOST: 192.168.1.59:8081
content-length: 417
content-type: application/json
{
"callId":"123456711",
"callee":"10000",
"rtmpUrl":"rtmp://localhost:1935/live",
"rtmpStream":"stream1",
"hasAudio":"true",
"hasVideo":"true",
"sipLogin":"10009",
"sipAuthenticationName":"10009",
"sipPassword":"1234",
"sipDomain":"226.226.225.226",
"sipOutboundProxy":"226.226.225.226",
"sipPort":"5060",
"appKey":"defaultApp",
"sipRegisterRequired":"false",
"visibleName":"WCS_10009"
}
Response
HTTP/1.1 200 OK
Content-Length: 0
Date: Mon, 27 Mar 2017 03:23:54 GMT
/call/find_all
Request
POST /rest-api/call/find_all HTTP/1.1
Host: 192.168.1.101:8081
Content-Length: 0
Content-Type: application/json
Response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Date: Tue, 28 Mar 2017 12:13:24 GMT
[
{
"custom" {},
"nodeId":null,
"appKey":null,
"sessionId":null,
"callId":"83077OWQzZTRkNzIzNjk1NTI5NmUwZWFlOGU1MWU0NDVkN2U",
"parentCallId":null,
"incoming":true,
"status":"ESTABLISHED",
"sipStatus":null,
"rtmpUrl":null,
"rtmpStream":null,
"rtmpStreamStatus":null,
"caller":"005",
"callee":"001",
"hasAudio":true,
"hasVideo":true,
"sdp":".....",
"visibleName":"005",
"inviteParameters":null,
"mediaProvider":"WebRTC",
"sipMessageRaw":".....",
"isMsrp":false,
"target":null,
"holdForTransfer":false
},{
"custom":{},
"nodeId":null,
"appKey":null,
"sessionId":null,
"callId":"e9516680-13af-11e7-af37-05c788b22e35",
"parentCallId":null,
"incoming":false,
"status":"RING",
"sipStatus":180,
"rtmpUrl":null,
"rtmpStream":null,
"rtmpStreamStatus":null,
"caller":"002",
"callee":"005",
"hasAudio":true,
"hasVideo":false,
"sdp":null,
"visibleName":"002",
"inviteParameters":null,
"mediaProvider":"WebRTC",
"sipMessageRaw":null,
"isMsrp":false,
"target":null,
"holdForTransfer":false
}
]
/call/find
Request
POST /rest-api/call/find HTTP/1.1
Host: 192.168.1.101:8081
Content-Length: 70
Content-Type: application/json
{
"status" : "ESTABLISHED",
"rtmpUrl" : "rtmp://localhost:1935/live"
}
Response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Date: Tue, 28 Mar 2017 12:37:55 GMT
[
{
"custom":{},
"nodeId":null,
"appKey":null,
"sessionId":null,
"callId":"MzEjol9dY-TIg9FpAy-J3YmhDbyY-g7w771EDq",
"parentCallId":null,
"incoming":false,
"status":"ESTABLISHED",
"sipStatus":200,
"rtmpUrl":"rtmp://localhost:1935/live",
"rtmpStream":"stream1",
"rtmpStreamStatus":"RTMP_STREAM_ACTIVE",
"caller":"001",
"callee":"005",
"hasAudio":true,
"hasVideo":true,
"sdp":null,
"visibleName":"001",
"inviteParameters":null,
"mediaProvider":"Flash",
"sipMessageRaw":null,
"isMsrp":false,
"target":null,
"holdForTransfer":false
}
]
/call/terminate
Request
POST /rest-api/call/terminate HTTP/1.1
Host: 192.168.1.101:8081
Content-Length: 53
Content-Type: application/json
{
"callId" : "yOh8vRDfr-lko7fXTg-pKJDHXQ-TW8PhcS"
}
Response
HTTP/1.1 200 OK
Content-Length: 0
Date: Tue, 28 Mar 2017 12:48:29 GMT
/call/send_dtmf
Request
POST /rest-api/call/send_dtmf HTTP/1.1
Host: 192.168.1.101:8081
Content-Length: 83
Content-Type: application/json
{
"callId" : "yOh8vRDfr-lko7fXTg-pKJDHXQ-TW8PhcS",
"dtmf":"9",
"type":"RFC2833"
}
Response
HTTP/1.1 200 OK
Content-Length: 0
Date: Tue, 28 Mar 2017 13:00:34 GMT
/call/inject_sound
Request
POST /rest-api/call/inject_sound HTTP/1.1
Host: 192.168.1.101:8081
Content-Type: application/json;charset=UTF-8
Content-Length: 69
{
"callId":"yOh8vRDfr-lko7fXTg-pKJDHXQ-TW8PhcS",
"fileName":"test.wav"
}
Response
HTTP/1.1 200 OK
Content-Length: 0
Date: Thu, 23 Nov 2017 09:37:23 GMT
/call/inject_stream/startup
Request
POST /rest-api/call/inject_stream/startup HTTP/1.1
Host: 192.168.1.101:8081
Content-Type: application/json;charset=UTF-8
Content-Length: 69
{
"callId":"yOh8vRDfr-lko7fXTg-pKJDHXQ-TW8PhcS",
"streamName":"mixer1"
}
Response
HTTP/1.1 200 OK
Content-Length: 0
Date: Thu, 23 Nov 2017 09:47:57 GMT
/call/inject_stream/terminate
Request
POST /rest-api/call/inject_stream/terminate HTTP/1.1
Host: 192.168.1.101:8081
Content-Type: application/json;charset=UTF-8
Content-Length: 50
{
"callId":"yOh8vRDfr-lko7fXTg-pKJDHXQ-TW8PhcS"
}
Response
HTTP/1.1 200 OK
Content-Length: 0
Date: Thu, 23 Nov 2017 12:42:52 GMT
/rtsp/startup
Request
POST /rest-api/rtsp/startup HTTP/1.1
Host: 192.168.1.101:8081
Content-Length: 56
Content-Type: application/json
{
"uri": "rtsp://s1.media-planet.sk:80/live/bardejov1",
"localStreamName": "stream1"
}
Response
HTTP/1.1 200 OK
Content-Length: 0
Date: Tue, 28 Mar 2017 13:18:01 GMT
/rtsp/find_all
Request
POST /rest-api/rtsp/find_all HTTP/1.1
Host: 192.168.1.101:8081
Content-Length: 0
Content-Type: application/json
Response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Date: Tue, 28 Mar 2017 14:47:08 GMT
[
{
"uri":"rtsp://s1.media-planet.sk:80/live/bardejov1",
"toStream":"stream1",
"status":"PLAYING"
},{
"uri":"rtsp://str81.creacast.com/grandlilletv/high",
"toStream":"rtsp://str81.creacast.com/grandlilletv/high",
"status":"PLAYING"
}
]
/rtsp/find
Request
POST /rest-api/rtsp/find HTTP/1.1
Host: 192.168.1.101:8081
Content-Length: 72
Content-Type: application/json
{
"uri":"rtsp://str81.creacast.com/grandlilletv/high",
"status":"PLAYING"
}
Response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Date: Tue, 28 Mar 2017 14:57:05 GMT
[
{
"uri":"rtsp://str81.creacast.com/grandlilletv/high",
"toStream":"rtsp://str81.creacast.com/grandlilletv/high",
"status":"PLAYING"
}
]
/rtsp/terminate
Request
POST /rest-api/rtsp/terminate HTTP/1.1
Host: 192.168.1.101:8081
Content-Length: 53
Content-Type: application/json
{
"uri":"rtsp://s1.media-planet.sk:80/live/bardejov1"
}
Response
HTTP/1.1 200 OK
Content-Length: 0
Date: Tue, 28 Mar 2017 15:02:07 GMT
/stream/find_all
Request
POST /rest-api/stream/find_all HTTP/1.1
Host: 192.168.1.101:8081
Content-Length: 0
Content-Type: application/json
Response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Date: Tue, 28 Mar 2017 15:10:38 GMT
[
{
"custom":{},
"nodeId":null,
"appKey":"defaultApp",
"sessionId":"/192.168.1.102:13252/192.168.1.101:8443",
"mediaSessionId":"9e7a6da0-13c8-11e7-a92a-b50084e40e7d",
"remoteMediaElementId":null,
"name":"stream1",
"published":false,
"hasVideo":true,
"hasAudio":true,
"status":"PLAYING",
"sdp":".....",
"info":null,
"record":false,
"recordName":null,
"width":0,
"height":0,
"bitrate":0,
"quality":0,
"rtmpUrl":null,
"mediaProvider":"WebRTC"
},{
"custom":{},
"nodeId":null,
"appKey":"flashStreamingApp",
"sessionId":"398c1948-5510-4842-b647-53c2f0d36c45",
"mediaSessionId":"06844ffd-1dce-4a77-a2c2-37629f0e4d13",
"remoteMediaElementId":null,
"name":"stream1",
"published":true,
"hasVideo":false,
"hasAudio":true,
"status":"PUBLISHING",
"sdp":".....",
"info":null,
"record":false,
"recordName":null,
"width":0,
"height":0,
"bitrate":0,
"quality":0,
"rtmpUrl":null,
"mediaProvider":"Flash"
}
]
/stream/find
Request
POST /rest-api/stream/find HTTP/1.1
Host: 192.168.1.101:8081
Content-Length: 57
Content-Type: application/json
{
"name":"stream1",
"published":true,
"display":["metrics"]
}
Response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Date: Tue, 26 Mar 2021 11:05:16 GMT
[
{
"appKey": "defaultApp",
"sessionId": "/192.168.23.83:51294/192.168.130.39:8443-118f9784-d3b0-4e2b-8837-425eb71efcbe",
"mediaSessionId": "86108970-8de5-11eb-afa9-0d709beccf93",
"name": "test",
"published": true,
"hasVideo": true,
"hasAudio": true,
"status": "PUBLISHING",
"sdp": "...",
"audioCodec": "opus",
"videoCodec": "H264",
"record": false,
"width": 640,
"height": 360,
"bitrate": 0,
"minBitrate": 0,
"maxBitrate": 0,
"quality": 0,
"history": false,
"gop": 0,
"fps": 0,
"audioBitrate": 0,
"codecImpl": "",
"transport": "UDP",
"cvoExtension": false,
"createDate": 1616730250682,
"mediaType": "publish",
"mediaProvider": "WebRTC",
"metrics": {
"VIDEO_SYNC": 3825719227118,
"VIDEO_K_FRAMES": 87,
"AUDIO_SYNC": 3825719227166,
"VIDEO_NACK": 0,
"AUDIO_RATE": 32912,
"AUDIO_LOST": 112,
"VIDEO_LOST": 0,
"VIDEO_CODEC": 119,
"VIDEO_B_FRAMES": 0,
"VIDEO_PLI": 0,
"AUDIO_CODEC": 111,
"VIDEO_RATE": 542200,
"VIDEO_WIDTH": 640,
"VIDEO_GOP_SIZE": 60,
"VIDEO_HEIGHT": 360,
"VIDEO_FPS": 13,
"VIDEO_P_FRAMES": 4972
}
}
]
/stream/terminate
Request
POST /rest-api/stream/terminate HTTP/1.1
Host: 192.168.1.101:8081
Content-Length: 57
Content-Type: application/json
{
"mediaSessionId":"4f112b20-13d0-11e7-b521-59a9cb7eddeb"
}
Response
HTTP/1.1 200 OK
Content-Length: 0
Date: Tue, 28 Mar 2017 16:11:48 GMT
/stream/snapshot
Request
POST /rest-api/stream/snapshot HTTP/1.1
Host: 192.168.1.101:8081
Content-Length: 57
Content-Type: application/json
{
"streamName" : "64966f33"
}
Response
HTTP/1.1 200 OK
Content-Length: 858
Date: Tue, 28 Mar 2017 16:11:48 GMT
{
"data":"iVBORw0KGgoAAAANSUhEUgAAAUAAAADwCAYAAABxLb1rAAAACXBIWXMAAAAAAAAAAQCEeRdzAAAQAElEQVR4nOzd95Pcd37feVjhrFKwXT6fr+r+gPvh6nx1V5bvLMt3liXbkiWtrF1v1O5qVxu4icucwUyABAMIAgSIQOQcBzlnzAADDIDJuadzzjmH173f7+/302l6gO4GiCHIZtWjeqZnejAAu5/9+XzD57tgwYIF6Ojo6PiSmvdfoKOjo2O+zPsv0NHR0TFf5v0X6Ojo6Jgv8/4LdHR0dMyXef8FOjo6OubLvP8CHR0dHfNl3n+Bjo6Ojvky779AR0dHx3yZ91+go6OjY77M+y/Q0dHRMV/m/Rfo6OjomC/z/gt0dHR0zJd5/wU6Ojo65su8/wIdHR0d82Xef4GOjo6O+TLvv0BHR0fHfJn3X6Cjo6Njvsz7L9DR0dExX+b9F+jo6OiYL/P+C3R0dHTMl3n/BTo6Ojrmy7z/Ah0dHR1t+Ue636rzGzr19Tv8jPn/S3R0dHS04z4E8HfR0dHR8XD5DaGC94/rdALY0dHxBXafAlj/wI6OjofPb7foXh//edcJYEfHl4gaCd0tDPXf0+rjHxbNT4F/6/fR0dHxkPsNnhb+DvnNO7zYf1P7nt/8vTYf/3nzj8hvk/+B/GPt76DIfey3dHP8jN/8g/8JHR0dD7d/9Hv/Ixb87j/Hgt/5ZzSt+6dY8D/8Eyz47T+o4Pv4a/Q9v/H7/6L1x3+e8O+m/134d/+tf/Iv8dv/9H/G7/zz/6Xs9/7ZvxS//8/+hfiDP/gD/P7v/z5+7/d+D7/7u7+L3/md3xELVl6PoaOj4"
}
/stream/startRecording
Request
POST /rest-api/stream/startRecording HTTP/1.1
Host: 192.168.1.101:8081
Content-Length: 65
Content-Type: application/json
{
"mediaSessionId":"b8ffd290-bcfa-11e9-9482-17706e285ec5",
"config": {
"fileTemplate": "{streamName}-{startTime}-{endTime}",
"rotation": "20M"
}
}
Response
HTTP/1.1 200 OK
Content-Length: 0
Date: Tue, 28 Mar 2017 16:11:48 GMT
/stream/stopRecording
Request
POST /rest-api/stream/stopRecording HTTP/1.1
Host: 192.168.1.101:8081
Content-Length: 65
Content-Type: application/json
{
"mediaSessionId":"b8ffd290-bcfa-11e9-9482-17706e285ec5"
}
Response
HTTP/1.1 200 OK
Content-Length: 0
Date: Tue, 28 Mar 2017 16:21:48 GMT
/stream/event/send
Request
POST /rest-api/stream/event/send HTTP/1.1
Host: localhost:8081
Content-Type: application/json
Content-Length: 77
{
"streamName":"test",
"payload":{
"number":33,
"string":"hello",
"boolean":true
}
}
Response
HTTP/1.1 200 OK
Access-Control-Allow-Origin: *
Access-Control-Allow-Credentials: true
/data/send
Request
POST /rest-api/data/send HTTP/1.1
Host: 192.168.1.101:8081
Content-Length: 201
Content-Type: application/json
{
"nodeId":"[email protected]",
"operationId":"d1999750-fde9-11e6-9f1b-913210792936",
"sessionId":"/192.168.1.102:15422/192.168.1.101:8443",
"payload":{
"message":"hello"
}
}
Response
HTTP/1.1 200 OK
Content-Length: 0
Date: Tue, 28 Mar 2017 16:21:18 GMT
/connection/find_all
Request
POST /rest-api/connection/find_all HTTP/1.1
Host: 192.168.1.101:8081
Content-Type: application/json
Response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Date: Tue, 28 Mar 2017 16:42:07 GMT
[
{
"custom": {
"clientInfo": {
"architecture": "x86",
"bitness": "64",
"brands": [
{
"brand": "Google Chrome",
"version": "131"
},
{
"brand": "Chromium",
"version": "131"
},
{
"brand": "Not_A Brand",
"version": "24"
}
],
"fullVersionList": [
{
"brand": "Google Chrome",
"version": "131.0.6778.108"
},
{
"brand": "Chromium",
"version": "131.0.6778.108"
},
{
"brand": "Not_A Brand",
"version": "24.0.0.0"
}
],
"mobile": false,
"platform": "Linux",
"platformVersion": "6.8.0"
}
},
"appKey": "defaultApp",
"sessionId": "/192.168.1.83:35685/192.168.1.101:8443-3aecadef-b691-4174-b77e-d8975dae20ad",
"origin": "https://test.flashphoner.com:8444",
"sipRegisterRequired": false,
"sipLogin": "192.168.1.83-35685-192.168.1.101-8443-3aecadef-b691-4174-b77e-d8975dae20ad",
"sipPort": 0,
"width": 0,
"height": 0,
"supportedResolutions": "0x0",
"useDTLS": true,
"useWsTunnel": false,
"useWsTunnelPacketization2": false,
"msePacketizationVersion": 2,
"useBase64BinaryEncoding": false,
"mediaProviders": [
"WebRTC",
"MSE",
"WSPlayer"
],
"authToken": "560d7c1e-ff0a-40b0-a8ae-2f746de3c202",
"clientVersion": "2.0",
"clientOSVersion": "5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36",
"clientBrowserVersion": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36",
"keepAlive": false
},
{
"custom": {
"clientInfo": {
"architecture": "x86",
"bitness": "64",
"brands": [
{
"brand": "Google Chrome",
"version": "131"
},
{
"brand": "Chromium",
"version": "131"
},
{
"brand": "Not_A Brand",
"version": "24"
}
],
"fullVersionList": [
{
"brand": "Google Chrome",
"version": "131.0.6778.108"
},
{
"brand": "Chromium",
"version": "131.0.6778.108"
},
{
"brand": "Not_A Brand",
"version": "24.0.0.0"
}
],
"mobile": false,
"platform": "Linux",
"platformVersion": "6.8.0"
}
},
"appKey": "defaultApp",
"sessionId": "/192.168.1.83:44621/192.168.1.101:8443-74e98519-a4a8-4b18-a09a-354cf44ecb8a",
"origin": "https://test.flashphoner.com:8444",
"sipRegisterRequired": false,
"sipLogin": "192.168.1.83-44621-192.168.1.101-8443-74e98519-a4a8-4b18-a09a-354cf44ecb8a",
"sipPort": 0,
"width": 0,
"height": 0,
"supportedResolutions": "0x0",
"useDTLS": true,
"useWsTunnel": false,
"useWsTunnelPacketization2": false,
"msePacketizationVersion": 2,
"useBase64BinaryEncoding": false,
"mediaProviders": [
"WebRTC",
"MSE",
"WSPlayer"
],
"authToken": "2948e363-2bc2-4603-b78a-7cf3f28a9182",
"clientVersion": "2.0",
"clientOSVersion": "5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36",
"clientBrowserVersion": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36",
"keepAlive": false
}
]
/connection/find
Request
POST /rest-api/connection/find HTTP/1.1
Host: 192.168.1.101:8081
Content-Type: application/json
{
"sessionId": "/192.168.1.83:35685/192.168.1.101:8443-3aecadef-b691-4174-b77e-d8975dae20ad"
}
Response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Date: Tue, 28 Mar 2017 17:12:38 GMT
[
{
"custom": {
"clientInfo": {
"architecture": "x86",
"bitness": "64",
"brands": [
{
"brand": "Google Chrome",
"version": "131"
},
{
"brand": "Chromium",
"version": "131"
},
{
"brand": "Not_A Brand",
"version": "24"
}
],
"fullVersionList": [
{
"brand": "Google Chrome",
"version": "131.0.6778.108"
},
{
"brand": "Chromium",
"version": "131.0.6778.108"
},
{
"brand": "Not_A Brand",
"version": "24.0.0.0"
}
],
"mobile": false,
"platform": "Linux",
"platformVersion": "6.8.0"
}
},
"appKey": "defaultApp",
"sessionId": "/192.168.1.83:35685/192.168.1.101:8443-3aecadef-b691-4174-b77e-d8975dae20ad",
"origin": "https://test.flashphoner.com:8444",
"sipRegisterRequired": false,
"sipLogin": "192.168.1.83-35685-192.168.1.101-8443-3aecadef-b691-4174-b77e-d8975dae20ad",
"sipPort": 0,
"width": 0,
"height": 0,
"supportedResolutions": "0x0",
"useDTLS": true,
"useWsTunnel": false,
"useWsTunnelPacketization2": false,
"msePacketizationVersion": 2,
"useBase64BinaryEncoding": false,
"mediaProviders": [
"WebRTC",
"MSE",
"WSPlayer"
],
"authToken": "560d7c1e-ff0a-40b0-a8ae-2f746de3c202",
"clientVersion": "2.0",
"clientOSVersion": "5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36",
"clientBrowserVersion": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36",
"keepAlive": false
}
]
/connection/terminate
Request
POST /rest-api/connection/terminate HTTP/1.1
Host:192.168.1.101:8081
Content-Length: 55
Content-Type: application/json
{
"sessionId":"/192.168.1.102:39564/192.168.1.101:8443"
}
Response
HTTP/1.1 200 OK
Content-Length: 0
Date: Tue, 28 Mar 2017 17:21:40 GMT
/push/startup
Request
POST /rest-api/push/startup HTTP/1.1
Host: 192.168.1.101:8081
Content-Length: 73
Content-Type: application/json
{
"streamName": "cf58",
"rtmpUrl":"rtmp://rtmp.flashphoner.com:1935/live/test",
"rtmpTransponderFullUrl": true
}
Response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Date: Fri, 28 Apr 2017 12:53:00 GMT
{
"mediaSessionId":"6dk1l0m3cm17c68232bccm52f1",
"streamName":"test",
"rtmpUrl":"rtmp://rtmp.flashphoner.com:1935/live"
}
/push/find
Request
POST /rest-api/push/find HTTP/1.1
Host: 192.168.1.101:8081
Content-Length: 40
Content-Type: application/json
{
"rtmpUrl":"rtmp://localhost:1935/live"
}
Response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Date: Fri, 28 Apr 2017 12:55:31 GMT
[
{
"mediaSessionId":"bung2cu1npigp8u4bd75ha4c5r",
"streamName":"rtmp_4be7",
"rtmpUrl":"rtmp://localhost:1935/live"
},{
"mediaSessionId":"hs4khbl7g3abmnkeli217lrcmf",
"streamName":"rtmp_f85d",
"rtmpUrl":"rtmp://localhost:1935/live"
}
]
/push/find_all
Request
POST /rest-api/push/find_all HTTP/1.1
Host: 192.168.1.101:8081
Content-Length: 0
Content-Type: application/json
Response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Date: Fri, 28 Apr 2017 12:56:04 GMT
[
{
"mediaSessionId":"6dk1l0m3cm17c68232bccm52f1",
"streamName":"rtmp_cf58",
"rtmpUrl":"rtmp://rtmp.flashphoner.com:1935/live"
},{
"mediaSessionId":"bung2cu1npigp8u4bd75ha4c5r",
"streamName":"rtmp_4be7",
"rtmpUrl":"rtmp://localhost:1935/live"
},{
"mediaSessionId":"hs4khbl7g3abmnkeli217lrcmf",
"streamName":"rtmp_f85d",
"rtmpUrl":"rtmp://localhost:1935/live"
}
]
/push/terminate
Request
POST /rest-api/push/terminate HTTP/1.1
Host: 192.168.1.101:8081
Content-Length: 48
Content-Type: application/json
{
"mediaSessionId": "6dk1l0m3cm17c68232bccm52f1"
}
Response
HTTP/1.1 200 OK
Content-Length: 0
Date: Fri, 28 Apr 2017 12:56:51
/push/mute
Request
POST /rest-api/push/mute HTTP/1.1
Host: 192.168.1.101:8081
Content-Length: 48
Content-Type: application/json
{
"mediaSessionId": "gocrv1ncahlkcqht9k2nbs8tbc"
}
Response
HTTP/1.1 200 OK
Content-Length: 0
Date: Mon, 03 Jul 2017 09:06:14 GMT
/push/unmute
Request
POST /rest-api/push/unmute HTTP/1.1
Host: 192.168.1.101:8081
Content-Length: 48
Content-Type: application/json
{
"mediaSessionId": "gocrv1ncahlkcqht9k2nbs8tbc"
}
Response
HTTP/1.1 200 OK
Content-Length: 0
Date: Mon, 03 Jul 2017 09:07:27 GMT
/push/sound_on
Request
POST /rest-api/push/sound_on HTTP/1.1
Host: 192.168.1.101:8081
Content-Length: 88
Content-Type: application/json
{
"mediaSessionId": "gocrv1ncahlkcqht9k2nbs8tbc",
"soundFile":"sample.wav",
"loop": true
}
Response
HTTP/1.1 200 OK
Content-Length: 0
Date: Mon, 03 Jul 2017 09:11:42 GMT
/push/sound_off
Request
POST /rest-api/push/sound_off HTTP/1.1
Host: 192.168.1.101:8081
Content-Length: 48
Content-Type: application/json
{
"mediaSessionId": "gocrv1ncahlkcqht9k2nbs8tbc"
}
Response
HTTP/1.1 200 OK
Content-Length: 0
Date: Mon, 03 Jul 2017 09:12:25 GMT
/pull/rtmp/pull
Request
POST /rest-api/pull/rtmp/pull HTTP/1.1
Host: 192.168.1.101:8081
Content-Type: application/json;charset=UTF-8
Content-Length: 60
{
"uri":"rtmp://rtmp.flashphoner.com:1935/live/rtmp_stream1",
"localStreamName":"stream1"
}
Response
HTTP/1.1 200 OK
Content-Length: 0
Date: Thu, 23 Nov 2017 09:47:23 GMT
/pull/rtmp/find_all
Request
POST /rest-api/pull/rtmp/find_all HTTP/1.1
Host: 192.168.1.101:8081
Content-Length: 0
Content-Type: application/json
Response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Date: Fri, 24 Nov 2017 14:27:35 GMT
[
{
"localMediaSessionId":"69695ed6-6e78-455c-9fee-ae1af8d4a0b5",
"localStreamName":"stream1",
"uri":"rtmp://rtmp.flashphoner.com:1935/live/stream1",
"status":"PROCESSED_REMOTE",
"hasAudio": true,
"hasVideo": true,
"record" false
},{
"localMediaSessionId":"dfae1a1c-f99b-4e56-9f19-7dc7903ede8d",
"localStreamName":"rtmp://wowzaec2demo.streamlock.net/vod/mp4:BigBuckBunny_115k.mov",
"uri":"rtmp://wowzaec2demo.streamlock.net/vod/mp4:BigBuckBunny_115k.mov",
"status":"PROCESSED_REMOTE",
"hasAudio": true,
"hasVideo": true,
"record" false
}
]
/pull/rtmp/terminate
Request
POST /rest-api/pull/rtmp/terminate HTTP/1.1
Host: 192.168.1.101:8081
Content-Type: application/json;charset=UTF-8
Content-Length: 60
{
"uri":"rtmp://rtmp.flashphoner.com:1935/live/rtmp_stream1"
}
Response
HTTP/1.1 200 OK
Content-Length: 0
Date: Thu, 23 Nov 2017 09:47:31 GMT
/mixer/startup
Request
POST /rest-api/mixer/startup HTTP/1.1
HOST: 192.168.1.101:8081
Content-Type: application/json
Content-Length: 70
{
"uri": "mixer://mixer1",
"localStreamName": "mixer1_stream",
"hasVideo": true,
"hasAudio": false,
"watermark": "watermark.png",
"background": "background.png",
"mixerLayoutClass": "com.flashphoner.mixerlayout.TestLayout"
}
Response
HTTP/1.1 200 OK
Content-Length: 0
Date: Fri, 24 Nov 2017 14:55:26 GMT
/mixer/add
Request
POST /rest-api/mixer/add HTTP/1.1
Host: localhost:8081
Content-Type: application/json
Content-Length: 85
{
"uri": "mixer://m1",
"remoteStreamName": "stream1",
"audioLevel": 0,
"videoMuted": false
}
Response
HTTP/1.1 200 OK
Content-Length: 0
Date: Fri, 09 Jul 2021 15:21:06 GMT
/mixer/remove
Request
POST /rest-api/mixer/remove HTTP/1.1
HOST: 192.168.1.101:8081
Content-Type: application/json
Content-Length: 99
{
"uri": "mixer://mixer1",
"remoteStreamName": "rtmp://rtmp.flashphoner.com:1935/live/stream1"
}
Response
HTTP/1.1 200 OK
Content-Length: 0
Date: Fri, 24 Nov 2017 15:21:12 GMT
/mixer/find_all
Request
POST /rest-api/mixer/find_all HTTP/1.1
HOST: 192.168.1.101:8081
Content-Type: application/json
Content-Length: 0
Response
HTTP/1.1 200 OK
Access-Control-Allow-Origin: *
Access-Control-Allow-Credentials: true
Content-Type: application/json
Content-Length: 574
[
{
"localMediaSessionId": "e2fa5c8b-16f3-4917-9d5f-557dde75db07",
"localStreamName": "m1",
"uri": "mixer://m1",
"status": "PROCESSED_LOCAL",
"hasAudio": true,
"hasVideo": true,
"record": false,
"mediaSessions": [
{
"localMediaSessionId": "3dd763b0-2ae7-11eb-aa72-37b2cbcbf6b9",
"audioLevel": 0,
"videoMuted": true,
"localStreamName": "stream1"
},
{
"localMediaSessionId": "8af64760-2ae7-11eb-b086-cdf035231b9d",
"audioLevel": 100,
"videoMuted": false,
"localStreamName": "desktop"
},
{
"localMediaSessionId": "7cc4b410-2ae7-11eb-b34c-a5240fe9f151",
"audioLevel": 0,
"videoMuted": false,
"localStreamName": "stream2"
}
]
}
]
/mixer/terminate
Request
POST /rest-api/mixer/terminate HTTP/1.1
HOST: 192.168.1.101:8081
Content-Type: application/json
Content-Length: 31
{
"uri": "mixer://mixer1"
}
Response
HTTP/1.1 200 OK
Content-Length: 0
Date: Fri, 24 Nov 2017 14:55:35 GMT
/mixer/setAudioVideo
Request
POST /rest-api/mixer/setAudioVideo HTTP/1.1
Host: localhost:8081
Content-Type: application/json
Content-Length: 62
{
"uri": "mixer://m1",
"streams": "^stream.*",
"audioLevel": 0,
"videoMuted": true
}
Response
HTTP/1.1 200 OK
Access-Control-Allow-Origin: *
Access-Control-Allow-Credentials: true
Content-Length: 0
Date: Fri, 24 Nov 2020 14:55:35 GMT
/mixer/set_body_watermark
Request
POST /rest-api/mixer/set_body_watermark HTTP/1.1
Host: localhost:8081
Content-Type: application/json
Content-Length: 68
{
"uri":"mixer://m1",
"watermark":"/opt/media/logo.png",
"x":10,
"y":10
}
Response
HTTP/1.1 200 OK
Access-Control-Allow-Origin: *
Access-Control-Allow-Credentials: true
Content-Length: 0
Date: Fri, 19 Aug 2022 14:55:35 GMT
/mixer/set_stream_watermark
Request
POST /rest-api/mixer/set_stream_watermark HTTP/1.1
Host: localhost:8081
Content-Type: application/json
Content-Length: 124
{
"uri":"mixer://m1",
"watermark":"/opt/media/logo.png",
"mediaSessionId":"f2019570-1f9d-11ed-b6ef-050068a3a458",
"x":10,
"y":10
}
Response
HTTP/1.1 200 OK
Access-Control-Allow-Origin: *
Access-Control-Allow-Credentials: true
Content-Length: 0
Date: Fri, 19 Aug 2022 14:55:35 GMT
/mixer/set_parameter
Request
POST /rest-api/mixer/set_parameter HTTP/1.1
Host: localhost:8081
Content-Type: application/json
Content-Length: 55
{
"uri":"mixer://m1",
"mixerLayoutDir":"/opt/GridLayout"
}
Response
HTTP/1.1 200 OK
Access-Control-Allow-Origin: *
Access-Control-Allow-Credentials: true
Content-Length: 0
Date: Mon, 14 Nov 2022 14:55:35 GMT
/mixer/test/start
Request
POST /rest-api/mixer/test/start HTTP/1.1
HOST: 192.168.1.101:8081
Content-type: application/json
Content-length: 107
{
"feedingStreams": [
"s1",
"s2"
],
"mixerCount": 3,
"streamsInMixer": 1,
"intervalInSeconds": 60
}
Response
HTTP/1.1 200 OK
Content-Length: 0
Date: Wed, 22 Aug 2018 08:53:26 GMT
/mixer/test/stop
Request
POST /rest-api/mixer/test/stop HTTP/1.1
HOST: 192.168.1.101:8081
Content-type: application/json
Content-length: 0
{
}
Response
HTTP/1.1 200 OK
Content-Length: 0
Date: Wed, 22 Aug 2018 08:53:26 GMT
/mixer/test/get_start_example
Request
POST /rest-api/mixer/test/get_start_example HTTP/1.1
HOST: 192.168.1.101:8081
Content-type: application/json
Content-length: 0
{
}
Response
HTTP/1.1 200 OK
Content-Length: 107
Date: Wed, 22 Aug 2018 08:53:26 GMT
{
"feedingStreams": [
"stream1",
"stream2",
"stream3"
],
"mixerCount": 3,
"streamsInMixer": 1,
"intervalInSeconds": 60
}
/pull/pull
Request
POST /rest-api/pull/pull HTTP/1.1
Host: 192.168.1.101:8081
Content-Type: application/json;charset=UTF-8
Content-Length: 60
{
"uri":"wss://demo.flashphoner.com:8443/websocket",
"localStreamName": "6602",
"remoteStreamName": "6602"
}
Response
HTTP/1.1 200 OK
Content-Length: 0
Date: Thu, 23 Nov 2017 09:47:23 GMT
/pull/find_all
Request
POST /rest-api/pull/find_all HTTP/1.1
Host: 192.168.1.101:8081
Content-Length: 0
Content-Type: application/json
Response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Date: Fri, 24 Nov 2017 14:27:35 GMT
[
{
"localMediaSessionId":"da157e2b-2159-40c9-9560-ae1af8d4a0b5",
"remoteMediaSessionId":null,
"localStreamName":"6602",
"remoteStreamName":"660s",
"uri":"wss://demo.flashphoner.com:8443/websocket",
"status":"NEW"
}
]
/pull/push
Request
POST /rest-api/pull/pull HTTP/1.1
Host: 192.168.1.101:8081
Content-Type: application/json;charset=UTF-8
Content-Length: 60
{
"uri":"wss://demo.flashphoner.com:8443/websocket",
"localStreamName": "0d40",
"remoteStreamName": "0d40"
}
Response
HTTP/1.1 200 OK
Content-Length: 0
Date: Thu, 23 Nov 2017 09:47:23 GMT
/pull/terminate
Request
POST /rest-api/pull/terminate HTTP/1.1
HOST: 192.168.1.101:8081
Content-Type: application/json
Content-Length: 31
{
"uri": "wss://demo.flashphoner.com:8443/websocket"
}
Response
HTTP/1.1 200 OK
Content-Length: 0
Date: Fri, 24 Nov 2017 14:55:35 GMT
/logger/enable_client_log
Request
POST /rest-api/logger/enable_client_log HTTP/1.1
HOST: 192.168.1.101:8081
Content-Type: application/json
Content-Length: 71
{
"sessionId": "/127.0.0.1:57539/192.168.1.101:8443",
"logLevel": "DEBUG"
}
Response
HTTP/1.1 200 OK
Content-Length: 0
Date: Wed, 03 Sep 2018 06:58:40 GMT
/logger/disable_client_log
Request
POST /rest-api/logger/disable_client_log HTTP/1.1
HOST: 192.168.1.101:8081
Content-Type: application/json
Content-Length: 71
{
"sessionId": "/127.0.0.1:57539/192.168.1.101:8443"
}
Response
HTTP/1.1 200 OK
Content-Length: 0
Date: Wed, 03 Sep 2018 06:58:40 GMT
/cdn/show_nodes
Request
POST /rest-api/cdn/show_nodes HTTP/1.1
HOST: 192.168.1.101:8081
Content-Type: application/json
Content-Length: 0
Response
HTTP/1.1 200 OK
Content-Length: 224
Date: Thu, 06 Dec 2018 4:16:40 GMT
[
{
"globalState": "ACTIVE",
"id": "192.168.1.64",
"processingState": "NEW_STREAMS_ALLOWED",
"role": "TRANSCODER"
},
{
"globalState": "ACTIVE",
"id": "192.168.1.39",
"processingState": "NEW_STREAMS_ALLOWED",
"role": "ORIGIN"
}
]
/cdn/show_routes
Request
POST /rest-api/cdn/show_routes HTTP/1.1
HOST: 192.168.1.101:8081
Content-Type: application/json
Content-Length: 0
Response
HTTP/1.1 200 OK
Content-Length: 26
Date: Thu, 06 Dec 2018 4:16:40 GMT
{
"0-192.168.1.5-0": "test"
}
/cdn/show_state
Request
POST /rest-api/cdn/show_state HTTP/1.1
HOST: 192.168.1.101:8081
Content-Type: application/json
Content-Length: 0
Response
HTTP/1.1 200 OK
Content-Length: 19
Date: Thu, 06 Dec 2018 8:26:44 GMT
[
"NEW_STREAMS_ALLOWED"
]
/cdn/enforce_state
Request
POST /rest-api/cdn/enforce_state HTTP/1.1
HOST: 192.168.1.101:8081
Content-Type: application/json
Content-Length: 44
{
"state": "GROUP_CONNECTIONS_ALLOWED"
}
Response
HTTP/1.1 200 OK
Content-Length: 0
Date: Thu, 06 Dec 2018 8:36:30 GMT
/cdn/stream/show_routes
Request
POST /rest-api/cdn/stream/show_routes HTTP/1.1
HOST: 192.168.1.101:8081
Content-Type: application/json
Content-Length: 30
{
"streamName":"test-profile1"
}
Response
HTTP/1.1 200 OK
Content-Length: 411
Date: Mon, 07 Jan 2018 4:16:40 GMT
{
"REQUESTED-PROFILE": [
"AUDIO{bitrate=0, codec='opus', rate=48000, channels=0}",
"VIDEO{width=640, height=360, gop=90, fps=30, bitrate=0, codec='h264', codecImpl='OPENH264', quality=null}"
],
"1-NEW-TRANSCODER-95.191.131.64": [],
"2-PROXY-95.191.130.39": [
"AUDIO{bitrate=0, codec='opus', rate=48000, channels=2}",
"VIDEO{width=0, height=0, gop=null, fps=null, bitrate=0, codec='H264', codecImpl='null', quality=null}"
]
}
/cdn/stream/access_list/add
Request
POST /rest-api/cdn/stream/access_list/add HTTP/1.1
Host: test.flashphoner.com:8081
Content-Type: application/json
Content-Length: 39
{
"keys": [
"key1",
"key2"
],
"name": "test"
}
Response
HTTP/1.1 200 OK
Access-Control-Allow-Origin: *
Content-Type: application/json
/cdn/stream/access_list/remove
Request
POST /rest-api/cdn/stream/access_list/remove HTTP/1.1
Host: test.flashphoner.com:8081
Content-Length: 32
Content-Type: application/json
{
"keys": [
"key1"
],
"name": "test"
}
Response
HTTP/1.1 200 OK
Access-Control-Allow-Origin: *
Content-Type: application/json
/cdn/stream/access_list/print
Request
POST /rest-api/cdn/stream/access_list/print HTTP/1.1
Host: test.flashphoner.com:8081
Content-Length: 15
Content-Type: application/json
{
"name": "test"
}
Response
HTTP/1.1 200 OK
Access-Control-Allow-Origin: *
Content-Length: 8
Content-Type: application/json
[
"key2"
]
/cdn/stream/access_list/delete
Request
POST /rest-api/cdn/stream/access_list/delete HTTP/1.1
Host: test.flashphoner.com:8081
Content-Length: 15
Content-Type: application/json
{
"name": "test"
}
Response
HTTP/1.1 200 OK
Access-Control-Allow-Origin: *
Content-Type: application/json
/cdn/profile/add
Request
POST /rest-api/cdn/profile/add HTTP/1.1
Host: test.flashphoner.com:8081
Content-Length: 502
Content-Type: application/json
{
"name": "-profile1",
"profile": {
"audio": {
"type": "audio"
"bitrate": 0,
"channels": 0,
"codec": "opus",
"rate": 48000,
},
"video": {
"type": "video",
"bitrate": 0,
"codec": "h264",
"codecImpl": "FF",
"fps": 30,
"gop": 90,
"height": 360,
"quality": 0,
"width": 640
}
}
}
Response
HTTP/1.1 200 OK
Access-Control-Allow-Origin: *
Content-Type: application/json
/cdn/profile/modify
Request
POST /rest-api/cdn/profile/modify HTTP/1.1
Host: test.flashphoner.com:8081
Content-Length: 15
Content-Type: application/json
{
"name": "-profile1",
"profile": {
"video": {
"bitrate": 400,
"quality": 25
}
}
}
Response
HTTP/1.1 200 OK
Access-Control-Allow-Origin: *
Content-Type: application/json
/cdn/profile/print
Request
POST /rest-api/cdn/profile/print HTTP/1.1
Content-Length: 0
Content-Type: application/json
Host: test.flashphoner.com:8081
Response
HTTP/1.1 200 OK
Access-Control-Allow-Origin: *
Content-Type: application/json
[
"-240p": {
"audio": {
"bitrate": 0,
"channels": 0,
"codec": "opus",
"rate": 48000,
"type": "audio"
},
"video": {
"bitrate": 0,
"codec": "h264",
"codecImpl": "FF",
"fps": 25,
"gop": 50,
"height": 240,
"preset": "veryfast",
"quality": 0,
"type": "video",
"width": 0
}
},
"-480p": {
"audio": {
"bitrate": 0,
"channels": 0,
"codec": "opus",
"rate": 48000,
"type": "audio"
},
"video": {
"bitrate": 0,
"codec": "h264",
"codecImpl": "FF",
"fps": 25,
"gop": 50,
"height": 480,
"preset": "veryfast",
"quality": 0,
"type": "video",
"width": 0
}
}
]
/cdn/profile/remove
Request
POST /rest-api/cdn/profile/remove HTTP/1.1
Host: test.flashphoner.com:8081
Content-Length: 15
Content-Type: application/json
{
"name": "-profile1"
}
Response
HTTP/1.1 200 OK
Access-Control-Allow-Origin: *
Content-Type: application/json
/cdn/remove_node
Request
POST /rest-api/cdn/remove_node HTTP/1.1
Host: test.flashphoner.com:8081
Content-Length: 15
Content-Type: application/json
{
"nodeIp": "192.168.1.207"
}
Response
HTTP/1.1 200 OK
Access-Control-Allow-Origin: *
Content-Type: application/json
/cdn/connection/reset_inbound
Request
POST /rest-api/cdn/connection/reset_inbound HTTP/1.1
Host: test.flashphoner.com:8081
Content-Length: 15
Content-Type: application/json
{
"nodeId": "192.168.1.207"
}
Response
HTTP/1.1 200 OK
Access-Control-Allow-Origin: *
Content-Type: application/json
/cdn/connection/reset_outbound
Request
POST /rest-api/cdn/connection/reset_outbound HTTP/1.1
Host: test.flashphoner.com:8081
Content-Length: 15
Content-Type: application/json
{
"nodeId": "192.168.1.207"
}
Response
HTTP/1.1 200 OK
Access-Control-Allow-Origin: *
Content-Type: application/json
/cdn/connection/reset_all
Request
POST /rest-api/cdn/connection/reset_all HTTP/1.1
Host: test.flashphoner.com:8081
Content-Length: 0
Content-Type: application/json
Response
HTTP/1.1 200 OK
Access-Control-Allow-Origin: *
Content-Type: application/json
/recorder/startup
Request
POST /rest-api/recorder/startup HTTP/1.1
Host: test.flashphoner.com:8081
Content-Length: 52
Content-Type: application/json
{
"mediaSessionId": "5a072377-73c1-4caf-abd3",
"config": {
"fileTemplate": "{streamName}-{startTime}-{endTime}",
"rotation": "20M"
}
}
Response
HTTP/1.1 200 OK
Access-Control-Allow-Origin: *
Content-Type: application/json
/recorder/terminate
Request
POST /rest-api/recorder/terminate HTTP/1.1
HOST: 192.168.1.101:8081
Content-Length: 26
Content-Type: application/json
{
"mediaSessionId": "5a072377-73c1-4caf-abd3"
}
Response
HTTP/1.1 200 OK
Access-Control-Allow-Origin: *
Content-Type: application/json
/recorder/find_all
Request
POST /rest-api/recorder/find_all HTTP/1.1
HOST: 192.168.1.101:8081
content-type: application/json
content-length: 0
Response
HTTP/1.1 200 OK
Content-Length: 125
Date: Thu, 06 Dec 2018 4:16:40 GMT
[
{
"fileName": "9c3e-test-1563776083752-{endTime}.mp4",
"mediaSessionId": "5a072377-73c1-4caf-abd3"
}
]
/multipleRecorder/startup
Request
POST /rest-api/multipleRecorder/startup HTTP/1.1
Host: localhost:8081
Content-type: application/json
Content-Length: 22
{
"uri": "multi-recorder://test-record"
}
Response
HTTP/1.1 200 OK
Access-Control-Allow-Origin: *
/multipleRecorder/add
Request
POST /rest-api/multipleRecorder/add HTTP/1.1
Host: localhost:8081
Content-type: application/json
Content-Length: 78
{
"uri": "multi-recorder://test-record",
"mediaSessionId": "d010f9a0-fe34-11eb-9d0a-fb2207ead79d"
}
Response
HTTP/1.1 200 OK
Access-Control-Allow-Origin: *
/multipleRecorder/remove
Request
POST /rest-api/multipleRecorder/remove HTTP/1.1
Host: localhost:8081
Content-type: application/json
Content-Length: 78
{
"uri": "multi-recorder://test-record",
"mediaSessionId": "d010f9a0-fe34-11eb-9d0a-fb2207ead79d"
}
Response
HTTP/1.1 200 OK
Access-Control-Allow-Origin: *
/multipleRecorder/find_all
Request
POST /rest-api/multipleRecorder/find_all HTTP/1.1
Host: localhost:8081
Content-type: application/json
Response
HTTP/1.1 200 OK
Access-Control-Allow-Origin: *
Access-Control-Allow-Credentials: true
Content-Type: application/json
Content-Length: 239
[
{
"mediaSessionsId": [
"d010f9a0-fe34-11eb-9d0a-fb2207ead79d",
"dca111f0-fe34-11eb-ba46-45d41f052372",
"e7614c40-fe34-11eb-8d5e-07d6ca1cc7ff"
],
"uri": "multi-recorder://test-record",
"fileName": "multi-recorder___test-record.mp4"
}
]
/multipleRecorder/terminate
Request
POST /rest-api/multipleRecorder/terminate HTTP/1.1
Host: localhost:8081
Content-type: application/json
Content-Length: 22
{
"uri": "multi-recorder://test-record"
}
Response
HTTP/1.1 200 OK
Access-Control-Allow-Origin: *
/transcoder/startup
Request
POST /rest-api/transcoder/startup HTTP/1.1
HOST: 192.168.1.101:8081
content-type: application/json
content-length: 83
{
"uri": "transcoder://tcode1",
"remoteStreamName": "test",
"localStreamName": "testT",
"encoder": {
"width": 640,
"height": 480,
"keyFrameInterval": 30,
"fps": 30,
"watermark": "Test.png"
}
}
Response
HTTP/1.1 200 OK
Content-Length: 0
Date: Thu, 06 Dec 2018 4:16:40 GMT
/transcoder/find
Request
POST /rest-api/transcoder/find HTTP/1.1
HOST: 192.168.1.101:8081
content-type: application/json
content-length: 30
{
"remoteStreamName": "test"
}
Response
HTTP/1.1 200 OK
Content-Length: 286
Date: Thu, 06 Dec 2018 4:16:40 GMT
[
{
"localMediaSessionId": "42a92132-bcd1-4436-a96f-3fec36b32b37",
"localStreamName": "testT",
"remoteStreamName": "test",
"uri": "transcoder://tcode1",
"status": "PROCESSED_LOCAL",
"hasAudio": true,
"hasVideo": true,
"record": false,
"encoder": {
"width": 640,
"height": 480,
"keyFrameInterval": 30,
"fps": 30,
"watermark": "Test.png"
}
}
]
/transcoder/find_all
Request
POST /rest-api/transcoder/find_all HTTP/1.1
HOST: 192.168.1.101:8081
content-type: application/json
content-length: 0
Response
HTTP/1.1 200 OK
Content-Length: 286
Date: Thu, 06 Dec 2018 4:16:40 GMT
[
{
"localMediaSessionId": "42a92132-bcd1-4436-a96f-3fec36b32b37",
"localStreamName": "testT",
"remoteStreamName": "test",
"uri": "transcoder://tcode1",
"status": "PROCESSED_LOCAL",
"hasAudio": true,
"hasVideo": true,
"record": false,
"encoder": {
"width": 640,
"height": 480,
"keyFrameInterval": 30,
"fps": 30,
"watermark": "Test.png"
}
}
]
/transcoder/terminate
Request
POST /rest-api/transcoder/terminate HTTP/1.1
HOST: 192.168.1.101:8081
content-type: application/json
content-length: 30
{
"uri":"transcoder://tcode1"
}
Response
HTTP/1.1 200 OK
Content-Length: 0
Date: Thu, 06 Dec 2018 4:16:40 GMT
/transcoder/set_watermark
Request
POST /rest-api/transcoder/set_watermark HTTP/1.1
Host: localhost:8081
Content-Type: application/json
Content-Length: 72
{
"uri":"transcoder://t1",
"watermark":"/opt/media/logo.png",
"x":10,
"y":10
}
Response
HTTP/1.1 200 OK
Access-Control-Allow-Origin: *
Access-Control-Allow-Credentials: true
Content-Length: 0
Date: Fri, 19 Aug 2022 14:55:35 GMT
/transcoder2/startup
Request
POST /rest-api/transcoder2/startup HTTP/1.1
HOST: 192.168.1.101:8081
content-type: application/json
content-length: 242
{
"uri": "transcoder2://tcode2",
"localStreamName": "testT",
"remoteStreamName": "test",
"encoder": {
"width": 320,
"height": 240,
"keyFrameInterval": 60,
"fps": 30,
"bitrate": 1000,
"audioRate": 44100,
"audioBitrate": 64000
"audioCodec": "mpeg4-generic",
"videoCodec": "H264"
}
}
Response
HTTP/1.1 200 OK
Access-Control-Allow-Origin: *
Access-Control-Allow-Credentials: true
/transcoder2/find
Request
POST /rest-api/transcoder2/find HTTP/1.1
HOST: 192.168.1.101:8081
content-type: application/json
content-length: 30
{
"remoteStreamName": "test"
}
Response
HTTP/1.1 200 OK
Access-Control-Allow-Origin: *
Access-Control-Allow-Credentials: true
Content-Type: application/json
Content-Length: 387
[
{
"localMediaSessionId": "abde0bbf-558f-49e7-88e8-5431824dbc6c",
"localStreamName": "testT",
"remoteStreamName": "test",
"uri": "transcoder2://tcode2",
"status": "PROCESSED_LOCAL",
"hasAudio": true,
"hasVideo": true,
"record": false,
"encoder": {
"width": 320,
"height": 240,
"keyFrameInterval": 60,
"fps": 30,
"bitrate": 1000,
"audioRate": 44100,
"audioCodec": "mpeg4-generic",
"videoCodec": "H264",
"videoRate": 90000
}
}
]
/transcoder2/find_all
Request
POST /rest-api/transcoder2/find_all HTTP/1.1
HOST: 192.168.1.101:8081
content-type: application/json
content-length: 0
Response
HTTP/1.1 200 OK
Access-Control-Allow-Origin: *
Access-Control-Allow-Credentials: true
Content-Type: application/json
Content-Length: 387
[
{
"localMediaSessionId": "abde0bbf-558f-49e7-88e8-5431824dbc6c",
"localStreamName": "testT",
"remoteStreamName": "test",
"uri": "transcoder2://tcode2",
"status": "PROCESSED_LOCAL",
"hasAudio": true,
"hasVideo": true,
"record": false,
"encoder": {
"width": 320,
"height": 240,
"keyFrameInterval": 60,
"fps": 30,
"bitrate": 1000,
"audioRate": 44100,
"audioCodec": "mpeg4-generic",
"videoCodec": "H264",
"videoRate": 90000
}
}
]
/transcoder2/terminate
Request
POST /rest-api/transcoder2/terminate HTTP/1.1
HOST: 192.168.1.101:8081
content-type: application/json
content-length: 30
{
"uri":"transcoder2://tcode2"
}
Response
HTTP/1.1 200 OK
Access-Control-Allow-Origin: *
Access-Control-Allow-Credentials: true
/transcoder2/set_watermark
Request
POST /rest-api/transcoder2/set_watermark HTTP/1.1
Host: localhost:8081
Content-Type: application/json
Content-Length: 73
{
"uri":"transcoder2://t1",
"watermark":"/opt/media/logo.png",
"x":10,
"y":10
}
Response
HTTP/1.1 200 OK
Access-Control-Allow-Origin: *
Access-Control-Allow-Credentials: true
Content-Length: 0
Date: Fri, 19 Aug 2022 14:55:35 GMT
/vod/startup
Request
POST /rest-api/vod/startup HTTP/1.1
HOST: 192.168.1.101:8081
content-type: application/json
content-length: 83
{
"uri":"vod-live://sample.mp4",
"localStreamName": "test"
}
Response
HTTP/1.1 200 OK
Content-Length: 0
Date: Thu, 06 Dec 2018 4:16:40 GMT
/vod/find
Request
POST /rest-api/vod/find HTTP/1.1
HOST: 192.168.1.101:8081
content-type: application/json
content-length: 30
{
"localStreamName": "test"
}
Response
HTTP/1.1 200 OK
Content-Length: 286
Date: Thu, 06 Dec 2018 4:16:40 GMT
[
{
"localMediaSessionId": "29ec3236-1093-42bb-88d6-d4ac37af3ac0",
"localStreamName": "test",
"uri": "vod-live://sample.mp4",
"status": "PROCESSED_LOCAL",
"hasAudio": true,
"hasVideo": true,
"record": false
}
]
/vod/find_all
Request
POST /rest-api/vod/find_all HTTP/1.1
HOST: 192.168.1.101:8081
content-type: application/json
content-length: 0
Response
HTTP/1.1 200 OK
Content-Length: 286
Date: Thu, 06 Dec 2018 4:16:40 GMT
[
{
"localMediaSessionId": "29ec3236-1093-42bb-88d6-d4ac37af3ac0",
"localStreamName": "test",
"uri": "vod-live://sample.mp4",
"status": "PROCESSED_LOCAL",
"hasAudio": true,
"hasVideo": true,
"record": false
}
]
/vod/terminate
Request
POST /rest-api/vod/terminate HTTP/1.1
HOST: 192.168.1.101:8081
content-type: application/json
content-length: 30
{
"uri":"vod-live://sample.mp4",
"localStreamName": "test"
}
Response
HTTP/1.1 200 OK
Content-Length: 0
Date: Thu, 06 Dec 2018 4:16:40 GMT
/hls/startup
Request
POST /rest-api/hls/startup HTTP/1.1
Host: test.flashphoner.com:8081
Content-Length: 16
Content-Type: application/json
{
"name": "test"
}
Response
HTTP/1.1 200 OK
Access-Control-Allow-Origin: *
Content-Type: application/json
/hls/find_all
Request
POST /rest-api/hls/find_all HTTP/1.1
Host: test.flashphoner.com:8081
Connection: keep-alive
Content-Length: 22
{
"offset":0,
"size":10
}
Response
HTTP/1.1 200 OK
Access-Control-Allow-Origin: *
Content-Length: 493
Content-Type: application/json
[
{
"id": "test",
"streamName": "test",
"status": "ACTIVE",
"waitingSize": 0,
"profiles": [
"a_test",
"v_test"
],
"subscribers": 1,
"playlist": "#EXTM3U\n#EXT-X-VERSION:9\n#EXT-X-INDEPENDENT-SEGMENTS\n#EXT-X-MEDIA:TYPE=AUDIO,URI=\"a_test/a_test.m3u8\",GROUP-ID=\"audio\",NAME=\"none\",DEFAULT=YES,AUTOSELECT=YES,CHANNELS=\"2\"\n#EXT-X-STREAM-INF:BANDWIDTH=2180097,CODECS=\"avc1.640028,mp4a.40.2\",RESOLUTION=1280x720,FRAME-RATE=29.0,AUDIO=\"audio\"\nv_test/v_test.m3u8\n",
"createdDate": 1697691514126,
"logs": []
}
]
/hls/terminate
Request
POST /rest-api/hls/terminate HTTP/1.1
Host: test.flashphoner.com:8081
Content-Length: 16
Content-Type: application/json
{
"name": "test"
}
Response
HTTP/1.1 200 OK
Access-Control-Allow-Origin: *
Content-Type: application/json
/hls/profiles
Request
POST /rest-api/hls/profiles HTTP/1.1
Host: test.flashphoner.com:8081
Connection: keep-alive
Content-Length: 39
{
"hlsId":"test",
"profileName":"v_test"
}
Response
HTTP/1.1 200 OK
Access-Control-Allow-Origin: *
Content-Length: 1183
Content-Type: application/json
{
"name": "v_test",
"stream": {
"appKey": "defaultApp",
"sessionId": "test-HLS",
"mediaSessionId": "94bc92bc-959b-4533-a0e6-7de3d8c89141-test-HLS",
"name": "test",
"published": false,
"hasVideo": false,
"hasAudio": true,
"status": "PLAYING",
"sdp": "v=0\r\no=- 1988962254 1988962254 IN IP4 0.0.0.0\r\nc=IN IP4 0.0.0.0\r\nt=0 0\r\na=sdplang:en\r\nm=video 0 RTP/AVP 112\r\na=rtpmap:112 H264/90000\r\na=fmtp:112 packetization-mode=1; profile-level-id=42001f\r\na=recvonly\r\n",
"videoCodec": "H264",
"record": false,
"width": 1280,
"height": 720,
"bitrate": 0,
"minBitrate": 0,
"maxBitrate": 0,
"quality": 0,
"parentMediaSessionId": "8df817dc-c331-4fb5-949d-03e7764bab11",
"history": false,
"gop": 0,
"fps": 0,
"audioBitrate": 0,
"codecImpl": "",
"transport": "UDP",
"cvoExtension": true,
"createDate": 1697691514574,
"mediaType": "play",
"audioState": {
"muted": false
},
"videoState": {
"muted": false
},
"mediaProvider": "HLS"
},
"keyFrameReceived": true,
"videoProfile": {
"type": "video",
"width": 1280,
"height": 720,
"fps": 29,
"bitrate": 2129,
"codec": "",
"quality": 0,
"audioGroupId": "audio"
},
"metrics": {
"minFPS": 29.962547,
"avgFPS": 30.000261,
"maxFPS": 30.04292,
"countGaps": 0,
"resolutionChanges": 0,
"queueSize": 11,
"startPts": 560866,
"currentPts": 561133
},
"subscribers": 1
}
/hls/subscribers
Request
POST /rest-api/hls/subscribers HTTP/1.1
Host: test.flashphoner.com:8081
Connection: keep-alive
Content-Length: 16
{
"hlsId":"test"
}
Response
HTTP/1.1 200 OK
Access-Control-Allow-Origin: *
Content-Length: 501
Content-Type: application/json
[
{
"id": "192.168.0.83-55832-Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36",
"ip": "192.168.0.83",
"port": 55832,
"userAgent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36",
"active": true,
"metrics": {
"profileTime": {
"test": 66,
"v_test": 598216
},
"requestsNumber": 6537,
"requestsStatuses": {
"200 OK": 6536
},
"profileSwitches": 1,
"maxResponseTime": 13,
"minResponseTime": 0,
"avgResponseTime": 0.4173168119932691
}
}
]
/sfu/stats
Request
POST /rest-api/sfu/stats HTTP/1.1
Host: localhost:8081
Content-Type: application/json
Content-Length: 20
{
"roomName":"ROOM1"
}
Response
HTTP/1.1 200 OK
Access-Control-Allow-Origin: *
Content-Type: application/json
Content-Length: 1154
{
"participants": [
{
"nickName": "User1",
"outgoingTracks": [
{
"id": "9de9107c-ce5f-4d6b-b7d6-ea233d691d09",
"codec": "opus",
"bitrate": 0,
"sampleRate": 48000,
"channels": 2,
"alive": true,
"type": "AUDIO"
},
{
"id": "237dcef9-c66d-4c72-bd43-0c91aaea3b7e",
"composite": true,
"tracks": {
"h send": {
"id": "237dcef9-c66d-4c72-bd43-0c91aaea3b7e",
"codec": "H264",
"width": 1280,
"height": 720,
"fps": 30,
"bitrate": 157976,
"alive": true,
"type": "VIDEO"
},
"m send": {
"id": "237dcef9-c66d-4c72-bd43-0c91aaea3b7e",
"codec": "H264",
"width": 640,
"height": 360,
"fps": 30,
"bitrate": 263952,
"alive": true,
"type": "VIDEO"
}
}
}
],
"incomingTracks": {
"3c2dcd1c-7acd-4b90-8871-331be80cade0": "h send"
}
},
{
"nickName": "User2",
"outgoingTracks": [
{
"id": "3c2dcd1c-7acd-4b90-8871-331be80cade0",
"composite": true,
"tracks": {
"h send": {
"id": "3c2dcd1c-7acd-4b90-8871-331be80cade0",
"codec": "H264",
"width": 1280,
"height": 720,
"fps": 30,
"bitrate": 238688,
"alive": true,
"type": "VIDEO"
},
"m send": {
"id": "3c2dcd1c-7acd-4b90-8871-331be80cade0",
"codec": "H264",
"width": 640,
"height": 360,
"fps": 30,
"bitrate": 265368,
"alive": true,
"type": "VIDEO"
}
}
}
],
"incomingTracks": {
"9de9107c-ce5f-4d6b-b7d6-ea233d691d09": null,
"237dcef9-c66d-4c72-bd43-0c91aaea3b7e": "h send"
}
}
]
}
/mpegts/startup
Request
POST /rest-api/mpegts/startup HTTP/1.1
Host: localhost:8081
Content-Type: application/json
Content-Length: 44
{
"localStreamName":"test",
"transport":"srt"
}
Response
HTTP/1.1 200 OK
Access-Control-Allow-Origin: *
Content-Type: application/json
Content-Length: 230
{
"localMediaSessionId": "32ec1a8e-7df4-4484-9a95-e7eddc45c508",
"localStreamName": "test",
"uri": "srt://192.168.1.39:31014",
"status": "CONNECTED",
"hasAudio": false,
"hasVideo": false,
"record": false,
"transport": "SRT",
"cdn": false,
"timeout": 90000,
"maxTimestampDiff": 1,
"allowedList": []
}
/mpegts/find
Request
POST /rest-api/mpegts/find_all HTTP/1.1
Host: localhost:8081
Content-Type: application/json
Content-Length: 61
{
"localStreamName":"test",
"uri": "srt://192.168.1.39:31014"
}
Response
HTTP/1.1 200 OK
Access-Control-Allow-Origin: *
Content-Type: application/json
Content-Length: 238
[
{
"localMediaSessionId": "32ec1a8e-7df4-4484-9a95-e7eddc45c508",
"localStreamName": "test",
"uri": "srt://192.168.1.39:31014",
"status": "PROCESSED_LOCAL",
"hasAudio": false,
"hasVideo": false,
"record": false,
"transport": "SRT",
"cdn": false,
"timeout": 90000,
"maxTimestampDiff": 1,
"allowedList": []
}
]
/mpegts/find_all
Request
POST /rest-api/mpegts/find_all HTTP/1.1
Host: localhost:8081
Content-Type: application/json
Content-Length: 0
Response
HTTP/1.1 200 OK
Access-Control-Allow-Origin: *
Content-Type: application/json
Content-Length: 238
[
{
"localMediaSessionId": "32ec1a8e-7df4-4484-9a95-e7eddc45c508",
"localStreamName": "test",
"uri": "srt://192.168.1.39:31014",
"status": "PROCESSED_LOCAL",
"hasAudio": false,
"hasVideo": false,
"record": false,
"transport": "SRT",
"cdn": false,
"timeout": 90000,
"maxTimestampDiff": 1,
"allowedList": []
}
]
/mpegts/terminate
Request
POST /rest-api/mpegts/startup HTTP/1.1
Host: localhost:8081
Content-Type: application/json
Content-Length: 26
{
"localStreamName":"test"
}
Response
HTTP/1.1 200 OK
Access-Control-Allow-Origin: *
Content-Type: application/json