本地开发

This commit is contained in:
2023-11-16 10:52:39 +08:00
parent 75000d846b
commit 9a57e4aaab
18 changed files with 700 additions and 484 deletions

View File

@@ -28,18 +28,25 @@
function SrsRtcPublisherAsync() {
var self = {};
self.cameraIndex=0
self.cameraIndex = 0
self.cameraDevices = []
self.url=""
self.url = ""
self.turn = {
iceServers: [{
urls: 'turns:172.16.3.19:3478', 'credential': 'huashiai',
'username': 'huashiai'
}]
};
// https://developer.mozilla.org/en-US/docs/Web/API/MediaDevices/getUserMedia
self.constraints = {
audio: true,
video: {
deviceId:{
exact:"136e115ef37b7ec8361207a61d42cd39818381aa0e99728e35eb9746bedce6b4"
deviceId: {
exact: "136e115ef37b7ec8361207a61d42cd39818381aa0e99728e35eb9746bedce6b4"
},
width: {ideal: 320, max: 576}
}
@@ -74,15 +81,15 @@ function SrsRtcPublisherAsync() {
console.log('navigator.getUserMedia error: ', error);
}
self.changeCamera = async function(){
self.changeCamera = async function () {
// console.log('navigator.getUserMedia')
// console.log(self.cameraDevices)
self.cameraIndex=self.cameraIndex+1==self.cameraDevices.length?0:self.cameraIndex+1
let deviceId={
exact:""
self.cameraIndex = self.cameraIndex + 1 == self.cameraDevices.length ? 0 : self.cameraIndex + 1
let deviceId = {
exact: ""
}
deviceId.exact=self.cameraDevices[self.cameraIndex].deviceId
self.constraints.video.deviceId=deviceId
deviceId.exact = self.cameraDevices[self.cameraIndex].deviceId
self.constraints.video.deviceId = deviceId
self.publish(self.url)
@@ -110,16 +117,15 @@ function SrsRtcPublisherAsync() {
// or any other information, will pass-by in the query:
// webrtc://r.ossrs.net/live/livestream?vhost=xxx
// webrtc://r.ossrs.net/live/livestream?token=xxx
self.publish = async function (url,constraints={}) {
self.publish = async function (url, constraints = {}) {
self.url=url;
self.url = url;
var conf = self.__internal.prepareUrl(url);
self.pc.addTransceiver("audio", {direction: "sendonly"});
self.pc.addTransceiver("video", {direction: "sendonly"});
var stream = await navigator.mediaDevices.getUserMedia(constraints);
// @see https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/addStream#Migrating_to_addTrack
@@ -319,7 +325,7 @@ function SrsRtcPublisherAsync() {
}
};
self.pc = new RTCPeerConnection(null);
self.pc = new RTCPeerConnection(self.turn);
// To keep api consistent between player and publisher.
// @see https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/addStream#Migrating_to_addTrack