事件消息通知协议

网络协议

  • 请求:HTTP POST 请求,包体内容为 JSON,每一种消息的具体包体内容参见后文。
  • 应答:HTTP STATUS CODE = 200,服务端忽略应答包具体内容,为了协议友好,建议客户应答内容携带 JSON: {"code":0}

通知可靠性

事件通知服务具备重试能力,重试间隔为60秒,总计重试3次。为了避免重试对您的服务器以及网络带宽造成冲击,请保持正常回包。触发重试条件如下:

  • 长时间(20 秒)未回包应答。
  • 应答 HTTP STATUS 不为200。
@PostMapping("/receive")public ResponseEntity<Map<String, Integer>> receive(@RequestBody Map<String, Object> mediaMap) {// 应答:HTTP STATUS CODE = 200,服务端忽略应答包具体内容,为了协议友好,建议应答内容携带 JSON: {"code":0} 通知可靠性Map<String, Integer> responseMap = new HashMap<>(16);responseMap.put("code", 0);String eventType = mediaMap.get("event_type").toString();// 如果非录制文件消息就不处理if (!MEDIA_TYPE.equals(eventType)) {return new ResponseEntity<Map<String, Integer>>(responseMap, HttpStatus.OK);}String timetableId = mediaMap.get("stream_id").toString();String fileId = mediaMap.get("file_id").toString();if (timetableId.lastIndexOf(IGNORE_MEDIA_TYPE) != -1) {this.deleteMedia(fileId);return new ResponseEntity<>(responseMap, HttpStatus.OK);}String videoUrl = mediaMap.get("video_url").toString();String streamParam = mediaMap.get("stream_param").toString();String fileSize = mediaMap.get("file_size").toString();String fileFormat = mediaMap.get("file_format").toString();String startTime = mediaMap.get("start_time").toString();String endTime = mediaMap.get("end_time").toString();String[] paramsArray = streamParam.split("&");Map<String, String> map = new HashMap<>(paramsArray.length);for (String params : paramsArray) {String[] param = params.split("=");map.put(param[0], param[1]);}String roomId = map.get("groupid");String userIdBase64 = map.get("userid");Base64.Decoder decoder = Base64.getDecoder();String lecturerId = null;try {lecturerId = new String(decoder.decode(userIdBase64), "UTF-8");} catch (UnsupportedEncodingException e) {e.printStackTrace();}return new ResponseEntity<>(responseMap, HttpStatus.OK);}

腾讯云实时音视频录制回调接口响应相关推荐

  1. android修改视频聊天帧率,Android基于腾讯云实时音视频仿微信视频通话最小化悬浮(4)...

    Activity中的操作 现在我们将思路了捋一下,假设现在我正在进行视频通话,点击视频最小化按钮,我们应该按顺序执行如下步骤:应该是会出现个悬浮框.我们用mServiceBound保存Service注 ...

  2. Android基于腾讯云实时音视频实现类似微信视频通话最小化悬浮

    最近项目中有需要语音.视频通话需求,看到这个像环信.融云等SDK都有具体Demo实现,但咋的领导对腾讯情有独钟啊,IM要用腾讯云IM,不妙的是腾讯云IM并不包含有音视频通话都要自己实现,没办法深入了解 ...

  3. 腾讯云实时音视频( TRTC)通话质量监控仪表盘

    腾讯云实时音视频(Tencent RTC,简称 TRTC)是一项低延时.高并发.稳定可靠的音视频 PaaS 云服务,主要提供多人实时通话以及低延时互动直播能力.TRTC 将腾讯 21 年来在网络与音视 ...

  4. 新知实验室 腾讯云实时音视频产品体验

    新知实验室 腾讯云实时音视频TRTC产品体验 接入腾讯云实时音视频 TRTC基本实现逻辑 创建实时音视频应用 获取APPID 下载含UI的集成方案代码 方案中重要代码结构简析 index.vue co ...

  5. 腾讯云实时音视频带你玩转语音聊天室

    声音交友,在线K歌,自由上麦,声波传达-- 从最初单一的一对一语音通话,到后来火爆的多人语音群聊,再到现在聚集了一批"音控"的纯语音聊天室,当代年轻人的社交APP里最不可少的功能就 ...

  6. 基于腾讯云实时音视频(TRTC)的web端 多人人脸识别小游戏

    场景介绍 一个双人视频互动的小游戏, 连接后,可以实时看到对方的视频情况, 根据对方的视频情况实时进行游戏操作 摇头进行控制挡板 不让球掉落. 眨眼发球. 准备工作 获取应用 SDKAppID 和 应 ...

  7. 新知实验室 腾讯云实时音视频 RTC WEB端初识

    这里写目录标题 前言 初识产品 产品介绍 基础功能 高级功能 扩展功能 快速上手 位置 创建 源码下载 源码文档 写入密钥 使用 调试区域 前言 当前时代是信息行业飞速发展的时代,万物都在朝物联网方向 ...

  8. 腾讯云实时音视频技术发展简史 — 从编解码器容错优化到云端决策系统

    从2016开始,腾讯启动将传统的音视频解决方案逐步部署在腾讯云上,从传统的FFmpeg.OBS.RTMP开始提供了第一代直播服务.随后演进到以QUIC与HLS低延迟直播.最后在网络拥塞算法与Codec ...

  9. php 腾讯云实时音视频,腾讯云视频 -实时音视频学习日志

    1.实时音视频功能h5只支持ios 2.不能主动拉人建群 3.pc端的demo研究整体流程可以按照腾讯音视频上面指导的步骤走,申请账号,创建应用,购买套餐.购买好套餐后然后记录sdkappid.acc ...

最新文章

  1. 一道拉普拉斯逆变换练习题和对应的数值计算方法
  2. Postman---html中get和post的区别和使用
  3. 数据结构实验之图论十:判断给定图是否存在合法拓扑序列
  4. python PIL 打开\显示\保存图像
  5. Orchard Core 1.0.0 正式发布!
  6. python编程入门-Python编程入门经典pdf(Python编程入门教程) 高清中文版
  7. 斐讯k2p openwrt固件改双WAN口
  8. tp6的运行流程+一个完整的tp6请求的流程:
  9. echarts关系图vue完整代码
  10. 在本地存储中存入和取出对象
  11. EXCEL基本功能 --- 数据透视表
  12. 监控格式化了还能恢复吗?
  13. C3D-network论文笔记
  14. 【转】MyEclipse8优化设置
  15. 星型模型和olap多维数据库
  16. 如何查看一个网站的HTML地图和XML地图?
  17. 用DCG做单元测试报表
  18. 书单 | 做数据分析不得不看的书有哪些?
  19. 解码阿里数据:对外数据产品也浮出水面
  20. 微型计算机cpu主要有两部分构成 他们是,微型计算机主要性能参数是什么cpu有哪几个部分构成...

热门文章

  1. Java8 Stram 的使用
  2. Linux rvm 安装教程
  3. 小狼毫/中州韵输入法配置记录
  4. canvas实战之酷炫背景动画(四)
  5. 微博自动关注原理讲解
  6. 【C语言】模拟实现中国象棋
  7. 第5章 会话及其会话技术
  8. 安装 简单使用 HeyUI
  9. 三国杀武将技能(持续更新)
  10. c4d和Blender哪个好用,有什么区别吗?