diff options
author | Jonas Smedegaard <dr@jones.dk> | 2017-03-26 10:52:18 +0200 |
---|---|---|
committer | Jonas Smedegaard <dr@jones.dk> | 2017-03-26 10:52:18 +0200 |
commit | edb317740843720c9bb979e030c12dc346b3c6a5 (patch) | |
tree | 5328694ae8ecc9e393c942e3d6e942531de97417 /js/app |
Initial live-video support.
Diffstat (limited to 'js/app')
-rw-r--r-- | js/app/live-video.js | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/js/app/live-video.js b/js/app/live-video.js new file mode 100644 index 0000000..f39e801 --- /dev/null +++ b/js/app/live-video.js @@ -0,0 +1,44 @@ +var websocket_server = null; +if(window.location.protocol === 'http:') + websocket_server = "ws://" + window.location.hostname + "/janus-ws"; +else + websocket_server = "wss://" + window.location.hostname + "/janus-ws"; + +var janus = null; +var streaming = null; + +Janus.init({callback: function() { + janus = new Janus( + { + server: [websocket_server, "/janus"], + iceServers: [{url: "turn:turn.homebase.dk", username: "myturn", credential: "notsecure"}], + ipv6: false, + success: function() { + janus.attach( + { + plugin: "janus.plugin.streaming", + opaqueId: "streaming-"+Janus.randomString(12), + success: function(pluginHandle) { + streaming = pluginHandle; + streaming.send({"message": { "request": "watch", id: 1}}); + }, + onmessage: function(msg, jsep) { + if(jsep !== undefined && jsep !== null) { + streaming.createAnswer( + { + jsep: jsep, + media: { audioSend: false, videoSend: false }, + success: function(jsep) { + var body = { "request": "start" }; + streaming.send({"message": body, "jsep": jsep}); + }, + }); + } + }, + onremotestream: function(stream) { + Janus.attachMediaStream(document.getElementById('live-video'), stream); + }, + }); + }, + }); +}}); |