AWS WebRTC:获取信令服务节点和ICE服务节点

建立WebRTC的第一步是获取信令服务节点和ICE服务节点。

前提条件是有访问AWS的密钥,主要是ak,sk,token,我这边是业务云有接口可以返回这些信息,所以我直接从业务云获取。

先介绍一下什么是ak,sk,token:

ak,AWS_ACCESS_KEY_ID,AWS访问密钥;

sk,AWS_SECRET_ACCESS_KEY,AWS安全访问密钥;

token,AWS_SESSION_TOKEN,会话令牌,即临时凭证,最长有效期是12小时(43200秒)

它们三个是什么关系?

比如一个人进入一栋大楼,首先需要有进入大楼的许可就是ak;进入大楼后需要进行安检就是sk;进入大楼后不能一直在大楼里呆着需要有一个停留时间,就是session token。

ak,sk,token的内容格式如下:

python 复制代码
    "ak": str1,
    "sk": str2,
    "token": long_str3,

除了密钥信息外,还需要region和arn,这两个也是业务云返回,内容格式如下:

python 复制代码
region = "cn-*****-*"
arn = arn:aws:kinesisvideo:[region]:[account-number]:channel/[channel-name]/[number]

有了这些信息后就可以通过boto3获取信令服务节点和ICE服务节点了:

python 复制代码
import boto3

ak = str1
sk = str2
token = long_str3
region = "cn-*****-*"
arn = arn:aws:kinesisvideo:[region]:[account-number]:channel/[channel-name]/[number]

session = boto3.Session(
    aws_access_key_id=ak,
    aws_secret_access_key=sk,
    region_name=region,
    aws_session_token=token
)

client = session.client('kinesisvideo')

response = client.get_signaling_channel_endpoint(
    ChannelARN=arn,
    SingleMasterChannelEndpointConfiguration={
        'Protocols': ['WSS', 'HTTPS'],
        'Role': 'VIEWER'
    }
)

endpoint_https = response["ResourceEndpointList"][0]["ResourceEndpoint"]
endpoint_wss = response["ResourceEndpointList"][1]["ResourceEndpoint"]

print(response)
print(endpoint_https)
print(endpoint_wss)

以上相关信息替换成从aws获取到的信息。

获取到的节点信息为:

python 复制代码
https://*-*****.kinesisvideo.cn-*****-*.amazonaws.com.cn
wss://*-*****.kinesisvideo.cn-*****-*.amazonaws.com.cn

这两个节点各有自己的用处,后面慢慢讲解。

相关推荐
计算机小手14 小时前
高效 P2P 文件传输工具:FileSync 利用 WebRTC 技术实现极速安全传输
经验分享·docker·webrtc·开源软件
AI码上来1 天前
当小智 AI 遇上数字人,我用 WebRTC 打造实时音视频应用
人工智能·webrtc·实时音视频
Antonio9152 天前
【音视频】WebRTC 音视频延时、同步分析以及超低延时优化
音视频·webrtc
RTC老炮3 天前
webrtc弱网-LossBasedBandwidthEstimation类源码分析与算法原理
网络·算法·webrtc
小噔小咚什么东东3 天前
看到了很多次WebRTC,但是你真的需要它吗?
前端·webrtc
Antonio9153 天前
【音视频】WebRTC P2P、SFU 和 MCU 架构
音视频·webrtc·p2p
山河君3 天前
webrtc之高通滤波——HighPassFilter源码及原理分析
算法·音视频·webrtc·信号处理
RTC老炮3 天前
webrtc弱网-LossBasedBweV2类源码分析与算法原理
算法·webrtc
正在走向自律3 天前
WebRTC开启实时通信新时代
webrtc·mediastream·webcodecs·信令·网页即时通信·rtcpeerconne·ice机制
Antonio9154 天前
【音视频】WebRTC ICE 模块深度剖析
音视频·webrtc