客户端编程基本流程
实时音视频播放(包括监听)
实时音视频播放是通过流媒体服务播放终端的实时音视频。其基本流程如下:
- 通过Websocket监听流媒体事件(使用Websocket接口的客户端因本身使用的是Websocket接口,故不需要此步骤)
- 调用
打开实时音视频
接口 - 检查接口返回结果,如果返回媒体已可用,则立即播放,同时启动保持定时器
- 否则等待
流已经准备好
的流媒体事件 - 收到
流已经准备好
的流媒体事件,立即播放,同时启动保持定时器 - 在播放期间,每当定时器到时,调用
音视频流请求保持
接口 - 当要停止播放时,调用
关闭媒体请求
接口,同时关闭保持定时器,销毁播放器
远程回放
远程回放是通过流媒体服务播放存储在终端上的历史音视频。其基本流程如下:
- 通过Websocket监听流媒体事件(使用Websocket接口的客户端因本身使用的是Websocket接口,故不需要此步骤)
- 调用
查询终端远程录像
接口,将返回结果展示给用户 - 用户选择要播放的资源文件后,调用
打开远程录像回放
接口 - 检查接口返回结果,如果返回媒体已可用,则立即播放,同时启动保持定时器
- 否则等待
流已经准备好
的流媒体事件 - 收到
流已经准备好
的流媒体事件,立即播放,同时启动保持定时器 - 在播放期间,每当定时器到时,调用
音视频流请求保持
接口 - 当要停止播放时,调用
关闭媒体请求
接口,同时关闭保持定时器,销毁播放器
终端录像上传和下载
可以通过流媒体服务,提取终端的远程录像文件。其基本流程如下:
- (可选)通过WebSocket订阅
/user/{token}/queue/av_upload
录像文件上传状态通知 - 调用
GET /strm/stored
查询终端远程录像接口,查询终端上的录像文件 - 选择其中一个文件,用查询得到的录像文件信息调用
POST /strm/stored/upload
上传远程录像请求接口,请求终端上传文件到服务端 - 通过录像文件上传状态通知,或查询
GET /strm/store/upload
查询录像上传状态接口,确定录像上传已经完成 - 使用录像文件上传状态通知中携带的文件URL或查询录像上传状态接口返回的文件URL进行文件下载
对讲
对讲是通过流媒体服务建立与终端的双向音频通道,实现用户与司机的对话。其基本流程如下:
- 通过Websocket监听流媒体事件(使用Websocket接口的客户端因本身使用的是Websocket接口,故不需要此步骤)
- 调用
打开实时音视频
接口,指定数据类型为2: 双向对讲
,接口会返回一个对讲音频推送的Websocket地址 - 检查接口返回结果,如果返回媒体已可用,跳到第5步
- 否则等待
流已经准备好
的流媒体事件, - 开始播放终端推过来的音频,同时启动保持定时器,并建立对讲音频推送的Websocket连接,采集客户端麦克风的音频,向流媒体服务推送客户端音频
- 在播放期间,每当定时器到时,调用
音视频流请求保持
接口 - 当要停止播放时,调用
关闭媒体请求
接口,同时关闭保持定时器,销毁播放器,停止采集客户端音频
主动安全报警附件的提取、接收和下载
GT-Streaming
流媒体服务内置主动安全报警附件接收服务,可接收、存储终端上传的主动安全报警附件。使用方式主要是由企业应用引导,其基本流程如下:
- 企业终端网关监测主动安全报警
- 发生主动安全报警时,根据自身的规则确定是否要提取报警附件
- 确定需要提取报警附件时,调用
提取主动安全附件
接口 - 流媒体服务将通过消息队列向企业的终端网关下发
报警附件上传指令
(0x9208) - 由流媒体服务接收终端上传的报警附件,并保存在流媒体服务器上
- 当报警附件接收结束(成功或失败),流媒体服务通过消息队列发送
ADAS附件提取结束通知
- 企业应用通过调用
查询主动安全报警附件
接口查询安全报警附件信息,该信息包含各文件的下载 URL,可通过 URL下载附件文件