OpenVidu / openvidu

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

start recording fail #800

Closed leim closed 1 year ago

leim commented 1 year ago

Describe the bug could not start recording

Expected behavior start recording

whenever i create a session with param recordingMode: ALWAYS or start recording with rest api, it runs into failure.

outputMode is COMPOSED and recordingLayout is BEST_FIT

i have three servers, namely A (with internet connection) , B (temporary internet) and C (no internet)

i use A to run the installation script to install openvidu 2.27.0, and then copy everything in folder /opt/openvidu to B and C.

i edited .env file and then connected B to internet, started openvidu on B, it atuomaticaly downloaded all docker images. after openvidu started, i disconnected the internet connection and tried to start recording, it works well.

i save all the docker images (including openvidu-recording) and transfer them to C, edited .env file on C and started openvidu, tried to start recording, and failed with error below.

Wrong current behavior openvidu-server | [INFO] 2023-05-10 04:32:04,478 [http-nio-0.0.0.0-5443-exec-8] io.openvidu.server.rest.SessionRestController - REST API: POST /openvidu/api/recordings/start {session=s009, name=MyRecording, hasAudio=true, hasVideo=true, outputMode=COMPOSED, recordingLayout=BEST_FIT, customLayout=https://h5.ihrss.neusoft.com/openvidu/layouts/demo/index.html, resolution=1280x720, frameRate=25, shmSize=536870912, ignoreFailedStreams=false} openvidu-server | [INFO] 2023-05-10 04:32:04,479 [http-nio-0.0.0.0-5443-exec-8] io.openvidu.server.recording.service.RecordingManager - Getting free recording id for session s009 openvidu-server | [INFO] 2023-05-10 04:32:04,479 [http-nio-0.0.0.0-5443-exec-8] io.openvidu.server.recording.service.RecordingManager - Free recording id got for session s009: s009~1 openvidu-server | [INFO] 2023-05-10 04:32:04,479 [http-nio-0.0.0.0-5443-exec-8] io.openvidu.server.recording.service.RecordingService - New recording id (s009~1) and final name (MyRecording) openvidu-server | [INFO] 2023-05-10 04:32:04,479 [http-nio-0.0.0.0-5443-exec-8] io.openvidu.server.recording.service.ComposedRecordingService - Starting composed (video + audio) recording s009~1 of session s009 openvidu-server | [INFO] 2023-05-10 04:32:04,479 [http-nio-0.0.0.0-5443-exec-8] io.openvidu.server.recording.service.ComposedRecordingService - {"id":"s009~1","object":"recording","name":"MyRecording","outputMode":"COMPOSED","resolution":"1280x720","frameRate":25,"recordingLayout":"BEST_FIT","sessionId":"s009","uniqueSessionId":"s009_1683693004415","createdAt":1683693124479,"size":0,"duration":0.0,"url":null,"hasAudio":true,"hasVideo":true,"status":"started"} openvidu-server | [INFO] 2023-05-10 04:32:04,479 [http-nio-0.0.0.0-5443-exec-8] io.openvidu.server.recording.service.ComposedRecordingService - Recorder connecting to url https://OPENVIDUAPP:Neusoft600718@10.44.230.108/dashboard/#/layout-best-fit/s009/Neusoft600718/-1/false openvidu-server | [INFO] 2023-05-10 04:32:04,878 [http-nio-0.0.0.0-5443-exec-8] io.openvidu.server.utils.DockerManager - Container ID: a4f0a6b027f1b7cc14dde54ac04b07d6eb0f21dba2f835eb46f6f3d00c75bc6f openvidu-server | [ERROR] 2023-05-10 04:32:34,917 [http-nio-0.0.0.0-5443-exec-8] io.openvidu.server.recording.service.RecordingService - Recording start failed for session s009: Couldn't initialize recording container. Error: File /opt/openvidu/recordings/s009~1/MyRecording.mp4 does not exist and hasn't been created in 30 seconds openvidu-server | [INFO] 2023-05-10 04:32:34,917 [http-nio-0.0.0.0-5443-exec-8] io.openvidu.server.recording.service.RecordingService - Sealed recording metadata file at /opt/openvidu/recordings/s009~1/.recording.s009~1 with status [failed] openvidu-server | [INFO] 2023-05-10 04:32:34,917 [http-nio-0.0.0.0-5443-exec-8] io.openvidu.server.recording.service.ComposedRecordingService - Stopping composed (video + audio) recording s009~1 of session s009. Reason: null openvidu-server | [INFO] 2023-05-10 04:33:05,004 [http-nio-0.0.0.0-5443-exec-8] io.openvidu.server.recording.service.RecordingService - Sealed recording metadata file at /opt/openvidu/recordings/s009~1/.recording.s009~1 with status [failed]

OpenVidu tutorial where to replicate the error This is an EXTREMELY IMPORTANT STEP. If we are able to replicate the error in any of the official OpenVidu Tutorials or OpenVidu Demos, then we will be able to quickly fix it. If you are getting the error in your own application, please try to add the necessary changes to the most similar tutorial so it fails with the same error (try to keep those changes as contained as possible, so that the original tutorial maintains its integrity). Once you have an application to replicate the error, explain in detail the steps to get it like this:

  1. Clone repository [...]
  2. Compile the application like this [...]
  3. Run OpenVidu Server like this [...]
  4. Run the application like this [...]
  5. Join 1 user... Publish a video stream [...]
  6. See error

OpenVidu deployment info docker 20.10.9 docker compose 2.13.0 openvidu 2.27.0 centos 7.6 no internet

Client device info (if applicable) Describe the client device(s) or platform(s) where you are able to replicate the error. For example:

Screenshots

image

Additional context Add any other context about the problem here. For example, attach any useful logs related to the issue.

cruizba commented 1 year ago

Mmm, the recording containers tries to record the session thorugh the DOMAIN_OR_PUBLIC_IP. Is this DOMAIN_OR_PUBLIC_IP accesible from the machine you are doing the recording?

If not, you may want to use a different URL for the COMPOSED recording. Check the OPENVIDU_RECORDING_COMPOSED_URL property at this section: https://docs.openvidu.io/en/2.27.0/reference-docs/openvidu-config/#configuration-parameters-for-openvidu-ce

cruizba commented 1 year ago

Closing because of inactivity.