Skip to content

Instantly share code, notes, and snippets.

@dave-malone
Created January 30, 2020 15:55
Show Gist options
  • Save dave-malone/453e011afcb8345ff31cac737c11c333 to your computer and use it in GitHub Desktop.
Save dave-malone/453e011afcb8345ff31cac737c11c333 to your computer and use it in GitHub Desktop.
const AWS = require('aws-sdk')
AWS.config.region = process.env.AWS_REGION
const kinesisvideo = new AWS.KinesisVideo({
})
function getStreamingSessionURL(){
return new Promise((resolve, reject) => {
var getEndpointParams = {
APIName: 'GET_HLS_STREAMING_SESSION_URL',
StreamName: process.env.STREAM_NAME
}
kinesisvideo.getDataEndpoint(getEndpointParams, (err, data) => {
if(err){
console.log(err, err.stack)
reject(`Failed to get KVS data endpoint: ${err.errorMessage}`)
}else{
console.log(`Get data endpoint response: ${JSON.stringify(data)}`)
const kinesisvideoarchivedmedia = new AWS.KinesisVideoArchivedMedia({
endpoint: data.DataEndpoint
})
const getStreamingSessionURLParams = {
Expires: 300,
PlaybackMode: 'LIVE',
StreamName: process.env.STREAM_NAME
}
kinesisvideoarchivedmedia.getHLSStreamingSessionURL(getStreamingSessionURLParams, function(err, data) {
if (err){
console.log(err, err.stack)
reject(`Failed to get KVAM HLS streaming session url. ${err.code} ${err.message}`)
}else{
console.log(`get hls streaming session url response: ${JSON.stringify(data)}`)
resolve(data)
}
})
}
})
})
}
exports.handler = async (event, context, callback) => {
await getStreamingSessionURL()
.then((result) => callback(null, result))
.catch((err) => callback(err))
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment