mirror of
https://github.com/ossrs/srs.git
synced 2025-03-09 15:49:59 +00:00
Demo: Update srs.sdk.js
This commit is contained in:
parent
463105c012
commit
bd1ec99d5b
4 changed files with 56 additions and 34 deletions
11
trunk/3rdparty/signaling/www/demos/index.html
vendored
11
trunk/3rdparty/signaling/www/demos/index.html
vendored
|
@ -19,7 +19,16 @@
|
||||||
let elems = document.getElementsByClassName('srs_demo');
|
let elems = document.getElementsByClassName('srs_demo');
|
||||||
for (var i = 0; i < elems.length; i++) {
|
for (var i = 0; i < elems.length; i++) {
|
||||||
let elem = elems.item(i);
|
let elem = elems.item(i);
|
||||||
elem.setAttribute('href', elem.getAttribute('href') + '&room=' + roomName);
|
|
||||||
|
// Use random room.
|
||||||
|
let href = elem.getAttribute('href') + '&room=' + roomName;
|
||||||
|
|
||||||
|
// For run demos on SRS http server.
|
||||||
|
if (window.location.port === '8080') {
|
||||||
|
href += '&wsp=1989';
|
||||||
|
}
|
||||||
|
|
||||||
|
elem.setAttribute('href', href);
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
</body>
|
</body>
|
||||||
|
|
51
trunk/3rdparty/signaling/www/demos/js/srs.sdk.js
vendored
51
trunk/3rdparty/signaling/www/demos/js/srs.sdk.js
vendored
|
@ -29,6 +29,14 @@
|
||||||
function SrsRtcPublisherAsync() {
|
function SrsRtcPublisherAsync() {
|
||||||
var self = {};
|
var self = {};
|
||||||
|
|
||||||
|
// https://developer.mozilla.org/en-US/docs/Web/API/MediaDevices/getUserMedia
|
||||||
|
self.constraints = {
|
||||||
|
audio: true,
|
||||||
|
video: {
|
||||||
|
width: {ideal: 320, max: 576}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
// @see https://github.com/rtcdn/rtcdn-draft
|
// @see https://github.com/rtcdn/rtcdn-draft
|
||||||
// @url The WebRTC url to play with, for example:
|
// @url The WebRTC url to play with, for example:
|
||||||
// webrtc://r.ossrs.net/live/livestream
|
// webrtc://r.ossrs.net/live/livestream
|
||||||
|
@ -56,12 +64,14 @@ function SrsRtcPublisherAsync() {
|
||||||
self.pc.addTransceiver("audio", {direction: "sendonly"});
|
self.pc.addTransceiver("audio", {direction: "sendonly"});
|
||||||
self.pc.addTransceiver("video", {direction: "sendonly"});
|
self.pc.addTransceiver("video", {direction: "sendonly"});
|
||||||
|
|
||||||
var stream = await navigator.mediaDevices.getUserMedia(
|
var stream = await navigator.mediaDevices.getUserMedia(self.constraints);
|
||||||
{audio: true, video: {width: {max: 320}}}
|
|
||||||
);
|
|
||||||
// @see https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/addStream#Migrating_to_addTrack
|
// @see https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/addStream#Migrating_to_addTrack
|
||||||
stream.getTracks().forEach(function (track) {
|
stream.getTracks().forEach(function (track) {
|
||||||
self.pc.addTrack(track);
|
self.pc.addTrack(track);
|
||||||
|
|
||||||
|
// Notify about local track when stream is ok.
|
||||||
|
self.ontrack && self.ontrack({track: track});
|
||||||
});
|
});
|
||||||
|
|
||||||
var offer = await self.pc.createOffer();
|
var offer = await self.pc.createOffer();
|
||||||
|
@ -94,9 +104,6 @@ function SrsRtcPublisherAsync() {
|
||||||
);
|
);
|
||||||
session.simulator = conf.schema + '//' + conf.urlObject.server + ':' + conf.port + '/rtc/v1/nack/';
|
session.simulator = conf.schema + '//' + conf.urlObject.server + ':' + conf.port + '/rtc/v1/nack/';
|
||||||
|
|
||||||
// Notify about local stream when success.
|
|
||||||
self.onaddstream && self.onaddstream({stream: stream});
|
|
||||||
|
|
||||||
return session;
|
return session;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -107,7 +114,10 @@ function SrsRtcPublisherAsync() {
|
||||||
};
|
};
|
||||||
|
|
||||||
// The callback when got local stream.
|
// The callback when got local stream.
|
||||||
self.onaddstream = function (event) {
|
// @see https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/addStream#Migrating_to_addTrack
|
||||||
|
self.ontrack = function (event) {
|
||||||
|
// Add track to stream of SDK.
|
||||||
|
self.stream.addTrack(event.track);
|
||||||
};
|
};
|
||||||
|
|
||||||
// Internal APIs.
|
// Internal APIs.
|
||||||
|
@ -253,6 +263,11 @@ function SrsRtcPublisherAsync() {
|
||||||
|
|
||||||
self.pc = new RTCPeerConnection(null);
|
self.pc = new RTCPeerConnection(null);
|
||||||
|
|
||||||
|
// To keep api consistent between player and publisher.
|
||||||
|
// @see https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/addStream#Migrating_to_addTrack
|
||||||
|
// @see https://webrtc.org/getting-started/media-devices
|
||||||
|
self.stream = new MediaStream();
|
||||||
|
|
||||||
return self;
|
return self;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -324,8 +339,12 @@ function SrsRtcPlayerAsync() {
|
||||||
self.pc = null;
|
self.pc = null;
|
||||||
};
|
};
|
||||||
|
|
||||||
// The callback when got remote stream.
|
// The callback when got remote track.
|
||||||
self.onaddstream = function (event) {};
|
// Note that the onaddstream is deprecated, @see https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/onaddstream
|
||||||
|
self.ontrack = function (event) {
|
||||||
|
// https://webrtc.org/getting-started/remote-streams
|
||||||
|
self.stream.addTrack(event.track);
|
||||||
|
};
|
||||||
|
|
||||||
// Internal APIs.
|
// Internal APIs.
|
||||||
self.__internal = {
|
self.__internal = {
|
||||||
|
@ -469,9 +488,14 @@ function SrsRtcPlayerAsync() {
|
||||||
};
|
};
|
||||||
|
|
||||||
self.pc = new RTCPeerConnection(null);
|
self.pc = new RTCPeerConnection(null);
|
||||||
self.pc.onaddstream = function (event) {
|
|
||||||
if (self.onaddstream) {
|
// Create a stream to add track to the stream, @see https://webrtc.org/getting-started/remote-streams
|
||||||
self.onaddstream(event);
|
self.stream = new MediaStream();
|
||||||
|
|
||||||
|
// https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/ontrack
|
||||||
|
self.pc.ontrack = function(event) {
|
||||||
|
if (self.ontrack) {
|
||||||
|
self.ontrack(event);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -483,7 +507,8 @@ function SrsRtcPlayerAsync() {
|
||||||
function SrsRtcFormatSenders(senders, kind) {
|
function SrsRtcFormatSenders(senders, kind) {
|
||||||
var codecs = [];
|
var codecs = [];
|
||||||
senders.forEach(function (sender) {
|
senders.forEach(function (sender) {
|
||||||
sender.getParameters().codecs.forEach(function(c) {
|
var params = sender.getParameters();
|
||||||
|
params && params.codecs && params.codecs.forEach(function(c) {
|
||||||
if (kind && sender.track.kind !== kind) {
|
if (kind && sender.track.kind !== kind) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
14
trunk/3rdparty/signaling/www/demos/one2one.html
vendored
14
trunk/3rdparty/signaling/www/demos/one2one.html
vendored
|
@ -22,7 +22,7 @@
|
||||||
<a class="brand" href="https://github.com/ossrs/srs">SRS</a>
|
<a class="brand" href="https://github.com/ossrs/srs">SRS</a>
|
||||||
<div class="nav-collapse collapse">
|
<div class="nav-collapse collapse">
|
||||||
<ul class="nav srs_nav">
|
<ul class="nav srs_nav">
|
||||||
<li class="active"><a href="#">一对一通话</a></li>
|
<li class="active"><a href="one2one.html">一对一通话</a></li>
|
||||||
<li><a href="room.html">多人通话</a></li>
|
<li><a href="room.html">多人通话</a></li>
|
||||||
<li class="srs_ignore">
|
<li class="srs_ignore">
|
||||||
<a href="https://github.com/ossrs/signaling">
|
<a href="https://github.com/ossrs/signaling">
|
||||||
|
@ -226,10 +226,7 @@
|
||||||
publisher.close();
|
publisher.close();
|
||||||
}
|
}
|
||||||
publisher = new SrsRtcPublisherAsync();
|
publisher = new SrsRtcPublisherAsync();
|
||||||
publisher.onaddstream = function (event) {
|
$('#rtc_media_publisher').prop('srcObject', publisher.stream);
|
||||||
console.log('Start publish, event: ', event);
|
|
||||||
$('#rtc_media_publisher').prop('srcObject', event.stream);
|
|
||||||
};
|
|
||||||
|
|
||||||
return publisher.publish(url).then(function(session){
|
return publisher.publish(url).then(function(session){
|
||||||
$('#self').text('Self: ' + url);
|
$('#self').text('Self: ' + url);
|
||||||
|
@ -254,10 +251,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
player = new SrsRtcPlayerAsync();
|
player = new SrsRtcPlayerAsync();
|
||||||
player.onaddstream = function (event) {
|
$('#rtc_media_player').prop('srcObject', player.stream);
|
||||||
console.log('Start play, event: ', event);
|
|
||||||
$('#rtc_media_player').prop('srcObject', event.stream);
|
|
||||||
};
|
|
||||||
|
|
||||||
player.play(url).then(function(session){
|
player.play(url).then(function(session){
|
||||||
$('#peer').text('Peer: ' + display);
|
$('#peer').text('Peer: ' + display);
|
||||||
|
@ -284,7 +278,7 @@
|
||||||
$('#ff_preview').attr('href', 'http://ossrs.net/players/srs_player.html?app=' + $('#txt_room').val() + '&stream=merge.flv&server=' + conf.host + '&vhost=' + conf.host + '&autostart=true');
|
$('#ff_preview').attr('href', 'http://ossrs.net/players/srs_player.html?app=' + $('#txt_room').val() + '&stream=merge.flv&server=' + conf.host + '&vhost=' + conf.host + '&autostart=true');
|
||||||
|
|
||||||
// Update href for all navs.
|
// Update href for all navs.
|
||||||
$('ul.srs_nav').children('li').not('.srs_ignore').children('a').not("[href='#']").each(function (i, e) {
|
$('ul.srs_nav').children('li').not('.srs_ignore').children('a').each(function (i, e) {
|
||||||
$(e).attr('href', $(e).attr('href') + conf.rawQuery);
|
$(e).attr('href', $(e).attr('href') + conf.rawQuery);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
14
trunk/3rdparty/signaling/www/demos/room.html
vendored
14
trunk/3rdparty/signaling/www/demos/room.html
vendored
|
@ -23,7 +23,7 @@
|
||||||
<div class="nav-collapse collapse">
|
<div class="nav-collapse collapse">
|
||||||
<ul class="nav srs_nav">
|
<ul class="nav srs_nav">
|
||||||
<li><a href="one2one.html">一对一通话</a></li>
|
<li><a href="one2one.html">一对一通话</a></li>
|
||||||
<li class="active"><a href="#">多人通话</a></li>
|
<li class="active"><a href="room.html">多人通话</a></li>
|
||||||
<li class="srs_ignore">
|
<li class="srs_ignore">
|
||||||
<a href="https://github.com/ossrs/signaling">
|
<a href="https://github.com/ossrs/signaling">
|
||||||
<img alt="GitHub Repo stars" src="https://img.shields.io/github/stars/ossrs/signaling?style=social">
|
<img alt="GitHub Repo stars" src="https://img.shields.io/github/stars/ossrs/signaling?style=social">
|
||||||
|
@ -139,10 +139,7 @@
|
||||||
publisher.close();
|
publisher.close();
|
||||||
}
|
}
|
||||||
publisher = new SrsRtcPublisherAsync();
|
publisher = new SrsRtcPublisherAsync();
|
||||||
publisher.onaddstream = function (event) {
|
$('#rtc_media_publisher').prop('srcObject', publisher.stream);
|
||||||
console.log('Start publish, event: ', event);
|
|
||||||
$('#rtc_media_publisher').prop('srcObject', event.stream);
|
|
||||||
};
|
|
||||||
|
|
||||||
return publisher.publish(url).then(function(session){
|
return publisher.publish(url).then(function(session){
|
||||||
$('#self').text('Self: ' + url);
|
$('#self').text('Self: ' + url);
|
||||||
|
@ -178,10 +175,7 @@
|
||||||
video.show();
|
video.show();
|
||||||
ui.show();
|
ui.show();
|
||||||
|
|
||||||
player.onaddstream = function (event) {
|
video.prop('srcObject', player.stream);
|
||||||
console.log('Start play, event: ', event);
|
|
||||||
video.prop('srcObject', event.stream);
|
|
||||||
};
|
|
||||||
|
|
||||||
player.play(url).then(function(session){
|
player.play(url).then(function(session){
|
||||||
ui.children('#peer').text('Peer: ' + url);
|
ui.children('#peer').text('Peer: ' + url);
|
||||||
|
@ -200,7 +194,7 @@
|
||||||
$('#txt_display').val(conf.display);
|
$('#txt_display').val(conf.display);
|
||||||
|
|
||||||
// Update href for all navs.
|
// Update href for all navs.
|
||||||
$('ul.srs_nav').children('li').not('.srs_ignore').children('a').not("[href='#']").each(function (i, e) {
|
$('ul.srs_nav').children('li').not('.srs_ignore').children('a').each(function (i, e) {
|
||||||
$(e).attr('href', $(e).attr('href') + conf.rawQuery);
|
$(e).attr('href', $(e).attr('href') + conf.rawQuery);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue