目前,amazon-kinesis-video-streams-webrtc-sdk-js支持的javascript版本为ECMAScript 2015(即ES6)或更高版本。另外,该SDK支持的AWS Kinesis Video Client SDK版本为v2.x。如果您使用的是v3.x版本,您需要降级AWS Kinesis Video Client SDK版本以兼容该SDK。
以下是一个简单的示例,展示了如何使用amazon-kinesis-video-streams-webrtc-sdk-js创建一个视频流:
// 引入SDK库
const AWS = require('aws-sdk/global')
const KinesisVideo = require('aws-sdk/clients/kinesisvideo')
const KinesisVideoSignalingChannels = require('aws-sdk/clients/kinesisvideosignalingchannels')
const KinesisVideoSignalingChannelsClient = require('amazon-kinesis-video-streams-webrtc-sdk-js').KinesisVideoSignalingChannelsClient
const KinesisVideoStream = require('amazon-kinesis-video-streams-webrtc-sdk-js').KinesisVideoStream
const SignalingClient = require('amazon-kinesis-video-streams-webrtc-sdk-js').SignalingClient
const AWSKinesisVideoSignalingChannels = require('aws-sdk')
AWSKinesisVideoSignalingChannels.Signers.V4.prototype.serviceName = 'kinesisvideo'
// 声明一些变量
let signalingClient
let channelARN
let localStream
// 获取信令通道ARN
const getChannelARN = async (channelName, region) => {
const kinesisVideo = new KinesisVideo({ region })
const { ChannelInfoList } = await kinesisVideo.listSignalingChannels({ MaxResults: '1' }).promise()
if (ChannelInfoList.length > 0) {
const { ChannelARN } = await kinesisVideo.describeSignalingChannel({
ChannelName: channelName
}).promise()
return ChannelARN
}
const { ChannelARN } = await kinesisVideo.createSignalingChannel({
ChannelName: channelName
}).promise()
return ChannelARN
}
// 获取本地视频流
const getLocalStream = async () => {
const mediaDevices