当前位置: 首页 > web >正文

AWS WebRTC:我们的业务模式

拉流、卡录基本流程

设备端(摄像机) 与 App端 是通过 AWS KVS WebRTC 信令服务进行“点对点连接”的,真正的媒体数据(音视频)是通过 WebRTC 的 ICE 通道(P2P 或 TURN)直接传输的,而不是经过 KVS 中转。

  [Viewer] <---> [AWS Signaling Service] <---> [Master]↘                                ↙↘------- ICE / STUN --------↙(P2P or TURN)↔↔↔↔↔  视频/音频数据传输  ↔↔↔↔↔
  • 信令(SDP/ICE)交换:通过 AWS KVS 的 Signaling Channel
  • 媒体(音视频)数据传输:通过 WebRTC 的 RTP 通道,不走 KVS 存储服务
  • WebRTC 模式下,KVS 提供“信令通道”服务,用于帮助 Master 和 Viewer 建立连接。

Webrtc可以传送实时画面,也可以播放本地文件,我们业务中的设备将视频录制在本地,之后借助webrtc,给app播放本地视频,这是卡录的实现。

媒体数据传输

  • 视频流(RTP)直接在 Master 和 Viewer 之间传输
  • 若网络条件不允许 P2P,AWS 的 TURN 服务器会作为中继(还是不经过 KVS 存储)
  • 无论是 P2P 还是 Relay(TURN 中继),Master 和 Viewer 之间传输媒体数据时,使用的都是 RTP 通道。

补充说明

那么什么时候才走到 AWS KVS 的“Media 服务”?

如果设备端使用的是KVS Producer SDK(使用 PutMedia 或 PutFrame)进行持续推流,使用 HLS / DASH 播放回放链接,才会用到 AWS KVS 的核心存储服务。

云录模式

我们的云录事件业务场景是:
1、设备(云台摄像机)触发事件开始录制;
2、生成事件封面图上报到s3;
3、生成m3u8文件;
4、上报ts文件和m3u8;
5、事件录制中持续上报ts和覆盖m3u8,直到事件结束;
6、业务云提供接口给app端,app端下载ts文件和m3u8文件进行播放。

具体流程请参考下篇文章:
https://blog.csdn.net/zhang_jiamin/article/details/149328779?spm=1011.2415.3001.5331

http://www.xdnf.cn/news/16364.html

相关文章:

  • [python][flask]flask蓝图使用方法
  • 【软件工程】构建软件合规防护网:双阶段检查机制的实践之道
  • Android studio自带的Android模拟器都是x86架构的吗,需要把arm架构的app翻译成x86指令?
  • FP16 和 BF16
  • 函数-变量的作用域和生命周期
  • 老题新解|奇偶数判断
  • 从Taro的Dialog.open出发,学习远程控制组件之【事件驱动】
  • OAuth 2.0 安全最佳实践 (RFC 9700) password 授权类型已经不推荐使用了,将在计划中移除
  • JS与Go:编程语言双星的碰撞与共生
  • vue2+node+express+MongoDB项目安装启动启动
  • go语言基础教程:【2】基础语法:基本数据类型(整形和浮点型)
  • js实现宫格布局图片放大交互动画
  • android app适配Android 15可以在Android studio自带的模拟器上进行吗,还是说必须在真机上进行
  • 无人机视觉模块技术解析
  • 【LeetCode Solutions】LeetCode 热题 100 题解(1 ~ 5)
  • [CSS]让overflow不用按shift可以滚轮水平滚动(纯CSS)
  • 【数据库】AI驱动未来:电科金仓新一代数据库一体机如何重构性能边界?
  • 半相合 - 脐血联合移植
  • Kingbasepostgis 安装实践
  • Go 官方 Elasticsearch 客户端 v9 快速上手与进阶实践*
  • R 语言绘制六种精美热图:转录组数据可视化实践(基于 pheatmap 包)
  • Redis替代方案:腾讯云TDSQL-C内存优化实战,TPS秒上涨
  • 大语言模型生成式人工智能企业应用
  • 水库大坝安全监测的主要内容
  • 微算法科技(NASDAQ:MLGO)采用分布式哈希表优化区块链索引结构,提高区块链检索效率
  • mac下 vscode 运行 c++无法弹出窗口
  • 《C++初阶之STL》【vector容器:详解 + 实现】
  • 智能问答分类系统:基于SVM的用户意图识别
  • Android Paging 分页加载库详解与实践
  • 航段导航计算机 (Segment_Navigator) 设计与实现