AWS WebRTC:我们的业务模式

拉流、卡录基本流程

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

markup 复制代码
  [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

相关推荐
xiangw@GZ1 小时前
音频PA的H桥替代方案研究
音视频
kyle~1 小时前
云端数据存储---阿里云OSS
阿里云·云计算
yy我不解释1 小时前
关于comfyui的mmaudio音频生成插件时时间不一致问题(四)(video upload)(解决方法)
开发语言·python·ai作画·音视频·comfyui
云算计2 小时前
给太空云计算提出10个问题
云计算
李白你好2 小时前
云安全渗透测试框架 - 支持 AWS、Azure、GCP、阿里云、腾讯云、华为云的综合渗透测试工具和指南
阿里云·azure·aws
却道天凉_好个秋2 小时前
音视频学习(九十八):Profile
学习·音视频·profile
:mnong3 小时前
FramePack视频帧预测设计分析
音视频
:mnong3 小时前
MOVA MOSS Video and Audio同步视频-音频设计分析
音视频
chushiyunen3 小时前
python cosyVoice实现tts文本转语音、音频(未完成)
开发语言·python·音视频
※※冰馨※※3 小时前
【C++】通过 Git 访问阿里云 Codeup 仓库
git·阿里云·云计算