record issue

hyuk

Member
hi..
The video was transmitted normally, but there is no saved video, so please contact us.
The video was transmitted from the room with the room name 230524G8zIGOsk and the transmitted video was confirmed.
But there is no saved video.
Is there anything that could be the cause?
The video retransmitted at a similar time (room name: 2305241mkbOH1z) had a saved video.
You didn't request the record hook command.
We will attach the server log of the time and forward it to you.
The server version is FlashphonerWebCallServer-5.2.1109-509daafa3458381aa8ee6af69d92beffae4bef6c.

For reference, it is said that there were many cases where only live video was checked and saved video could not be checked before.
Server capacity was sufficient.
 

Attachments

Max

Administrator
Staff member
Good day.
Seems like streams published to the room are in VP8 codec:
1685431073186.png

Room multiple recorder in build 5.2.1109 supports only MP4 container and H264 codec. MKV container and VP8 recording support was added in build 5.2.1440.
So you should update WCS to the latest build 5.2.1657 and use MKV container
Code:
multi_recorder_type=MKV
 

hyuk

Member
If it is not supported, it is correct that the video is not saved in any room, right?
I've often heard that it can't be saved while using it, but this is the first time I've actually checked it.
Previously, when I tested it, the video was always saved, and when I tested it after the problem occurred, the video was saved again.
It was also saved in another room of the same person(2305241mkbOH1z) at this time.
Is there a case where only a few videos are not saved because the version does not support it?


(add 2023-5-31 14:01)
And I'm not using multiple stream recorder .
Only the video of the party sending the video is recorded, and on_record_hook.sh is called when the video ends.
Looking at the documentation, the multipel stream recorder seems to be a feature we don't use.

Is there a way to check the log regarding the success/failure of saving the video?
If you can check it by adding an option to the configuration file, please guide me.

(add 2023-5-31 15:48)
When I checked the temp file path, there was no temp file left.
 
Last edited:

hyuk

Member
This time, the temporary video file was created, but it seems that it was not created normally. The problematic roomId is 2306024Eljumbp.
The recordStop.sh file is not called.
The version is as above. (5.2.1440.)
Attached the server log at the time of the problem.
Can the log confirm the problem?

Since there was no answer, we have now changed to the new version (5.2.1657.) and have added logs to see if the same problem occurs in the future.

If possible, please answer the previous inquiry and the current inquiry.
 

Attachments

Max

Administrator
Staff member
Hello

If you are using rooms API, we assume that you may use multiple recorder. Because this recorder can record video tracks in sync with audio.
That's why we supposed the multiple recorder use.

According your notice it seems you don't user multiple recorder. If so, all streams in the room are recorded independently each stream has its own recorded file. If stream is H.264 encoded, it will be recorded to mp4. If stream is VP8 encoded, it will be recorded into WebM.

If it is not supported, it is correct that the video is not saved in any room, right?
Please ignore the source message. VP8 was unsupported for multiple recorder 5.2.1109 only. You don't use multiple recorder.

Is there a case where only a few videos are not saved because the version does not support it?
There are no such case. It looks like a bug. If you record all the streams, you should be able to see all these streams in logs/cdr/sdr.log
Each publish stream in the sdr.log should have recorded file, i.e. 1.mp4 2.webm 3.mp4 for publish streams 1 and 2 and 3 accordingly.

Is there a way to check the log regarding the success/failure of saving the video?
You can enable debug logs for particular user's session if you know IP address
Code:
connection debug-add -a 192.168.0.100
Once the debug is enabled, WCS will create new folder in the /usr/local/FlashphonerWebCallServer/logs/client_logs
Then it will write all debug logs of the room participant. Therefore if you can reproduce such issue or if you know IP address of user who's stream is not being recorded, you can start such debug to gather debug logs.
 

Max

Administrator
Staff member
Code:
11:09:57,448 ERROR   FileRecordRotation - FScheduling-pool-1-thread-1 Problem to move file /usr/local/FlashphonerWebCallServer/records/2306024Eljumbp-shareD1685671629464-377c_{startTimeMillis}_{endTimeMillis}.webm to /data/nas/media/video/2306024Eljumbp-shareD1685671629464-377c_1685671647013_1685671797446.webm
java.nio.file.AccessDeniedException: /data/nas/media/video/2306024Eljumbp-shareD1685671629464-377c_1685671647013_1685671797446.webm
    at java.base/sun.nio.fs.UnixException.translateToIOException(UnixException.java:90)
    at java.base/sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:111)
    at java.base/sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:116)
    at java.base/sun.nio.fs.UnixCopyFile.copyFile(UnixCopyFile.java:248)
    at java.base/sun.nio.fs.UnixCopyFile.move(UnixCopyFile.java:493)
    at java.base/sun.nio.fs.UnixFileSystemProvider.move(UnixFileSystemProvider.java:267)
    at java.base/java.nio.file.Files.move(Files.java:1424)
    at com.flashphoner.media.output.ffmpeg.FileRecordRotation.rotate(Unknown Source)
    at com.flashphoner.media.output.ffmpeg.FileRecorder.closeCurrentWriter(Unknown Source)
    at com.flashphoner.media.output.ffmpeg.FileRecorder.lambda$close$0(Unknown Source)
    at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
    at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305)
    at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305)
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
    at java.base/java.lang.Thread.run(Thread.java:835)
Please check this error.

java.nio.file.AccessDeniedException: /data/nas/media/video/2306024Eljumbp-shareD1685671629464-377c_1685671647013_1685671797446.webm

This error says that WCS java process could not get access to record file /data/nas/media/video/2306024Eljumbp-shareD1685671629464-377c_1685671647013_1685671797446.webm in the file system.

Make sure this folder is available for reading and writing files by java process /data/nas/media/video/
To except access rights issues you can launch WCS server as root.
 
Top