diff --git a/README.md b/README.md index 29517e0ba5471ecadbbd488f8a3e05988976892e..149d377a7e50b6e19d8f3d5bcc4162231c57ed68 100644 --- a/README.md +++ b/README.md @@ -21,7 +21,6 @@ You need to set some environment variables to run the container. * BBB_STREAM_URL - URL of your streaming server including rtmp. Leave out to disable streaming. (e.g. rtmp://media_server_url/stream/stream_key) #### Optional settings -* BBB_AS_MODERATOR - if set to "true" the meeting will be joined as moderator * BBB_START_MEETING - start meeting * BBB_ATTENDEE_PASSWORD - attendee password (optional - has to be set to the attendee password of moodle/greenlight or any other frontend to allow joining via their links) * BBB_MODERATOR_PASSWORD - moderator password (optional - has to be set to the moderator password of moodle/greenlight or any other frontend to allow joining via their links) @@ -46,6 +45,16 @@ You need to set some environment variables to run the container. * docker-compose up -d * docker-compose down +### Chat feedback +to use the user feedback via chat injection you will have to setup a website wehre the user can write comments and send them to your meeting. +In the examples folder, there are two files you can use as starting point: + +* player_and_chat.php +place this in a public webpage or create a similar webform that will be send to the processing php file sendChatMessage.php + +* sendChatMessage.php +this file must be reachable by the webform and has to have access to the redis database you configured in your docker-compose file. + ## Known Limitations * the streamer does not reconnect, if the connection to BigBlueButton gets lost * when using breakoutrooms, the streamer will show the popup of the invitation and not be able to get back to the conference diff --git a/chat.py b/chat.py index 2092ca4cb33472ee1cbc70f78b84ccf64df1e92d..a226b37b204930b65506a903237b5f422efda728 100644 --- a/chat.py +++ b/chat.py @@ -20,7 +20,6 @@ parser = argparse.ArgumentParser() parser.add_argument("-s","--server", help="Big Blue Button Server URL") parser.add_argument("-p","--secret", help="Big Blue Button Secret") parser.add_argument("-i","--id", help="Big Blue Button Meeting ID") -parser.add_argument("-m","--moderator", help="Join the meeting as moderator",action="store_true") parser.add_argument("-S","--startMeeting", help="start the meeting if not running",action="store_true") parser.add_argument("-A","--attendeePassword", help="attendee password (required to create meetings)") parser.add_argument("-M","--moderatorPassword", help="moderator password (required to create a meeting)") diff --git a/startStream.sh b/startStream.sh index ada64234a112684461f5ab3455126a03fe8e5b3c..0d8d8abca92ff209b147be200954cb82eb89a7f5 100644 --- a/startStream.sh +++ b/startStream.sh @@ -1,10 +1,5 @@ #!/bin/sh -JOIN_AS_MODERATOR=""; -if [ "${BBB_AS_MODERATOR}" = "true" ] -then - JOIN_AS_MODERATOR="-m"; -fi STREAM_MEETING=""; if [ "${BBB_STREAM_URL}" != "" ] @@ -43,7 +38,7 @@ then fi START_MEETING=""; -if [ "${BBB_START_MEETING}" != "" ] +if [ "${BBB_START_MEETING}" = "true" ] then START_MEETING="-S"; fi @@ -68,8 +63,8 @@ fi if [ "${BBB_ENABLE_CHAT}" = "true" ] then - xvfb-run -n 133 --server-args="-screen 0 1920x1080x24" python3 chat.py -s ${BBB_URL} -p ${BBB_SECRET} -i "${BBB_MEETING_ID}" -r ${BBB_REDIS_HOST} -u "${BBB_CHAT_NAME}" -c ${BBB_REDIS_CHANNEL} $START_MEETING $ATTENDEE_PASSWORD $MODERATOR_PASSWORD -T "$MEETING_TITLE" $JOIN_AS_MODERATOR & + xvfb-run -n 133 --server-args="-screen 0 1920x1080x24" python3 chat.py -s ${BBB_URL} -p ${BBB_SECRET} -i "${BBB_MEETING_ID}" -r ${BBB_REDIS_HOST} -u "${BBB_CHAT_NAME}" -c ${BBB_REDIS_CHANNEL} $START_MEETING $ATTENDEE_PASSWORD $MODERATOR_PASSWORD -T "$MEETING_TITLE" & sleep 10 fi -xvfb-run -n 122 --server-args="-screen 0 1920x1080x24" python3 stream.py -s ${BBB_URL} -p ${BBB_SECRET} -i "${BBB_MEETING_ID}" -u "${BBB_USER_NAME}" ${SHOW_CHAT} $START_MEETING $ATTENDEE_PASSWORD $MODERATOR_PASSWORD -T "$MEETING_TITLE" $STREAM_MEETING $INTRO $BEGIN_INTRO $END_INTRO $JOIN_AS_MODERATOR $DOWNLOAD_MEETING; +xvfb-run -n 122 --server-args="-screen 0 1920x1080x24" python3 stream.py -s ${BBB_URL} -p ${BBB_SECRET} -i "${BBB_MEETING_ID}" -u "${BBB_USER_NAME}" ${SHOW_CHAT} $START_MEETING $ATTENDEE_PASSWORD $MODERATOR_PASSWORD -T "$MEETING_TITLE" $STREAM_MEETING $INTRO $BEGIN_INTRO $END_INTRO $DOWNLOAD_MEETING; diff --git a/stream.py b/stream.py index 68a40f047a9ce37c3aa427b4a1e33295e0193d83..38d0a396ba2ca819802655682217479bd323eff1 100644 --- a/stream.py +++ b/stream.py @@ -30,7 +30,6 @@ parser.add_argument("-B","--beginIntroAt", help="begin intro at position (e.g. 0 parser.add_argument("-E","--endIntroAt", help="End intro at position (e.g. 01:00:04)") parser.add_argument("-l","--stream", help="live stream a BigBlueButton meeting",action="store_true") parser.add_argument("-d","--download", help="download / save a BigBlueButton meeting",action="store_true") -parser.add_argument("-m","--moderator", help="Join the meeting as moderator",action="store_true") parser.add_argument("-S","--startMeeting", help="start the meeting if not running",action="store_true") parser.add_argument("-A","--attendeePassword", help="attendee password (required to create meetings)") parser.add_argument("-M","--moderatorPassword", help="moderator password (required to create a meeting)")