OpenVidu / openvidu

OpenVidu Platform main repository
https://openvidu.io
Apache License 2.0
1.86k stars 464 forks source link

Failed to record the Rtsp video stream using INDIVIDUAL mode #807

Closed eanfs closed 1 year ago

eanfs commented 1 year ago

Describe the bug Failed to record the Rtsp video stream using INDIVIDUAL mode

Expected behavior Can use the INDIVIDUAL mode to record RTSP streams from network cameras.

Wrong current behavior A clear and concise description of what is actually happening instead of the expected behavior.

OpenVidu tutorial where to replicate the error

  1. Clone repository [git clone https://github.com/OpenVidu/openvidu-tutorials.git -b v2.27.0]
  2. Add Recording source code RecordingProperties properties = new RecordingProperties.Builder() .outputMode(Recording.OutputMode.INDIVIDUAL) .hasAudio(false) .hasVideo(true) .ignoreFailedStreams(true) .resolution("1920x1080").build(); OV.startRecording(this.session.getSessionId(), properties);
  3. Run the application
  4. Debug OpenVidu Server code , Participant' token is always null; image
pabloFuente commented 1 year ago

INDIVIDUAL recordings of RTSP IP cameras is working fine. Try this:

Run OpenVidu with recording mode enabled:

docker run -p 4443:4443 --rm -e OPENVIDU_RECORDING=true -e OPENVIDU_RECORDING_PATH=/opt/openvidu/recordings -v /var/run/docker.sock:/var/run/docker.sock -v /opt/openvidu/recordings:/opt/openvidu/recordings openvidu/openvidu-dev:2.27.0

Clone openvidu-ipcameras tutorial:

git clone https://github.com/OpenVidu/openvidu-tutorials.git -b v2.27.0
cd openvidu-tutorials/openvidu-ipcameras

Modify the openvidu-ipcameras tutorial adding these lines to MyRestController.java file just before line 144:

RecordingProperties properties = new RecordingProperties.Builder().outputMode(Recording.OutputMode.INDIVIDUAL).hasAudio(false).hasVideo(true).ignoreFailedStreams(true).resolution("1920x1080").build();
OV.startRecording(this.session.getSessionId(), properties);

Run the openvidu-ipcameras tutorial:

mvn package exec:java

Go to https://localhost:8080/ and subscribe to the IP cameras. After they are visible in the browser, the recording will start. You can stop the Recording or close the Session with REST API. You will find at path /opt/openvidu/recordings/ the ZIP file of the INDIVIDUAL recording with the 3 webm files of the 3 IP cameras of the app.