AWS拥有一个名为Amazon Kinesis Video Streams的视频服务,可以收集、存储、编码和播放实时视频数据流。以下是使用aws-sdk-js创建Amazon Kinesis Video Streams Data Producer的示例代码:
const AWS = require('aws-sdk');
const kinesisVideo = new AWS.KinesisVideo();
kinesisVideo.createStream({
StreamName: 'MyKinesisVideoStream',
MediaType: 'video/h264',
}, (err, data) => {
if (err) console.log(err, err.stack);
console.log(data);
});
const kinesisVideoData = new AWS.KinesisVideo({ region: 'us-east-1' });
const kinesisVideoProducer = new AWS.KinesisVideoProducer({ region: 'us-east-1' });
const kinesisVideoClient = kinesisVideoData.getSignalingChannel({
ChannelARN: data.ChannelARN, // data is returned from createStream response
}, (err, data) => {
if (err) console.log(err, err.stack);
kinesisVideoProducer.start({
StreamInfo: {
StreamName: 'MyKinesisVideoStream',
KmsKeyId: data.ChannelInfo.ChannelEncryption.KmsKeyId, // Or define in plain text to use AWS-managed key
MediaType: 'video/h264',
},
ProducerConfig: {
Region: 'us-east-1',
StreamName: 'MyKinesisVideoStream',
StreamType: 'VIDEO_ONLY',
ConnectionRetryDelay: 1000,
retry: {
retryStrategy: 'exponential',
maxRetries: 10,
delayBeforeRetry: 1000,
},
},
}, (error, response) => {
if (error) console.log(error);
console.log(response);
});
});