-
Notifications
You must be signed in to change notification settings - Fork 357
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
Add multiclient streaming support #237
Conversation
Ooh wow, probably my number 1 desired feature. Aka #51 Initial thoughts are that it needs to support both the streamCount and streamKill mechanisms, but this may be best done by a function that returns how many streams tasks are running, and another that halts all running streams. |
Created a feature branch for this |
Hi, I've added the required methods for getting the number of active streams and killing all of them (see ba3c09f#diff-6514cf5faf6a9458e0775cf7f86a55bd5e65d9683cdba647de66d59478144072R33-R34) and adapted the the code in ba3c09f#diff-d1d9020991f0a5fde49e6b3a31812bffb258a12eaa271e106f4252e23d57fdf0. Additionally, I think one should add a configuration option in the |
Very cool, I wish I was as fluid with C coding ;-) |
That works really well in terms of serving multiple streams.
I need to think about these, the stream limit and autolamp should be easy'ish, as should getting the debug sorted (there is a debug toggle for the serial output, which can be used in place of the current |
You've got very good points and each should be doable. I'll take a look on it tomorrow and make a pull request. |
Hi All. May be an old subject but just waned to understand the idea of the multi-client behind the proposed solution a bit better. I have refactored this whole project in PR #280 and where the frame capture is timer-based. This works pretty well and the frames could be broadcasted to all the connected clients theoretically, this is pretty easy. However, there are several questions to be understood. For example, assume we have 2 clients connected simultaneously, for the sake of simplicity. Let's consider the following scenarios:
Overall, I believe implementing this feature in the ESP32CAM sketch doesn't worth the effort, for the following reasons:
Would be great to hear your thoughts on this. |
Hi,
first, I would like to thank you for this great project.
I've added multiclient streaming support by using a client queue and a FreeRTOS task for broadcasting the current frames to connected clients (open sockets).
Maybe you can check this out.
Cheers,
David