-
Notifications
You must be signed in to change notification settings - Fork 313
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
Alternative Recording Mode Using Local Recording #532
base: master
Are you sure you want to change the base?
Conversation
Hi, thanks for your contribution! |
HI there! Thanks for taking the time to put together this PR! This is very intriguing. Some questions:
An observation: replacing our current model is not something we can accept. If (and it's a big if, not going to lie) we accept this work it would need to be configurable, and off by default). |
Hi @saghul, thank you for the reply, so the answers;
:) I understand replacement is a big deal but your suggestion is the same we have now, making it optional |
Not sure what this means. You mean you can fit more Jibri instances per server?
This is the part I find most puzzing. You said memory usage was a concern, but now the entire recording is stored on RAM vs a small fraction when using ffmpeg. How is that possible? What recording speeds did you observe with ffmpeg? Did you tweak the command line arguments? I see several additional problems with that approach:
Oh, I have missed the link, sorry!
I think this approach weakens the overall recordings mechanism. If the main reason why you did this was to lower memory usage I don't see how that can happen since ffmpeg does not buffer the entire recording. The bug might be elsewhere like the storage being too slow for example. |
Thank you for your effort. According to my observations, the main problem with |
Yes, this is what we see too. |
Hello again @emrahcom @saghul, |
I'm still not convinced this is a good idea to do. Let's hear some more voices, @bgrozev thoughts? |
The question in my mind is: how does this differ significantly from the current Local Recording other than creating the additional burden of a separate server? I think the improvements that would make sense to the current model of serverside recording at the very least, would include:
If these two are not being addressed, I'm not sure there's any process/efficiency gain. |
Alternative implementations of local recording could be explored to avoid buffering the entire recording in memory. There is As well as Both of these APIs allow you to append to a file, multiple buffers at a time. The Sometime in the future that copy operation could be optimized into a move. |
Using ffmpeg does not requrie that either, so the question remains, why do it? |
Summary:
Using local-recording feature instead of ffmpeg to reduce memory usage size to have more instance of jibri. It is tested in our environment and works better than ffmpeg.
Issue(s) addressed:
"N/A"
Testing:
Tested in our environment for performance for a long time, it is working great as expected. I did not write any unit or integration test
Checklist:
[x] I have reviewed the code and tested it thoroughly.
[x] I have followed the coding style guide.
[ ] I have updated the documentation to reflect the changes.
[ ] I have added unit tests for the new code.
[x] I have run the build and test scripts.
Additional notes:
--use-fake-device-for-media-stream
flag should be added in docker-jitsi-meet application since it is configured to have the data as user input. Also frontend side should be changed reflectively with this release.Thanks for reviewing! & Hope this helps
The community ticket: https://community.jitsi.org/t/new-recording-implementation-using-local-recording-instead-of-ffmpeg/128652