We have a Redis server that all clients attach to for a variety of data transfer and coordination tasks. We have a new requirement that we support video streaming. I would like to avoid running a dedicated service (with all the accompanying network and security requirements that entails) and just stream over Redis.
Redis seems like a good fit for real time streaming, in particular using Redis streams. I realize that "Redis streams" have no relation to "video streaming", however, our use case follows Redis stream structure well. We want to buffer X seconds of video continuously allowing clients to attach to that real-time stream at any time. We have no need to store history or serve static video content.
- Redis seems like a good solution, my problem is I don't know how to stream an appropriate video codec (Motion JPEG maybe?) over Redis.
- I wouldn't know how to join a stream mid-broadcast (join at a keyframe perhaps?).
- I wouldn't know how to serialize the stream to bytes at the server (Python based) and de-serialize the stream to a video codec and player on the client (a browser). Perhaps it's as simple as seralization/deseralization in opencv or equivalent and I'm just over thinking it?
These are all features I would typically look to an API to perform, but is there an API capable of this? I'm inexperienced in the field of video streaming.