my server code
camera_buffer = queue.Queue(maxsize=20)
# Define the gRPC server class
class CameraStreamServicer(camera_stream_pb2_grpc.CameraStreamServicer):
def __init__(self):
self.clients = []
def CameraStream(self, request, context):
global camera_buffer
# Add the connected client to the list
self.clients.append(context)
try:
while True:
print("size: ",camera_buffer.qsize())
frame = camera_buffer.get(timeout=1) # Get a frame
from the buffer
# Continuously send frames to the client
for client in self.clients:
try:
response = camera_stream_pb2.Frame()
response.frame = frame
response.timestamp = int(time.time())
yield response
except grpc.RpcError:
# Handle any errors or disconnections
self.clients.remove(context)
print("Client disconnected")
except Exception as e:
print("unlnown error: ", e)
in a seperate thread I am getting frames from camera and populating the
buffer
On Monday, 22 May 2023 at 12:16:57 UTC+5:30 torpido wrote:
> What happens if you run the same process in parallel, and serve in each
> one a different client?
> just to make sure that there is no issue with the bandwidth in the server.
>
> I would also set debug logs for gRPC to get more info
>
> Can you share the RPC and server code you are using? Seems like it should
> be A *request-streaming RPC*
> ב-יום שבת, 13 במאי 2023 בשעה 16:21:41 UTC+3, Sanket Kumar Mali כתב/ה:
>
>> Hi,
>> I am trying to implement a live camera streaming setup using grpc python.
>> I was able to stream camera frame(1280x720) in 30 fps to a single client.
>> But whenever I try to consume the stream from multiple client it seems
>> frame rate is getting divided (e.g if I connect two client frame rate
>> becomes 15fps).
>> I am looking for a direction where I am doing wrong. Appreciate any clue
>> in the right way to achieve multi client streaming.
>>
>> Thanks
>>
>
--
You received this message because you are subscribed to the Google Groups
"grpc.io" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/grpc-io/d8db0a76-ad71-44b5-bf05-2441cc3349ban%40googlegroups.com.