Commit Graph

966 Commits (80b097e3793252dd1156bcdf5c7bb45d13a6d54f)

Author SHA1 Message Date
Juan Navarro 8e5f5d4cf4
openvidu-server, browser: Add Simulcast Publisher config (#680)
Simulcast is a per-Publisher configuration that allows to enable
Simulcast senders on the client's PeerConnection of each sender.

Simulcast is a WebRTC feature that sends multiple simultaneous streams
with different video qualities, in order to let the media server decide
which quality is best for which Subscriber on the receiving side.

Enabled by default.
2022-01-05 15:12:51 +01:00
pabloFuente c7f247fbe6 Test commit trigger, again 2021-12-03 11:49:10 +01:00
pabloFuente da2758a93e Test commit trigger, again 2021-12-03 11:45:27 +01:00
pabloFuente 055d99206b openvidu-server: more FormatChecker unit tests 2021-12-02 14:38:01 +01:00
pabloFuente 31464df41b openvidu-server: check null on turnCredentials when leaving session 2021-12-02 12:12:48 +01:00
pabloFuente 0dd32610ae openvidu-server: fix name for recording containers 2021-12-02 12:03:43 +01:00
pabloFuente 7d8221de73 openvidu-server: change recording number delimiter from - to ~ 2021-12-01 17:58:28 +01:00
pabloFuente 2aecdfad1f openvidu-server: remove unused containers Map in ComposedRecordingService 2021-12-01 17:08:13 +01:00
pabloFuente 024230a87c Add FormatChecker unit test 2021-12-01 15:43:01 +01:00
pabloFuente e73ebfee78 Fix KurentoClient disconnect handler after Netty exception 2021-11-30 19:24:30 +01:00
pabloFuente 7470261345 openvidu-server: add OpenviduConfig#asOptionalStringAndNullIfBlank 2021-11-24 17:16:01 +01:00
Juan Navarro 5ea339c3cd openvidu-server: warn Publisher about useless usage of AllowTranscoding 2021-11-24 15:54:15 +01:00
pabloFuente e60ac50d26 WebhookIntegrationTest 2021-11-14 23:16:54 +01:00
pabloFuente 90b075cc7f openvidu-server: support for rtsp SSL IP cameras (rtsps://...) 2021-11-12 18:45:05 +01:00
pabloFuente c9aed9da7b openvidu-server: revert commit reversion, without polling thread bug 2021-11-12 18:35:58 +01:00
pabloFuente c6687efe0e Revert "openvidu-test-e2e: fix restApiProTest"
This reverts commit 10ad16464c.
2021-11-12 18:09:52 +01:00
pabloFuente 10ad16464c openvidu-test-e2e: fix restApiProTest 2021-11-11 18:50:32 +01:00
pabloFuente a604865f65 openvidu-server: typo fixed in RpcHandler log 2021-11-11 12:01:55 +01:00
pabloFuente f81735d7f9 openvidu-server: remove unused imports. Update deprecated docker-java methods 2021-11-10 19:45:00 +01:00
pabloFuente cd847c1daf openvidu-server: new certificate with better "-name" flag 2021-11-09 17:10:59 +01:00
pabloFuente 00d3e429af openvidu-server: updated certificate 2021-11-09 16:26:17 +01:00
pabloFuente 47058c6292 Update Junit Jupiter versions. RecordingManager#checkRecordingPaths to protected 2021-11-09 01:17:48 +01:00
cruizba 594cd24706 openvidu-server: refactor with method Kms.getMediaServer to get which media server is running and Add it to Kms.toJsonExtended as attribute 2021-11-05 21:57:07 +01:00
Juan Navarro cff5e634f5 openvidu-server: unify debug message in connect() methods 2021-11-05 15:52:47 +01:00
Juan Navarro 142348fcef openvidu-server: gatherCandidates() returns immediately, no need for async 2021-11-05 15:52:47 +01:00
pabloFuente e4d0123682 openvidu-test-e2e: fix openViduJavaClientTestIpCamAndTranscoding 2021-11-03 11:09:53 +01:00
pabloFuente ada73560d6 openvidu-server: disable KurentoClient remote operations for stopping INDIVIDUAL recording upon media server reconnection 2021-11-02 13:37:12 +01:00
Juan Navarro a7332aac70
openvidu-server: add MKV recording profile as part of MediaServer enum (#658)
Uses the MediaServer enum to contain information that is specific about
each particular media server. Specifically,

* kurento must record with the WEBM profile and ".webm" file extension
* mediasoup must record with the MKV profile and ".mkv" file extension

Integrating this as part of the global Openvidu config object makes it
trivial to replace the static or hardcoded lines with others that simply
obtain the data from the current media server mode in use.
2021-11-02 11:40:42 +01:00
pabloFuente 9b599ebb6a openvidu-test-e2e: mediaServerReconnect tests 2021-10-30 19:28:30 +02:00
pabloFuente ff50fa45f0 Use kurento docker image with tests. Infinite media server reconnection on CE 2021-10-29 13:38:20 +02:00
pabloFuente edb5dd36ff openvidu-server: deprecated recordingStarted/recordingStopped CDR events removed 2021-10-28 14:06:48 +02:00
pabloFuente 8e418bfd16 Check openvidu-browser and openvidu-server compatibility 2021-10-27 14:04:19 +02:00
Juan Navarro 88d5fd97a7 openvidu-server: remove ForceCodec=NONE for mediasoup
Allow forcing a specific codec when mediasoup is the media server. This
requires changes in the recording! Otherwise, incompatible combinations
might occur. For example, currently WEBM is a container that works ok
for VP8 and VP9 video, but won't work with H.264.
2021-10-26 10:32:57 +02:00
cruizba c2ec01d38c openvidu-server-e2e: E2E Test for mediasoup 2021-10-21 14:35:11 +02:00
pabloFuente 6bf0797df6 openvidu-server: removed ServletCustomizer (https://github.com/spring-projects/spring-boot/blob/main/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/web/server/MimeMappings.java) 2021-10-19 13:02:07 +02:00
Juan Navarro fc61692b09 openvidu-server / deployment: add VP9 to OPENVIDU_STREAMS_FORCED_VIDEO_CODEC
This was already a possibility but most comments didn't mention it
2021-10-15 16:53:44 +02:00
Juan Navarro 0678d86eeb openvidu-server: simplify logic for recording track selection
Two changes that try to make the code easier to read and maintain in the
future. The logic itself doesn't change.

- Do not repeat the MediaProfile assignments. This makes the flow much
easier to understand. And less error prone.

- Do not mix error handling with actual logic. By throwing early, the
actual selection logic that follows is more obvious.
2021-10-15 16:53:44 +02:00
cruizba 93626e5907 openvidu-server: LocalDockerManage#removeVolume added 2021-10-13 15:33:01 +02:00
cruizba c32622dc28 Stop OpenVidu with error if COTURN_PORT is not valid 2021-10-07 22:20:56 +02:00
cruizba bced9ecfa2 If COTURN_PORT not defined or errored, set 3478 by default 2021-10-07 22:13:21 +02:00
Pablo Fuente Pérez 20fdbe0fe1
Merge pull request #656 from gtunon/master
Coturn port conf
2021-10-07 18:35:55 +02:00
gtunon a9a4be6c7c Double space to single space 2021-10-07 07:32:28 +02:00
gtunon 45c04e0156 getNonUserProperties updated with COTURN_PORT 2021-10-07 07:26:21 +02:00
pabloFuente fa2e949b99 openvidu-server: LocalDockerManage#getMountsForContainers added 2021-10-06 14:15:31 +02:00
gtunon 57faf14b21 Coturn port conf 2021-10-01 09:09:04 +02:00
pabloFuente 197ddc8ce8 openvidu-server: LocalDockerManage#getRunningContainers filtering by status 2021-09-30 15:32:03 +02:00
pabloFuente 2e5f605225 /latest to /stable 2021-09-29 11:44:18 +02:00
jenkinsopenvidu 5ee08a2d62 Update to version v2.20.0 2021-09-22 16:16:07 +00:00
pabloFuente 34a16cf98c Replace System.exit with Runtime.getRuntime.halt 2021-09-22 11:16:15 +02:00
pabloFuente 1f3f439e22 openvidu-server: asOptionalInetAddress less restrictive 2021-09-21 12:52:31 +02:00
pabloFuente 67fad6a3ce openvidu-server: session already created message improved 2021-09-10 14:41:49 +02:00
pabloFuente 91d24ccd42 openvidu-server: improved concurrent Session initializaion 2021-09-10 13:10:52 +02:00
Juan Navarro 5b79f9a0a1 recording: improve Error event logs
Make the logs more descriptive and use the same structure for both of
them in CompositeWrapper and SingleStreamRecordingService.
2021-09-08 11:28:10 +02:00
Juan Navarro 1b01ffab81 recording: block on connect() before calling record()
The Kurento RecorderEndpoint.record() method expects that all elements
have been successfully connected. However if connect() is called non-
blocking, then it might happen that record() is called in parallel, when
the connections haven't been done yet.
2021-09-08 11:28:10 +02:00
pabloFuente 3b3fcaa1f0 openvidu-server: fix nullpointers when removing crashed Media Node 2021-09-02 17:53:05 +02:00
pabloFuente 132653cde7 openvidu-server: parallel stop of RecorderEndpoints 2021-09-02 17:09:25 +02:00
Juan Navarro 3e42a6ef23 recording: block on connect() before calling record()
The Kurento RecorderEndpoint.record() method expects that all elements
have been successfully connected. However if connect() is called non-
blocking, then it might happen that record() is called in parallel, when
the connections haven't been done yet.
2021-08-30 18:53:01 +02:00
pabloFuente 4d3602dc30 Fix e2e tests 2021-08-11 02:20:53 +02:00
pabloFuente b9fa01eccb openvidu-server: fix NullPointer when location is null in Participant 2021-08-10 21:34:27 +02:00
pabloFuente 23eed95937 openvidu-server: fix typo 2021-08-10 20:03:12 +02:00
pabloFuente 0b7c993551 Fix e2e tests with new Connection#ip property 2021-08-10 19:27:17 +02:00
pabloFuente 8559ca96d4 openvidu-server: change order of action upon KurentoClient disconnection (nodeCrashed) 2021-08-10 18:25:12 +02:00
pabloFuente 2cba879541 openvidu-server: fix GeoLocationByIpDummy to support Connection ip 2021-08-10 17:56:26 +02:00
pabloFuente 7d17c05409 openvidu-server: add property ip to Connection entity 2021-08-10 17:54:00 +02:00
jenkinsopenvidu 5a5e99c50c Update to version v2.19.0 2021-07-26 12:01:34 +00:00
pabloFuente 4c9e9ee6b3 Update .env file with OPENVIDU_EDITION property 2021-07-23 17:57:24 +02:00
cruizba ad1dca04cb openvidu server: Experimental parameter to enable GPU in recording containers. Add custom recording image configuration parameter. 2021-07-23 17:03:23 +02:00
cruizba 968f1b1391 Bump openvidu-recording version to 2.19.0 2021-07-13 14:33:59 +02:00
cruizba d47a1c9ad7 Add additional parameter 'COTURN_INTERNAL_RELAY=<boolean>' to use Public or Internal IP. Defaults to 'false', which respect previous OpenVidu default deployment configuration 2021-07-12 15:55:31 +02:00
pabloFuente fc5a53ce91 openvidu-server: no more sintactic sugar 2021-07-08 18:36:43 +02:00
pabloFuente 4b3b3780be openvidu-server: improve websocket disconnection detection when sending response 2021-07-08 18:04:18 +02:00
cruizba 3265bf401d openvidu-server: Reduce number of candidates when MEDIA_NODES_PUBLIC_IPS is defined 2021-07-08 17:49:52 +02:00
pabloFuente 9fd690559e openvidu-server: extend warn log when client websocket is closed 2021-07-08 15:33:15 +02:00
pabloFuente 432301e565 openvidu-server: warn instead of error when websocket has been closed by client 2021-07-08 15:31:01 +02:00
cruizba aa050b140d openvidu-server: Better implementation for MEDIA_NODES_PUBLIC_IPS 2021-07-07 18:08:49 +02:00
cruizba 87e9fb308c openvidu-server: Refactor method to check valid IPv4 and IPv6 parameters in OpenViduConfig.java 2021-07-06 21:31:18 +02:00
cruizba 879a88299d openvidu-server: Add parameter MEDIA_NODES_PUBLIC_IPS to modify public ip on remote media server candidates 2021-07-06 21:22:30 +02:00
pabloFuente 08b0742163 openvidu-server: not active sessions generate sessionDestroyed event 2021-07-02 14:57:05 +02:00
pabloFuente 6d93fc3405 Forcibly reconnect subscribers upon publisher reconnection if necessary 2021-06-30 16:00:13 +02:00
pabloFuente 35238a3390 openvidu-server: updated KurentoClient generic methods usage 2021-06-21 11:14:53 +02:00
pabloFuente 9b1663f1c8 openvidu-server: change sessionCreated CDR event timing 2021-06-07 13:09:40 +02:00
pabloFuente 1b89d2751b openvidu-server: disable recording check on init if mediasoup 2021-06-03 13:42:46 +02:00
pabloFuente 7c4b1c94ef openvidu-server: forcedVideoCodec to NONE if mediasoup 2021-06-03 13:30:43 +02:00
pabloFuente 1aff994c8e openvidu-server: fix /accept-certificate controller to return template 2021-06-02 22:33:02 +02:00
pabloFuente fd646bc2a2 openvidu-server: fix Recording construction with frameRate property 2021-06-02 12:42:16 +02:00
jenkinsopenvidu 516d3d76dc Update to version v2.18.0 2021-06-01 16:10:54 +00:00
pabloFuente 31002b2ffc openvidu-server: always apply heavy munging 2021-05-31 17:40:20 +02:00
pabloFuente 21615755f9 Support subscription with different client-server negotiation order 2021-05-31 15:20:54 +02:00
pabloFuente 845a088e69 Revert "openvidu-server: gatherCandidates after processAnswer on 2.18.0 SubscriberEndpoint"
This reverts commit e6808f987c.
2021-05-28 16:09:00 +02:00
pabloFuente 98d409c5c3 openvidu-server: fix PARTICIPANTJOINED_MEDIASERVER_PARAM 2021-05-28 14:20:29 +02:00
pabloFuente 8e5836a21b openvidu-server: mediaServer joinRoom response parameter 2021-05-28 12:40:46 +02:00
pabloFuente 21020c1ca9 openvidu-server: "echo" rpc method 2021-05-26 14:47:16 +02:00
pabloFuente f36da68598 openvidu-server: document EndReason 2021-05-20 18:03:01 +02:00
pabloFuente e2b6963a6b openvidu-server: close sessions before closing KurentoClients on PreDestroy 2021-05-20 17:59:30 +02:00
pabloFuente eb3c28d0be openvidu-server: fix RecordingProperties build on setFinalRecordingNameAndGetFreeRecordingId 2021-05-11 17:04:47 +02:00
pabloFuente 888cc1bfc5 openvidu-server: parse ignoreFailedStreams recording property from REST params 2021-05-11 12:35:37 +02:00
pabloFuente f1da724533 New RecordingProperty ignoreFailedStreams 2021-05-11 12:28:41 +02:00
pabloFuente da003448ff openvidu-server: master node nodeCrashed event 2021-05-07 11:32:51 +02:00
pabloFuente 36c707bfb8 openvidu-server: fix insecure SSL certificate validation for webhook endpoints 2021-04-30 14:51:22 +02:00
cruizba 69fa73c9c0 openvidu-ce: change connectionId to finalUserId in TokenServices comments 2021-04-29 18:49:05 +02:00