759 Commits

Author SHA1 Message Date
pabloFuente
6fec7f7cd3 openvidu-server: add new IdentifierPrefixes.OPENVIDU_NODE_ID 2022-02-03 13:01:02 +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
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
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
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
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
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 10ad16464c4d402ed55f78ae0ae9bbbbfac7ea31.
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
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
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