aau-zid / BigBlueButton-liveStreaming

Streams a given BBB Meeting to an RTMP Server.
GNU General Public License v3.0
201 stars 160 forks source link

Multiple LiveStreaming instances with chat and REDIS #102

Closed LoicBonavent closed 3 years ago

LoicBonavent commented 3 years ago

Hello, I wanted to use multiple LiveStreaming instances, with chat enabled, on a specific server (Example : ls.univ.fr) : not on BigBlueButton server and not on the Web server. With such a configuration for each instance, I was unable to connect to each instance from the chat page on the Web server :

The only solution I found (perhaps there is another solution in this case ?) is to use the port number for REDIS host. For each LiveStreaming instance, I set on docker-compose.yml : redis: image: redis command: --port 6379 (6380 for the 2°, 6381 for the 3°...) ports:

Then, on my chat page on the Web server, to publish the message, I used the following code (Python) : r = redis.Redis(host='ls.univ.fr', port=6379, db=0) r.publish('chat', message) The port depends on which LiveStreamins is used.

At present, this solution only works for the first instance (on default port 6379). If it's possible to add the port as a parameter and modify chat.py on the line 93, this solution will work in all case 👍 : redis_r = redis.Redis(host=args.redis,charset="utf-8", decode_responses=True) =>For example : redis_r = redis.Redis(host=args.redis,port=args.port,charset="utf-8", decode_responses=True)

Is it possible ?

Thx

Loïc

LoicBonavent commented 3 years ago

Hello,

Finally I found a solution without modification on bbb-liveStreaming. I play with configuration for each instance. In the first instance, I put these parameters : redis: image: redis ports:

For the second instance : redis: image: redis ports:

The trick is to use an unique REDIS channel, and to redirect port (Example: 6380) to an unique container port 6379.

After, in my chat page, on the Web server (not on the same server), I connect to REDIS :

Hope this helps someone.

Loïc