APIs接口 (GraphQL)
Query Streaming: /ceres
支持方法: POST
查询名称: init_streaming
描述:
通知ceres从设备拉流,并且拿到拉流的url。
请求
回应
例子
init_streaming: request
curl -XPOST -d 'query {init_streaming(authToken:"dm verify token",authType:"Bearer",device:"device UID",account:"user",password:"secret",protocol:"rtsp",realm:"rd",state:"state",authkey:"auth auth"){code,url,msg}}' https://domain:port/ceres
init_streaming: response
//response of init_streaming
{
"data": {
"init_streaming": {
"code": 0,
"url": "rtsp://192.168.55.10:8554/de89bbd28252c7bde7e09223f078529f85279e86",
"msg": ""
}
}
}
查询名称: init_streaming_v3
描述:
通知ceres从设备拉流,并且拿到拉流的url。
请求
回应
例子
init_streaming_v3: request Expand source
curl -XPOST -d 'query {init_streaming_v3(device:"device UID",authToken:"dm verify token",authType:"Bearer",avtoken:"user",authkey:"secret",avType:"authToken",protocol:"rtsp",identity:"admin",realm:"rd",state:"state"){code,url,msg}}' https://domain:port/ceres
init_streaming_v3: response Expand source
//response of init_streaming_v3
{
"data": {
"init_streaming_v3": {
"code": 0,
"url": "rtsp://192.168.55.10:8554/de89bbd28252c7bde7e09223f078529f85279e86",
"msg": ""
}
}
}
查询名称: init_streaming_v4
描述:
通知ceres从设备拉流,并且拿到拉流的url。
请求
回应
例子
init_streaming_v4: request Expand source
curl -XPOST -d 'query {init_streaming_v4(authToken:"dm verify token",authType:"Bearer",device:"device UID",credential:"credential",protocol:"rtsp",realm:"rd",state:"state"){code,url,msg}}' https://domain:port/ceres
init_streaming_v4: response Expand source
//response of init_streaming_v4
{
"data": {
"init_streaming_v4": {
"code": 0,
"url": "rtsp://192.168.55.10:8554/de89bbd28252c7bde7e09223f078529f85279e86",
"msg": ""
}
}
}
查询名称: terminate_streaming
描述:
通知ceres停止拉流。
请求
回应
例子
request
curl -XPOST -d 'query {terminate_streaming(authToken:"dm verify token",authType:"Bearer",device:"device UID",state:"state"){code,url,msg}}' https://domain:port/ceres
response
{
"data": {
"terminate_streaming": {
"code: 0,
"msg": ""
}
}
}
错误码说明
http错误码: 400
error response
//response of error
{
"data": {
"init_streaming": {
"code": -3,
"msg": "verify error",
"url": ""
}
}
}
备注:
设备规格:
- 图像: H.264
- 声音: AAC ADTS(8k / 44.1k / 48k Hz)
自动关闭的情形:
- RTSP 流在1分钟内没被使用。
- HLS流如果30s内没有来请求m3u8。
- 每个设备当前播放只支持一种流,如果已经在播放RTSP,那么另外一个客户的想要HLS流是不被允许。
- 同个客户端,如需重新连接设备拉流,需要调用terminate_streaming来关闭上次连接,或者等待1分钟超时。
- 服务器如果30s内没有收到设备任何数据,将关闭连接。
测试推荐格式:
- 1080p
- 25 fps
- AAC(8k Hz)
如何测试RTSP流是否可以播放:
因为目前给的RTSP是经过SSL加密的,所以无法用一般的播放器去播放,需要用stunnel然后proxy到local端成裸流,播放器可以去播local端的裸流。