wowza-securetoken-generator

Returns a SecureToken v2 URL that can be used to access streams with playback security enabled

Usage no npm install needed!

<script type="module">
  import wowzaSecuretokenGenerator from 'https://cdn.skypack.dev/wowza-securetoken-generator';
</script>

README

A silly lib that returns a secure URL for use with Wowza(TM) streaming engine

Parameters

token_prefix: params.token_prefix || 'wowzatoken', // The name of the token (defaults to wowzatoken)
streaming_server: params.streaming_server || '', // URL of streaming server incl. port and trailing slash, e.g. http://1.2.3.4:1935/
streaming_file: params.streaming_file || '', // Filename of the stream resource incl. leading slash, e.g. /playlist.m3u8
streaming_app: params.streaming_app || '', // App name of stream resource without slashes, e.g. test/myStream
hash_algorithm: params.hash_algorithm || 'sha512',
client_ip: params.client_ip || '', // Client IP, e.g. for Express: req.headers['x-forwarded-for'] || req.connection.remoteAddress
shared_secret: params.shared_secret || '', // The shared secret configured on the  server
start_time: params.start_time ||  '0', // Start time of stream auth or 0
end_time: params.end_time ||  '0' // End time of stream auth or 0
wowza.createSecureWowzaURL({
  streaming_server: '10.10.10.1',
  streaming_file: '/playlist.m3u8',
  streaming_app: 'test/myStream',
  client_ip: '10.10.10.10',
  shared_secret: 'uhef87bdub13e87',
  start_time: '1461322012789',
  end_time: '1461322012789'
});

Should return something along the lines of

{
  'http': 'http://10.10.10.1/test/myStream/playlist.m3u8?wowzatokenstart_time=1461322012789&wowzatokenend_time=1461322012789&wowzatokenhash=5ryZOaf8XQHMQt3_BeP_YZ0ftH6pOPKN3yNvRU6T438KqkWqcPBAllpq52OBvWdYmuoWFltVYVLJTErJNbtHyQ==',
  'rtmp': 'rtmp://10.10.10.1/test/myStream?wowzatokenstart_time=1461322012789&wowzatokenend_time=1461322012789&wowzatokenhash=5ryZOaf8XQHMQt3_BeP_YZ0ftH6pOPKN3yNvRU6T438KqkWqcPBAllpq52OBvWdYmuoWFltVYVLJTErJNbtHyQ=='
}