Giter Site home page Giter Site logo

openvidu / openvidu-tutorials Goto Github PK

View Code? Open in Web Editor NEW
227.0 227.0 255.0 99.7 MB

OpenVidu tutorials to get started

Home Page: http://openvidu.io/tutorials

License: Apache License 2.0

TypeScript 78.50% JavaScript 3.80% HTML 6.62% Shell 2.62% Dockerfile 0.41% SCSS 8.05%

openvidu-tutorials's Introduction

Backers on Open Collective Sponsors on Open Collective License badge OpenVidu Tests Npm version Npm downloads

Documentation Status Docker badge Support badge Twitter Follow

openvidu

Visit openvidu.io

Community Forum

Visit OpenVidu Community Forum

Contributors

This project exists thanks to all the people who contribute.

Backers

Thank you to all our backers! 🙏 [Become a backer]

Acknowledgments

OpenVidu has been supported under project "CPP2021-008720 NewGenVidu: An elastic, user-friendly and privacy-friendly videoconferencing platform", funded by MCIN/AEI/10.13039/501100011033 and by the European Union-NextGenerationEU/PRTR.

Sponsors

Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [Become a sponsor]

openvidu-tutorials's People

Contributors

banagale avatar chaeyun17 avatar cruizba avatar csantosm avatar davidrodriguezray avatar gitaumoses4 avatar j1elo avatar jenkinsopenvidu avatar karlerss avatar kletel avatar ninjakuro avatar oscarsotosanchez avatar pablofuente avatar perk11 avatar potato04 avatar rfazi avatar ridvanaltun avatar sunhwan-park avatar trantako avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

openvidu-tutorials's Issues

Getting ERRCONNRESET when hosting on Digital Ocean

I am using the openvidu-js-node tutorial. When I run it locally everything works fine even with the ssl certificates. But when I host it on digital ocean I am able to login the users publisher1,publisher2 and subscriber but after that when I try to start video session nothing happens and I get ERRCONNRESET on my node server at digital ocean.

Bug in recording - on 5$ VPS

Me again ,
please give me some suggestion !

I wanna run recording example . I use https://localhost:5000/ and stream woks fine.

ON REC :

I got Start recording WRONG: HTTP 400 (422) .
In console log :

Failed to load resource: the server responded with a status of 400 (Bad Request) app.js:234 Start recording WRONG (400) processRequest @ app.js:234 app.js:235 422
I run docker with :

docker run -p 4443:4443 --rm -e openvidu.secret=MY_SECRET -e openvidu.publicurl=https://localhost:4443/ --rm -v /var/run/docker.sock:/var/run/docker.sock -v /Users/nikola/Desktop/rec:/Users/nikola/Desktop/rec -e openvidu.recording=true -e MY_UID=$(id -u $USER) -e openvidu.recording.path=/Users/nikola/Desktop/rec -e openvidu.recording.public-access=true openvidu/openvidu-server-kms:2.8.0
And node.js with :

node local.js https://localhost:4443 MY_SECRET
I catch logs from openvidu server :

2019-02-26 09:35:32,538 DEBG 'openvidu-server' stdout output: [INFO] 2019-02-26 09:35:32,535 [-4443-exec-6] io.openvidu.server.rest.SessionRestController (startRecordingSession) - REST API: POST /api/recordings/start {session=gfzqgewtlzpojzmm, name=, outputMode=COMPOSED, hasAudio=false, hasVideo=false, resolution=1920x1080, recordingLayout=BEST_FIT}

i already done chmod -R 777 PATH .

Important also on public server i have recording but always black screen !

I found this : "Well, 1 CPU and 1 GB of RAM is definetly not a place where to deploy any kind of Media Server solution, that's for sure."

1 CPU and 1GB ram I guest it is not enough even for one single connection.

Is it ok to use smallest resolution like 240×320 . and frame rate 15 ?

I found :

var publisher = OV.initPublisher('video-container', {
audioSource: undefined, // The source of audio. If undefined default microphone
videoSource: undefined, // The source of video. If undefined default webcam
publishAudio: true, // Whether you want to start publishing with your audio unmuted or not
publishVideo: true, // Whether you want to start publishing with your video enabled or not
resolution: '320x240', // The resolution of your video
frameRate: 30, // The frame rate of your video
insertMode: 'APPEND', // How the video is inserted in the target element 'video-container'
mirror: false // Whether to mirror your local video or not
});

What mean's "resolution: '320x240'," , is it only for recording or webRTC stream works with this parameter. I don' see any changes on screen after changing.

Running without Docker container

Hello,

I would like to know if it is possible to run this demo without running the docker container.

Thank you in advance.
Alex.

openvdu-library-angular

The OpenviduSessionComponent component has the field "token" but "tokens" is being passed to it in the UI as in ;

  <opv-session #ovSessionComponent [sessionName]="mySessionId" [user]="myUserName" [tokens]="tokens" (leaveSession)="handlerLeaveSessionEvent($event)"
    (joinSession)="handlerJoinSessionEvent($event)" (error)="handlerErrorEvent($event)">
  </opv-session>

precisely

[tokens]="tokens"

Demos on aws

Hello everyone, i am trying to deploying Openvidu Demos on AWS, i imported my selfsigned certificate following the tutorial https://openvidu.io/docs/deployment/deploying-demos-aws/ but i am not able to connect on https. Clicking on the Output link i have an "accept-certificate" error.

What's wrong? Am i avoiding some steps to run the demos? What can i do after deploying demos on AWS?

Thank you for your answers.

No remote video in demos

I tested with two devices using Chrome, both from the same network and from different networks, and with both clients connected you can only see your own camera. I am able to reproduce this on all hosted demos:

https://demos.openvidu.io

Path does not exist

Hii
I am using these dependencies

    "axios": "^0.19.0",
    "openvidu-browser": "^2.11.0",
    "openvidu-node-client": "^2.11.0",
    "react": "16.8.6",
    "react-native": "0.60.5",
    "react-native-webrtc": "^1.75.0"

My code is App.js
https://gist.github.com/rizwan92/52ad61f28a97059d074eee8982e67408

I am facing this problem path does not exist in line number 25.

I tried installing react-native-webrtc by running command npm install react-native-webrtc --save

then I replaced line number 25
from
import { RTCView } from "./node_modules/openvidu-browser/node_modules/react-native-webrtc";
to
import { RTCView } from "react-native-webrtc";
then it is throwing an exception

ExceptionsManager.js:86 TypeError: Cannot read property 'transform' of undefined
This error is located at:
    in RTCVideoView (at App.js:318)
    in RCTView (at View.js:35)
    in View (at App.js:313)
    in RCTView (at View.js:35)
    in View (at App.js:312)
    in RCTView (at View.js:35)
    in View (at ScrollView.js:1007)
    in RCTScrollView (at ScrollView.js:1147)
    in ScrollView (at App.js:310)
    in App (at renderApplication.js:40)
    in RCTView (at View.js:35)
    in View (at AppContainer.js:98)
    in RCTView (at View.js:35)
    in View (at AppContainer.js:115)
    in AppContainer (at renderApplication.js:39)

at line number 203

Publisher' not published to session

All works well
like:localhost:4200
:localhost:4443
:myIp:4443(test runs fine),
Screenshot from 2019-06-26 12-21-51

but when i do (myIP:4200) the console shows:
'Connection' created (local),
New video element associated to Publisher {videos: Array(2), lazyLaunchVideoElementCreatedEvent: false, ee: EventEmitter, stream: Stream, remote: false, …}
accessAllowed: false
accessDenied: true
canPlayListener: ƒ ()
ee: EventEmitter
_events: {accessDenied: Array(0), accessDialogOpened: Array(0)}
proto: Object
isSubscribedToRemote: false
lazyLaunchVideoElementCreatedEvent: false
openvidu: OpenVidu {publishers: Array(1), secret: "", recorder: false, advancedConfiguration: {…}, webrtcStatsInterval: 0, …}
permissionDialogTimeout: 14
properties: {audioSource: undefined, frameRate: 30, insertMode: "APPEND", mirror: false, publishAudio: true, …}
remote: false
session: Session {streamManagers: Array(1), remoteStreamsCreated: {…}, isFirstIonicIosSubscriber: true, countDownForIonicIosSubscribers: true, remoteConnections: {…}, …}
stream: Stream {ee: EventEmitter, isSubscribeToRemote: false, isLocalStreamReadyToPublish: false, isLocalStreamPublished: false, publishedOnce: false, …}
videos: (2) [{…}, {…}]
proto: StreamManager

All this happens but the Publisher's not published to session.

Docker deployment

Do you plan to add docker deployment as production ones in subsequent releases?

openvidu is not generating the recording zip

Hi.
My transmissions are of INDIVIDUAL form, but when the users close badly the transmission does not generate the zip of the recording, in this occasion I can not obtain the JSON that is generated to look for the video

Currently the saved recording is individually, I am recording the screen and audio using Nodejs and angular 7.

Self signed certificate configuration only on safari mobile not working

I run openvidu/server and KMS with single docker container.

I install coturn on my cent os 7 .

This is my command :

docker run -d --net="host" -e openvidu.secret=YOUR_SECRET -e openvidu.publicurl=https://MY_IP:4443 -e openvidu.cdr=true -e server.port=4443 -e KMS_STUN_IP=MY_IP -e KMS_STUN_P|
ORT=19302 -e KMS_TURN_URL=myuser:mypass@MY_IP:3478 --rm -v /var/run/docker.sock:/var/run/docker.sock -v /var/kurento/rec:/var/kurento/rec -e openvidu.recording=true -e MY_UID=$(id -u $USER) -e openvidu.|
recording.path=/var/kurento/rec -e openvidu.recording.public-access=true openvidu/openvidu-server-kms:latest

I run also coturn but with default certification.

Node.js server for recording activated with no problem for desktop browsers everything works fine.

Everything works fine except safari mobile :

Err in browser :

WebSocket network error: The operation couldn’t be completed. (OSStatus error -9807.)
I found that 9807 describe cert chain .

It is very strange for one browser to allow without alert prompt access to the self sign cert site. I say yes but wss coming with problem.

Any suggestion.

I am also interest to know is turn_server.key/crt and openvidu cert for node.js server to different or must be the same certification ?

And did i need to enter in docker container to make some changes about CRT...

I want to use selfSign cert is not problem for development time.

I also try to add this args but with this configuration nothing works:

-e server.ssl.key-store=/var/kurento/node-server/YOUR_KEYSTORE_NAME.jks -e server.ssl.key-store-password=123456 -e server.ssl.key-alias=YOUR_KEYSTORE_ALIAS openvidu/openvidu-server-kms:latest

Openvidu-ionic Consultation

Can Openvidu-ionic realize the communication between Android and browser? Why can't the browser subscribe to the stream published by Android, Android seems to be able to subscribe to the stream published by the browser, but it can't be displayed, only the participant name Participant0

Coturn

I have Coturn Server and Openvidu server in Public network,but my client in private network,what's should I do?How do I configure coturn server on the client side?

openvidu-js-node is not working

Hi OpenVidu team, Thank you for your great work!

Now I'm trying the tutorial[ openvidu-js-node ] but it's not working.
It's able to logged in, but not able to join .

The following is occuring error on server.js .

vagrant@vagrant-ubuntu-trusty-64:~/workspace/openvidu-tutorials/openvidu-js-node$ node server.js localhost:4443 MY_SECRET
App listening on port 5000
Logging in | {user, pass}={publisher1, pass}
'publisher1' has logged in
Getting a token | {sessionName}={Session 7}
New session Session 7
Writable {
  _writableState:
   WritableState {
     objectMode: false,
     highWaterMark: 16384,
     needDrain: false,
     ending: false,
     ended: false,
     finished: false,
     decodeStrings: true,
     defaultEncoding: 'utf8',
     length: 0,
     writing: false,
     corked: 0,
     sync: true,
     bufferProcessing: false,
     onwrite: [Function],
     writecb: null,
     writelen: 0,
     bufferedRequest: null,
     lastBufferedRequest: null,
     pendingcb: 0,
     prefinished: false,
     errorEmitted: false,
     bufferedRequestCount: 0,
     corkedRequestsFree: CorkedRequest { next: null, entry: null, finish: [Function] } },
  writable: true,
  domain: null,
  _events:
   { response: [Function: handleResponse],
     error: [Function: handleRequestError] },
  _eventsCount: 2,
  _maxListeners: undefined,
  _options:
   { protocol: 'https:',
     maxRedirects: 21,
     maxBodyLength: 10485760,
     path: 'https://localhost:4443/api/sessions',
     method: 'post',
     headers:
      { Accept: 'application/json, text/plain, */*',
        'Content-Type': 'application/json',
        Authorization: 'Basic T1BFTlZJRFVBUFA6TVlfU0VDUkVU',
        'User-Agent': 'axios/0.18.0',
        'Content-Length': 129,
        host: 'localhost:4443' },
     agent: undefined,
     auth: undefined,
     hostname: '192.168.56.1',
     port: '3128',
     host: '192.168.56.1',
     nativeProtocols: { 'http:': [Object], 'https:': [Object] },
     pathname: 'https://localhost:4443/api/sessions' },
  _redirectCount: 0,
  _redirects: [],
  _requestBodyLength: 129,
  _requestBodyBuffers:
   [ { data: <Buffer 7b 22 6d 65 64 69 61 4d 6f 64 65 22 3a 22 52 4f 55 54 45 44 22 2c 22 72 65 63 6f 72 64 69 6e 67 4d 6f 64 65 22 3a 22 4d 41 4e 55 41 4c 22 2c 22 64 65 ... >,
       encoding: undefined } ],
  _onNativeResponse: [Function],
  _currentRequest:
   ClientRequest {
     domain: null,
     _events:
      { response: [Object],
        socket: [Function],
        abort: [Function],
        aborted: [Function],
        error: [Function],
        timeout: [Function] },
     _eventsCount: 6,
     _maxListeners: undefined,
     output: [],
     outputEncodings: [],
     outputCallbacks: [],
     outputSize: 0,
     writable: true,
     _last: true,
     upgrading: false,
     chunkedEncoding: false,
     shouldKeepAlive: false,
     useChunkedEncodingByDefault: true,
     sendDate: false,
     _removedHeader: { 'content-length': false },
     _contentLength: null,
     _hasBody: true,
     _trailer: '',
     finished: true,
     _headerSent: true,
     socket:
      TLSSocket {
        _tlsOptions: [Object],
        _secureEstablished: false,
        _securePending: false,
        _newSessionPending: false,
        _controlReleased: true,
        _SNICallback: null,
        servername: null,
        npnProtocol: null,
        alpnProtocol: null,
        authorized: false,
        authorizationError: null,
        encrypted: true,
        _events: [Object],
        _eventsCount: 10,
        connecting: false,
        _hadError: true,
        _handle: null,
        _parent: null,
        _host: null,
        _readableState: [Object],
        readable: false,
        domain: null,
        _maxListeners: undefined,
        _writableState: [Object],
        writable: false,
        allowHalfOpen: false,
        destroyed: true,
        _bytesDispatched: 396,
        _sockname: null,
        _pendingData: null,
        _pendingEncoding: '',
        server: undefined,
        _server: null,
        ssl: null,
        _requestCert: true,
        _rejectUnauthorized: false,
        parser: null,
        _httpMessage: [Circular],
        read: [Function],
        _consuming: true,
        _idleNext: null,
        _idlePrev: null,
        _idleTimeout: -1 },
     connection:
      TLSSocket {
        _tlsOptions: [Object],
        _secureEstablished: false,
        _securePending: false,
        _newSessionPending: false,
        _controlReleased: true,
        _SNICallback: null,
        servername: null,
        npnProtocol: null,
        alpnProtocol: null,
        authorized: false,
        authorizationError: null,
        encrypted: true,
        _events: [Object],
        _eventsCount: 10,
        connecting: false,
        _hadError: true,
        _handle: null,
        _parent: null,
        _host: null,
        _readableState: [Object],
        readable: false,
        domain: null,
        _maxListeners: undefined,
        _writableState: [Object],
        writable: false,
        allowHalfOpen: false,
        destroyed: true,
        _bytesDispatched: 396,
        _sockname: null,
        _pendingData: null,
        _pendingEncoding: '',
        server: undefined,
        _server: null,
        ssl: null,
        _requestCert: true,
        _rejectUnauthorized: false,
        parser: null,
        _httpMessage: [Circular],
        read: [Function],
        _consuming: true,
        _idleNext: null,
        _idlePrev: null,
        _idleTimeout: -1 },
     _header: 'POST https://localhost:4443/api/sessions HTTP/1.1\r\nAccept: application/json, text/plain, */*\r\nContent-Type: application/json\r\nAuthorization: Basic T1BFTlZJRFVBUFA6TVlfU0VDUkVU\r\nUser-Agent: axios/0.18.0\r\nContent-Length: 129\r\nhost: localhost:4443\r\nConnection: close\r\n\r\n',
     _headers:
      { accept: 'application/json, text/plain, */*',
        'content-type': 'application/json',
        authorization: 'Basic T1BFTlZJRFVBUFA6TVlfU0VDUkVU',
        'user-agent': 'axios/0.18.0',
        'content-length': 129,
        host: 'localhost:4443' },
     _headerNames:
      { accept: 'Accept',
        'content-type': 'Content-Type',
        authorization: 'Authorization',
        'user-agent': 'User-Agent',
        'content-length': 'Content-Length',
        host: 'host' },
     _onPendingData: null,
     agent:
      Agent {
        domain: null,
        _events: [Object],
        _eventsCount: 1,
        _maxListeners: undefined,
        defaultPort: 443,
        protocol: 'https:',
        options: [Object],
        requests: {},
        sockets: [Object],
        freeSockets: {},
        keepAliveMsecs: 1000,
        keepAlive: false,
        maxSockets: Infinity,
        maxFreeSockets: 256,
        maxCachedSessions: 100,
        _sessionCache: [Object] },
     socketPath: undefined,
     timeout: undefined,
     method: 'POST',
     path: 'https://localhost:4443/api/sessions',
     _ended: false,
     _redirectable: [Circular],
     parser: null },
  _currentUrl: 'https://192.168.56.1/https://localhost:4443/api/sessions' }
Error: [object Object]
    at /home/vagrant/workspace/openvidu-tutorials/openvidu-js-node/node_modules/openvidu-node-client/lib/Session.js:417:28

Please tell me how I should do.
Best regards.

Is OpenVidu 1.9 not compatible with iphone safari?

Hi,

Recently, I have upgraded Openvidu Server 1.7 to 1.9.0-beta-1.

And I am using Openvidu-mvc-java, deployed in Ubuntu 16.04 with KMS 6.7 and Coturn.

Added the Openvidu-browser-1.9.0-beta-1.js in Openvidu-mvc-java "static" folder.
Changed the version in session.html

Changed openvidu-java-client to 1.8.0 in pom.xml.

Clean compile and package and run.

I am able to get the client side and remote videos in Chrome, Mozilla, Safari 11.0.1 in HighOS Sierra.

But the same not working for iphone Safari 11.0.3, checked in iphone 7 and 10.

So, is there anyother change, specific to get this in iPhone?

Error occurred at 'OpenVidu' initialized

When I updated OpenVidu 2.0.0, below error occurred from openvidu-tutorials/openvidu-insecure-angular. A docker image for OpenVidu Server 2.0.0 already pulled. The docker image, which is OpenVidu server & kurento media server, can't receive any request from angular web application as press the join session button.


ERROR
Error

columnNumber: 31

fileName: "https://localhost:4200/vendor.js"

lineNumber: 105321

message: "Uncaught (in promise): HttpErrorResponse: {"headers":{"normalizedNames":{},"lazyUpdate":null,"headers":{}},"status":0,"statusText":"Unknown Error","url":null,"ok":false,"name":"HttpErrorResponse","message":"Http failure response for (unknown url): 0 Unknown Error","error":{"isTrusted":true}}"

promise: Object { __zone_symbol__state: 0, __zone_symbol__value: {…} }

rejection: Object { status: 0, statusText: "Unknown Error", ok: false, … }

stack: "resolvePromise@https://localhost:4200/vendor.js:105321:31\nresolvePromise@https://localhost:4200/vendor.js:105278:17\nscheduleResolveOrReject/<@https://localhost:4200/vendor.js:105380:17\n./node_modules/zone.js/dist/zone.js/</ZoneDelegate.prototype.invokeTask@https://localhost:4200/vendor.js:104928:17\nonInvokeTask@https://localhost:4200/vendor.js:36079:24\n./node_modules/zone.js/dist/zone.js/</ZoneDelegate.prototype.invokeTask@https://localhost:4200/vendor.js:104927:17\n./node_modules/zone.js/dist/zone.js/</Zone.prototype.runTask@https://localhost:4200/vendor.js:104695:28\ndrainMicroTaskQueue@https://localhost:4200/vendor.js:105102:25\n./node_modules/zone.js/dist/zone.js/</ZoneTask.invokeTask@https://localhost:4200/vendor.js:105007:21\ninvokeTask@https://localhost:4200/vendor.js:106047:9\nglobalZoneAwareCallback@https://localhost:4200/vendor.js:106073:17\n"

task: Object { runCount: 0, _state: "notScheduled", type: "microTask", … }

zone: Object { _properties: {…}, _parent: {…}, _name: "angular", … }

proto: Object { … }
core.js:1598
defaultErrorLogger
core.js:1598
./node_modules/@angular/core/fesm5/core.js/ErrorHandler.prototype.handleError
core.js:1647
next
core.js:4727:74
./node_modules/@angular/core/fesm5/core.js/EventEmitter.prototype.subscribe/schedulerFn<
core.js:3712:34
./node_modules/rxjs/_esm5/internal/Subscriber.js/SafeSubscriber.prototype.__tryOrUnsub
Subscriber.js:253
./node_modules/rxjs/_esm5/internal/Subscriber.js/SafeSubscriber.prototype.next
Subscriber.js:191
./node_modules/rxjs/_esm5/internal/Subscriber.js/Subscriber.prototype._next
Subscriber.js:129
./node_modules/rxjs/_esm5/internal/Subscriber.js/Subscriber.prototype.next
Subscriber.js:93
./node_modules/rxjs/_esm5/internal/Subject.js/Subject.prototype.next
Subject.js:53
./node_modules/@angular/core/fesm5/core.js/EventEmitter.prototype.emit
core.js:3704:52
onHandleError/<
core.js:4084:48
./node_modules/zone.js/dist/zone.js/</ZoneDelegate.prototype.invoke
zone.js:388
./node_modules/zone.js/dist/zone.js/</Zone.prototype.run
zone.js:138
./node_modules/@angular/core/fesm5/core.js/NgZone.prototype.runOutsideAngular
core.js:4021
onHandleError
core.js:4084
./node_modules/zone.js/dist/zone.js/</ZoneDelegate.prototype.handleError
zone.js:392
./node_modules/zone.js/dist/zone.js/</Zone.prototype.runGuarded
zone.js:154
_loop_1
zone.js:677
./node_modules/zone.js/dist/zone.js/</</api.microtaskDrainDone
zone.js:686
drainMicroTaskQueue
zone.js:602
./node_modules/zone.js/dist/zone.js/</ZoneTask.invokeTask
zone.js:500
invokeTask
zone.js:1540
globalZoneAwareCallback
zone.js:1566
ERROR
Object { headers: {…}, status: 0, statusText: "Unknown Error", url: null, ok: false, name: "HttpErrorResponse", message: "Http failure response for (unknown url): 0 Unknown Error", error: error }
core.js:1598
defaultErrorLogger
core.js:1598
./node_modules/@angular/core/fesm5/core.js/ErrorHandler.prototype.handleError
core.js:1647
next
core.js:4727:74
./node_modules/@angular/core/fesm5/core.js/EventEmitter.prototype.subscribe/schedulerFn<
core.js:3712:34
./node_modules/rxjs/_esm5/internal/Subscriber.js/SafeSubscriber.prototype.__tryOrUnsub
Subscriber.js:253
./node_modules/rxjs/_esm5/internal/Subscriber.js/SafeSubscriber.prototype.next
Subscriber.js:191
./node_modules/rxjs/_esm5/internal/Subscriber.js/Subscriber.prototype._next
Subscriber.js:129
./node_modules/rxjs/_esm5/internal/Subscriber.js/Subscriber.prototype.next
Subscriber.js:93
./node_modules/rxjs/_esm5/internal/Subject.js/Subject.prototype.next
Subject.js:53
./node_modules/@angular/core/fesm5/core.js/EventEmitter.prototype.emit
core.js:3704:52
onHandleError/<
core.js:4084:48
./node_modules/zone.js/dist/zone.js/</ZoneDelegate.prototype.invoke
zone.js:388
./node_modules/zone.js/dist/zone.js/</Zone.prototype.run
zone.js:138
./node_modules/@angular/core/fesm5/core.js/NgZone.prototype.runOutsideAngular
core.js:4021
onHandleError
core.js:4084
./node_modules/zone.js/dist/zone.js/</ZoneDelegate.prototype.handleError
zone.js:392
./node_modules/zone.js/dist/zone.js/</Zone.prototype.runTask
zone.js:191
./node_modules/zone.js/dist/zone.js/</ZoneTask.invokeTask
zone.js:496
ZoneTask/this.invoke
zone.js:485
timer

Coturn not working?????

I deployed OpenviduServer on the Ubuntu of the private network in the way of official deployment.If my client is connected on the private network, if my client is not connected on the public network, what's the reason? Is coturn not working? What should I do?

What's the difference between OV.createSession() (server side) and OV.initSession() (client).

I'm trying to record my stream and I've come across this line number 275 and 278 here

the session object passed in the OV.startRecording() is from the client side.

and here in the docs of the recording node ref sheet the session id is from OV.createSession().

so, what's the difference between them? which one should choose to get the session ID, because when I used the OV.createSession()'s session ID, I got 404 error , which according to the docs and I quote 404: no session exists for the passed sessionId .

so this means that I should use the client's session ID?
if so then what's the use of server side session?

a side node, I noticed that Recording.OutputMode.INDIVIDUAL and RecordingMode.ALWAYS doesn't work, the error says that cannot get INDIVIDUAL of undefined, I explicitly passed string 'INDIVIDUAL' and 'ALWAYS'.

any guesses on both of the errors?

Openvidu-ionic

Openvidu-ionic可以实现安卓端与浏览器通讯吗?为什么浏览器端无法订阅到安卓端发布的流,安卓端似乎可以订阅到浏览器发布的流,但无法展示出来,只有参与者名称Participant0

Unable to connect to OpenVidu dashboard.

I'm trying to deploy OpenVidu on AWS following the following tutorial: https://openvidu.io/docs/deployment/deploying-aws/

It completes successfully but when I try to connect to the openvidu dashboard to test it with the websiteUrl from the Output Tab, and enter the default username and password, "OPENVIDUAPP" and "MY_SECRET", It keeps on asking me for the username and password. And doesn't navigate me to the dashboard.

Any help would be appreciated.

Openvidu-ionic

What is the version of Android that Openvidu-ionic requires?

Problem with session.connect and token in openvidu-mvc-java

I have updated to Openvidu 2.0.0. In your MVC Java tutorial, when you join a session, a token is generated like so: String token = session.generateToken(tokenOptions);. The token generated is in this form: 0a4b8d8ikdo53wsl, 73hmvkapoe2ztgtm,...

Then the client code takes that token and connects to the session like so:
session.connect(token, metadata).then(...).catch(...)

I got an error with that though:
image

After some digging around I am led to believe it's because of Session.prototype.processToken, which has this line: var url = new URL(token), which supposedly throws an error because the token received isn't an url?

My Openvidu server has been functioning well before I upgrade my code to 2.0.0. When this error happens, the server does not receive any event.

I think I am most likely missing something, so if you will clarify this for me I'll be most grateful.

Please improve code quality

I like the idea of openvidu but looking through the code examples as well as the api code, i see they both have very bad quality. That leads me to the question if I can trust the api as well for building a high quality product.

openvidu not working in iPhone and iPad safari

Hi,
I set up an openvidu-mvc-node environment with version 2.4.0, it works well bonth in PC chrome and Mac chrome, but saddly it doesn't work in iPhone safari and iPad safari. Actually I debugged the codes in iPad safari and I found out the below variable mediaStream is undefined (in file openvidu-browser-2.4.0.js line number 5150), and I can get a successfuly mediaStream in PC chome, it seems that we can't get remote stream from peerConnection in iPad safari.

Stream.prototype.remotePeerSuccessfullyEstablished = function () {
    **this.mediaStream = this.webRtcPeer.pc.getRemoteStreams()[0];**
    console.debug('Peer remote stream', this.mediaStream);
    if (!!this.mediaStream) {
        this.ee.emitEvent('mediastream-updated');
        if (!this.displayMyRemote() && !!this.mediaStream.getAudioTracks()[0] && this.session.speakingEventsEnabled) {
            this.enableSpeakingEvents();
        }
    }
};

I also tried another demo following this tutorils: https://apple.openvidu.io/ , this demo works fine both in iPad and iPhone safari, do you know anything different between the tow demos? Is there any specail configuration I need to know? Advanced thanks for your help.

Unable to start video

When i click on start button, getting exception message as " The certificate of the peer does not match the expected hostname" on android device

I can't get recorded files.

I use “this.recordingMode = RecordingMode.ALWAYS;” in openvidu-java-client(openvidu-js-java), and it can work. There was a problem when I left the room. The log was "Waiting for container to be launched..." and the recording container did not stop.
4e967b11410abdb7cfba9fd1fcf827a
7be5bd5c9258851fdac7a795d7c4ddb
bf30240d751c7140d39b8854b83f627
log.txt

React native - npm install issues

Hello!
I was trying to install react native tutorial project dependencies and I'm not able to do that. I've just cloned repo from https://openvidu.io/docs/tutorials/openvidu-react-native/
and I receiving a lot of error messages about operating system permission issues trying to execute npm install. I run this command via node.js command prompt as administrator.
2019-09-04_14h13_28

--
My setup:
Node: v10.16.0
react-native-cli: 2.0.1
Windows 10

openvidu is not generating the recording zip

Hi.
My transmissions are of INDIVIDUAL form, but when the users close badly the transmission does not generate the zip of the recording, in this occasion I can not obtain the JSON that is generated to look for the video

Currently the saved recording is individually, I am recording the screen and audio using Nodejs and angular 7.

openvidu-recording-node cannot record

Ubuntu installed since amazon container did not complete install
openvidu-mvc-node works on all devices so I tried the recording tutorial now
docker installed with docker daemon running

kurento server running

started openvidu with:
java -jar -Dopenvidu.recording=true -Dopenvidu.recording.path=/home/path/to/videofiles -Dopenvidu.recording.free-access=true -Dopenvidu.secret=[MY_SECRET]-Dopenvidu.publicurl=https://[myweb.site]:8443/ -Dserver.ssl.key-store=[/path/to/keystore.jks] -Dserver.ssl.key-store-password=[mykspass] -Dserver.ssl.key-alias=[myksalias] openvidu-server-1.9.0.jar &

ran the nodejs:
node server.js [myweb.site]:8443 [MY_SECRET]

I can see/hear other streams and they can see/hear

but when I click record :
Start recording WRONG: HTTP 400 (500)

console gives me:
Request URL: https://[myweb.site]:5000/api/recording/start
Request Method: POST
Status Code: 400 Bad Request
Remote Address: [myip]:5000
Referrer Policy: no-referrer-when-downgrade

What if end user using openvidu-browser get out of power suddenly?

I am following openvidu-node-client example. Here when user leaves the browser or closes the tab the js client make api request to node-server client to remove session and tokens being used.

But what if end user suddenly gets out of power and suddenly computer shuts down.

Is there any way to catch that event?

iOS swift4.0

condition:
1.xcode 10.2
2.ios 12.1

Is there any support for swift 4.0 or above now?

How could I make the ios platform use Swift superior to swift 3?

I am seeing that when I generate the ios platform the swift version that it uses is swift 3, however, the latest version of Xcode (Xcode 10.2.1 onwards) does not have support for swift 3.
Is it possible to make the ionic openvidu project generate the platform with swift 4 or higher?

openvidu-hello-world

hi
others can internet this web,but can not join .
i can internet this web ande join.
why?
thank you.

Issue with enabling Recording on AWS deployed demo

Hello there, Our AWS deployed demos are working successfully and we want to add recording feature in Basic Videoconference app.
For that there is a POST request to /api/sessions in app.js
Currently it is sending :

data: JSON.stringify({ customSessionId: sessionId}) as data and i edited it to:

data: JSON.stringify({ customSessionId: sessionId , recordingMode: "ALWAYS" })

But saw no difference, Docker is installed in server and i started the server with following comand also to enable recording:

java -jar -Dserver.ssl.enabled=false -Dopenvidu.publicurl=MY_AWS_URL:4443 -Dopenvidu.recording=true -Dopenvidu.recording.path=/var/www/html/recordings -Dserver.port=5443 /opt/openvidu/openvidu-server.jar

and got output recorder installed but no recordings are saving in given path.


and there is file named openvidu-browser-2.8.0.js in same folder
in this file there is a option this.recorder = false; on line 3423. i set it to true but after setting app throwing debugger error and pausing so i set it to false again.

Also, i checked recordings in /opt/openvidu/recordings but is empty.

Can you please help me on this so that i can get recordings.

Thanks

Problem when running the react-insecure tutorial

After executing the instructions in the running this tutorial section here https://openvidu.io/docs/tutorials/openvidu-insecure-react/

When I open the website and click join to start the video conferencing, I got this error

Failed to load resource: net::ERR_CERT_AUTHORITY_INVALID
App.js:294 Uncaught (in promise) TypeError: Cannot read property 'status' of undefined
at App.js:294

Maybe the certificates on the server running in the docker container is expired?

Access-Control-Allow-Origin issue

I am trying to follow the hello world tutorial but I have a cors issue and I am not able to find something in the tutorial about that. This is the tutorial that I am following: https://openvidu.io/docs/tutorials/openvidu-hello-world/

I am able to access the openvidu server (https://localhost:4443) login with my secret and test the connection.

I was able to start the openvidu server successfully I am able to fire the POST /api/sessions request and I can see that the response is generated on the openvidu server:

2018-05-30 11:11:24,265 DEBG 'kms' stdout output:
0:20:04.507731532     8 0x7f57b0001830 DEBUG   KurentoWebSocketTransport WebSocketTransport.cpp:422:processMessage: Message: {"id":138,"method":"ping","jsonrpc":"2.0","params":{"sessionId":"1c211ea2-d4b0-4a0c-bf8f-bd543d5792fe"}}
0:20:04.507828568     8 0x7f57b0001830 INFO    KurentoServerMethods ServerMethods.cpp:795:ping: WebSocket Ping/Pong with sessionId 1c211ea2-d4b0-4a0c-bf8f-bd543d5792fe
0:20:04.507923951     8 0x7f57b0001830 DEBUG   KurentoWebSocketTransport WebSocketTransport.cpp:424:processMessage: Response: {"id":138,"jsonrpc":"2.0","result":{"sessionId":"1c211ea2-d4b0-4a0c-bf8f-bd543d5792fe","value":"pong"}}

The problem is that the browser rejects the request because of cors issue:

- POST https://localhost:4443/api/sessions 401 ()
- (index):1 Failed to load https://localhost:4443/api/sessions: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:8080' is therefore not allowed access. The response had HTTP status code 401.

Is there a place to configure the different acceptable origins?

This is how I start the openvidu server:
docker run -p 4443:4443 --rm -e openvidu.secret=secret openvidu/openvidu-server-kms

problem when running the openvidu-ionic

condition:
1.xcode 10
2.ios 12.1

when i running the demo os macos with the real iphone device,according the introduction url :https://openvidu.io/docs/demos/openvidu-call-ionic/

the app can run,and join the sessions.
but it only can see itself, and the other port like web or andorid devices could't see the iphone audio.

i search the xcode debug message, find the info below:
2019-02-20 16:54:40.450876+0800 OpenVidu Ionic[20539:7038971] [avas] AVAudioSessionPortImpl.mm:56:ValidateRequiredFields: Unknown selected data source for Port 扬声器 (type: Speaker)
2019-02-20 16:54:40.452222+0800 OpenVidu Ionic[20539:7038971] [avas] AVAudioSessionPortImpl.mm:56:ValidateRequiredFields: Unknown selected data source for Port 接收器 (type: Receiver)
2019-02-20 16:54:40.452510+0800 OpenVidu Ionic[20539:7038971] [avas] AVAudioSessionPortImpl.mm:56:ValidateRequiredFields: Unknown selected data source for Port 接收器 (type: Receiver)
2019-02-20 16:54:40.552818+0800 OpenVidu Ionic[20539:7038971] [avas] AVAudioSessionPortImpl.mm:56:ValidateRequiredFields: Unknown selected data source for Port 接收器 (type: Receiver)
2019-02-20 16:54:40.553857+0800 OpenVidu Ionic[20539:7038971] [avas] AVAudioSessionPortImpl.mm:56:ValidateRequiredFields: Unknown selected data source for Port 接收器 (type: Receiver)
2019-02-20 16:54:40.554043+0800 OpenVidu Ionic[20539:7038971] [avas] AVAudioSessionPortImpl.mm:56:ValidateRequiredFields: Unknown selected data source for Port 接收器 (type: Receiver)

by the way,the web and android devices port work well.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.