README.md 4.2 KB
Newer Older
mikosche's avatar
mikosche committed
1
2
# BBB Live Streaming

Michael Koscher's avatar
Michael Koscher committed
3
4
Streams a given BBB Meeting to an RTMP Server.

5
6
*License:*   [GNU GPL v3 or later](http://www.gnu.org/copyleft/gpl.html)

Michael Koscher's avatar
Michael Koscher committed
7
8
## Getting Started

Martin Schrott's avatar
Martin Schrott committed
9
### Prerequisites
Michael Koscher's avatar
Michael Koscher committed
10

Martin Schrott's avatar
Martin Schrott committed
11
12
13
All you need is Docker running on your machine and a media server to stream to.

### Configuration
Michael Koscher's avatar
Michael Koscher committed
14
15
16

You need to set some environment variables to run the container.

17
#### Required settings
Martin Schrott's avatar
Martin Schrott committed
18
19
20
* BBB_URL - URL to BBB including http/https e.g. https://your_BigBlueButton_server/bigbluebutton/api
* BBB_MEETING_ID - ID of the BBB Meeting (You can get the ID via an API call: https://your_bbb_server/bigbluebutton/api/getMeetings?checksum=<checksum>)
* BBB_SECRET - Secret of your BBB installation (You can get the secret with: bbb-conf --secret)
Martin Schrott's avatar
Martin Schrott committed
21
* BBB_STREAM_URL - URL of your streaming server including rtmp. Leave out to disable streaming. (e.g. rtmp://media_server_url/stream/stream_key)
Michael Koscher's avatar
Michael Koscher committed
22

23
#### Optional settings
Martin Schrott's avatar
Martin Schrott committed
24
* BBB_AS_MODERATOR - if set to "true" the meeting will be joined as moderator
25
26
27
28
* 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)
* BBB_MEETING_TITLE - meeting title (optional - only works if the meeting is started by the liveStreaming)
Martin Schrott's avatar
Martin Schrott committed
29
* BBB_DOWNLOAD_MEETING= - download / save BigBlueButton meeting in lossless mkv format
30
31
32
* BBB_INTRO= - play intro file (can be a local file in videodata folder e.g. /video/intro.mp4 or a url of a mediastream e.g. https://my.intro.stream)
* BBB_BEGIN_INTRO_AT=04:40 - begin the intro at position (optional, e.g. 00:00:05)
* BBB_END_INTRO_AT= - end intro after (optional, e.g. 01:00:00 - after one hour)
33
* BBB_USER_NAME - the username to join the meeting. (Default: Live)
Michael Koscher's avatar
Michael Koscher committed
34
* BBB_SHOW_CHAT - shows the chat on the left side of the window (Default: false)
Martin Schrott's avatar
Martin Schrott committed
35
* TZ - Timezone (Default: Europe/Vienna)
36

37
38
#### Chat settings
* BBB_ENABLE_CHAT - Enable Chat feedback channel
39
40
41
* BBB_REDIS_HOST - Set REDIS host (Default: redis)
* BBB_REDIS_CHANNEL - Set REDIS channel (Default: chat)
* BBB_CHAT_NAME - the username to join the meeting for chatting. (Default: Chat)
Martin Schrott's avatar
Martin Schrott committed
42
43

### Starting liveStreaming
44
* wget -O docker-compose.yml https://raw.github.com/aau-zid/BigBlueButton-liveStreaming/1.0.0-beta.5/examples/docker-compose.yml.example
Martin Schrott's avatar
Martin Schrott committed
45
46
* (change configuration)
* docker-compose up -d
47
* docker-compose down 
Martin Schrott's avatar
Martin Schrott committed
48
49

## Known Limitations
Martin Schrott's avatar
Martin Schrott committed
50
51
* 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
Martin Schrott's avatar
Martin Schrott committed
52

Martin Schrott's avatar
Martin Schrott committed
53
54
55
56
## privacy policy and legal notes

Please try to follow best practices for data protection and privacy.
Take all steps to comply with privacy law principles that prohibit unlawful, opaque and limitless capture and processing of personal data. 
Martin Schrott's avatar
Martin Schrott committed
57

Martin Schrott's avatar
Martin Schrott committed
58
59
The GDPR (General Data Protection Regulation) provides individual rights to EU citizens in relation to personal Data.
To find out more about GDPR, please visit the [European Union’s website](https://ec.europa.eu).
Martin Schrott's avatar
Martin Schrott committed
60

Martin Schrott's avatar
Martin Schrott committed
61
The California Consumer Privacy Act (CCPA) provides certain rights to California residents in relation to their personal information. 
Martin Schrott's avatar
Martin Schrott committed
62

Martin Schrott's avatar
Martin Schrott committed
63
64
65
Similar to the GDPR and  the CCPA, other local privacy law principles  also may institute penalties for businesses that suffer data breaches due to poor security procedures.
Always be transparent and act upon privacy rights and federal law Regulations.

Martin Schrott's avatar
Martin Schrott committed
66
## License
67
68
69
70
71
72
73
74
75
76
77
78
BigBlueButton-liveStreaming is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

BigBlueButton-liveStreaming is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with BigBlueButton-liveStreaming.  If not, see [GNU website](https://www.gnu.org/licenses)