-
Notifications
You must be signed in to change notification settings - Fork 464
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Videos recorded with openvidu v2.27.0 and later are corrupted and cause playback issues to chromium based browsers #823
Comments
A difference that was noticed was the reported muxer: Openvidu v2.26.0 / Kurento 6
Openvidu v2.27.0 - v2.29.0 / Kurento 7.0.1
|
Good morning everybody! Has anyone seen this and if so were you able to reproduce? |
Hello @kazepis,
Is this the only way of deployment? Or do you have a production environment? If you have a production environment, which edition is it? CE, PRO, or ENTERPRISE. @j1elo has a suggestion which is to change a Kurento configuration value, specifically |
Hi, I was looking at this today. Seeing this output from mkvalidator:
and guided by your suggestion to look into the GStreamer matroskamux component, I've found an awfully similar bug report in the issue tracker of GStreamer (i.e. the 3rd-party library that actually handles media within Kurento): https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2526 I cannot do much right now regarding this, but at least I confirmed the issue so GStreamer devs see that it affects more people. As a workaround, I'm thinking that Kurento has a couple ways to deal with packet loss wrt. recording; the default is to leave missing pieces of video/audio as gaps in the file, but another option is to enable the "GENPTS" GapsFix method, which attempts to fix timestamps and provide a smooth playback in web browsers. This recording mode is enabled by editing a Kurento config file: RecorderEndpoint.conf.ini. It's however not been exposed as part of the OpenVidu API, so depending on your deployment, editing such file can be more or less cumbersome. There is a Kurento guide to deal with config file modifications in Docker environments: https://doc-kurento.readthedocs.io/en/latest/user/faq.html#faq-docker but probably it's better to follow the more specific help that @cruizba can offer in this regard. |
Thank you both @cruizba and @j1elo. I am more than confident that I will be able to perform any trials if you give me sufficient instructions. I will be able to attach to a running docker container and change configuration. Just tell me how to "reload" the changed configuration. Thank you very much for your time and effort and I remain at your disposal. |
@cruizba and @j1elo I tried what you suggested but the problem remains the same.
Then I copied all the contents of I edited the
I restarted openvidu with However, the playback is still halted on Chrome and the matroska validator still complains:
Is there any way I can try to use the latest gstreamer in the kurento container to see if the problem is fixed? |
Hello everyone! I am facing same issue on kms7. Any updates on this? or any alternative solution would be highly appreciated. |
I haven't been able to find a workaround. I am stuck with Openvidu 2.26 which is the last one that is working. |
Describe the bug
Videos recorded via openvidu recording API starting from openvidu v2.27.0 are corrupted and cause problems to chromium based browsers.
Expected behavior
When validating a recorded video using the mkvalidator tool, the tool should not report a problem. e.g. with openvidu v2.26.0 and older:
Wrong current behavior
When you check a recorded video with the mkvalidator tool it reports many errors. e.g.: with openvidu version v2.27.0 - v2.29.0 (include major kurento update to 7.0.1)
OpenVidu tutorial where to replicate the error
Use default openvidu recording tutorial for node: https://docs.openvidu.io/en/stable/tutorials/openvidu-recording-node/ to record a video and then inspect the video using the mkvalidator tool:
OpenVidu deployment info
Docker container as explained in tutorial https://docs.openvidu.io/en/stable/tutorials/openvidu-recording-node/
Cannot test with this one because i cannot get the recording file
Client device info (if applicable)
Describe the client device(s) or platform(s) where you are able to replicate the error. For example:
Additional context
The above corrupted video seems to be affecting chromium based browser because when I try to play it back using this html code:
I get this error:
![image](https://private-user-images.githubusercontent.com/6062370/278704022-26f20fd9-9ce2-4af4-8a31-879cefab1f9e.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjUyOTAyOTcsIm5iZiI6MTcyNTI4OTk5NywicGF0aCI6Ii82MDYyMzcwLzI3ODcwNDAyMi0yNmYyMGZkOS05Y2UyLTRhZjQtOGEzMS04NzljZWZhYjFmOWUucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI0MDkwMiUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNDA5MDJUMTUxMzE3WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9Yjg0YmM4NzRlZmNjYzdhODJhZWI3YWZjYjc3MjY5YjgzMjQ3MzVmNWJmNDg5ZThmMTQ1NTU3M2RlODA1MmM5NCZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QmYWN0b3JfaWQ9MCZrZXlfaWQ9MCZyZXBvX2lkPTAifQ.f8ZCLiWw7Y3SxC00Ev67-_BamMpLYXq15UqXw24OnDc)
After the error, any attempt to seek to a timestamp does not trigger the
canplaythrough
event ANY MORE.I remain at your disposal for any more information you may need.
The text was updated successfully, but these errors were encountered: