Commit Graph

1004 Commits (d1e6aeab36ba85b450168d0b46ffa021a67a0222)

Author SHA1 Message Date
pabloFuente 022a692735 openvidu-server: Kms#fetchMediaServerType (no remote operation on GET media-node) 2022-03-18 12:38:08 +01:00
pabloFuente 701e35356b Update Copyright dates 2022-03-18 10:31:19 +01:00
pabloFuente 85c0cc0584 openvidu-server: fix close session and init session race condition 2022-03-17 17:16:17 +01:00
pabloFuente 87f2613860 openvidu-server: always call WebRtcEndpoint#addIceCandidate on RPC onIceCandidate from openvidu-browser 2022-03-15 17:37:23 +01:00
pabloFuente defba84160 openvidu-server: remove unnecessary try-catch after 2.21 in RpcHandler 2022-03-11 13:40:16 +01:00
pabloFuente 993dc831c8 openvidu-server: update dashboard package.json dependencies with npm audit 2022-03-11 13:15:35 +01:00
pabloFuente 90a665230c openvidu-server: manage INDIVIDUAL recording start uncaught error 2022-03-07 13:51:58 +01:00
pabloFuente 2dbbcfbe33 openvidu-server: extend timeouts during integration test 2022-03-04 10:48:10 +01:00
jenkinsopenvidu 0e71cbc561 Update to version v2.21.0 2022-03-03 12:28:08 +00:00
pabloFuente f503d5006b openvidu-server: fix lack of media_node_id to ELK summaries 2022-03-02 15:01:58 +01:00
pabloFuente 0b0f260ec9 Remove OPENVIDU_WEBRTC_SIMULCAST property from CE application.properties 2022-03-01 11:29:49 +01:00
Juan Navarro 4d004e4a9e Review all href usages of target="_blank"
Do not force the user's browser to open new tabs when navigating within
the documentation pages. We discussed about this and agreed that doing
so is user hostile and goes away from how HTTP links have been working
for 30 years (i.e. leave users decide if THEY want a new tab or not, by
how they open the links).

Used these regexes:

From: target="blank"
To: target="_blank"

From: (\]\((?!http)[^)]+\))\{:target="_blank"\}
To: $1

From: (\]\(https?://docs.openvidu.io[^)]+\))\{:target="_blank"\}
To: $1

From: href="((?!http)\S+)" target="_blank"
To: href="$1"

From: href="(https?://docs.openvidu.io\S+)" target="_blank"
To: href="$1"
2022-02-28 13:51:44 +01:00
cruizba d32aefb900 openvidu-server,openvidu-node-client: Typos and missing parameter in openvidu-node-client for IceServerProperties 2022-02-25 16:24:27 +01:00
cruizba c15d6170da openvidu-server: External Turn REST API credentials: https://datatracker.ietf.org/doc/html/draft-uberti-rtcweb-turn-rest-00 2022-02-25 10:47:07 +01:00
cruizba af5efc4de4 openvidu-server: Simplify readIceServer method to load OPENVIDU_WEBRTC_ICE_SERVERS 2022-02-24 21:59:00 +01:00
cruizba 963191fe93 openvidu: Remove not needed method 2022-02-21 22:57:23 +01:00
cruizba 8220d9e6ed openvidu-server: Minor changes on showing configuration at first run.
- Don't show on running some empty parameters on first run.
- Add post processing config for openvidu-pro to show postprocessed config parameters correctly on first run.
2022-02-21 22:19:38 +01:00
cruizba 2719540d32 openvidu: Rename IceServerPropertiesTests to IceServerPropertiesTest 2022-02-16 18:11:53 +01:00
cruizba 4d579cf8b3 openvidu: Add OPENVIDU_WEBRTC_ICE_SERVERS configuration paramater 2022-02-13 19:33:41 +01:00
cruizba 0437cc9199 Add customIceServers to openvidu-node-client. Send customIceServers to openvidu-browser in 'joinRoom' response 2022-02-11 20:03:26 +01:00
cruizba fca9c7b2ab Tests for IceServerProperties. Integrate new attribute to Connection and generation token logic 2022-02-08 20:04:51 +01:00
cruizba 3274db8a61 Merge branch 'master' of https://github.com/OpenVidu/openvidu into feature/custom-ice-servers 2022-02-07 18:13:34 +01:00
pabloFuente 14b89da6f3 openvidu-server: replace IdentifierPrefixes.MEDIA_ID with MEDIA_NODE_ID 2022-02-03 13:08:29 +01:00
pabloFuente 6fec7f7cd3 openvidu-server: add new IdentifierPrefixes.OPENVIDU_NODE_ID 2022-02-03 13:01:02 +01:00
cruizba ad778ff0d3 openvidu-server: Add customIceServers to REST post of connection 2022-02-02 18:44:19 +01:00
Juan Navarro eddf86f430 openvidu-server: sanitize string for custom ConnectionId 2022-01-28 14:16:04 +01:00
pabloFuente 425fe0983c openvidu-server: allow setting custom ConnectionId for debug purposes
Allows applications to set a custom string for the the connection ID,
which is a great help for debugging purposes, as it will appear in
all server logs and also will be used to set media server object names
(with obj.setName() API)
2022-01-28 14:12:21 +01:00
Juan Navarro 202e782c9d openvidu-server: disable Simulcast Publisher by default 2022-01-28 14:07:06 +01:00
Juan Navarro f05dc3db33 openvidu-server: rename Simulcast Publisher config
OPENVIDU_STREAMS_VIDEO_SIMULCAST --> OPENVIDU_WEBRTC_SIMULCAST
2022-01-28 14:06:36 +01:00
Juan Navarro 0cb9180ec5 openvidu-server+clients: add new forcedVideoCodecResolved session property
Fill a new SessionProperties member "forcedVideoCodecResolved" to
contain the resolved value of "forcedVideoCodec", once the new
MEDIA_SERVER_PREFERRED has been taken into account and translated into
the appropriate option for each media server.

The logic to decide how to translate MEDIA_SERVER_PREFERRED into a
concrete forcedVideoCodec value is placed once in the REST entry point
of session creation (SessionRestController.java). Afterwards,
SessionProperties is just used as a simple storage for all session
features, and serialized / passed around between server and client.
2022-01-20 12:00:01 +01:00
Juan Navarro 0262c85ac0 openvidu-server: remove duplicated serialization of SessionProperties
Let SessionProperties serialize itself, instead of doing it externally
on the Session classes.
2022-01-20 12:00:01 +01:00
Juan Navarro 32fd093cf3 openvidu-server: add MEDIA_SERVER_PREFERRED as default for ForcedVideoCodec
MEDIA_SERVER_PREFERRED: A recommended choice is done for you,
based on the media server that is currently in use.
This is the default setting, and is equivalent to these values:
- For *mediasoup*, `NONE` is selected.
- For *Kurento*, `VP8` is selected.
2022-01-20 12:00:01 +01:00
pabloFuente 16682c5456 Dashboard: update Angular script commands location in package.json 2022-01-10 15:41:05 +01:00
pabloFuente cb48033e72 Update to Angular Material 13 2022-01-10 15:34:12 +01:00
pabloFuente 21e81baa03 Update to Angular 13 2022-01-10 15:30:18 +01:00
pabloFuente a976ab8390 Update to Angular Material 12 2022-01-10 15:19:10 +01:00
pabloFuente 4dd688efa8 Update angular/flex-layout dependency 2022-01-10 15:16:46 +01:00
pabloFuente e8ee49c396 Update to Angular 12 2022-01-10 15:13:40 +01:00
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