All Projects → aau-zid → Bigbluebutton Livestreaming

aau-zid / Bigbluebutton Livestreaming

Licence: gpl-3.0
Streams a given BBB Meeting to an RTMP Server.

Programming Languages

python
139335 projects - #7 most used programming language
python3
1442 projects

Projects that are alternatives of or similar to Bigbluebutton Livestreaming

vscode-extension
Link your code and commits to a video recording and explain your code with video.
Stars: ✭ 67 (-53.79%)
Mutual labels:  rtmp, live-streaming
tms
tms(toy media server) is a toy media server for myself learning media develop. Just for fun.
Stars: ✭ 29 (-80%)
Mutual labels:  rtmp, live-streaming
Media Server
A brpc-based server to host and proxy live streams
Stars: ✭ 175 (+20.69%)
Mutual labels:  rtmp, live-streaming
Srs
SRS is a simple, high efficiency and realtime video server, supports RTMP, WebRTC, HLS, HTTP-FLV, SRT and GB28181.
Stars: ✭ 16,734 (+11440.69%)
Mutual labels:  rtmp, live-streaming
Go Oryx
The go-oryx is SRS++, focus on real-time live streaming load-balancer.
Stars: ✭ 608 (+319.31%)
Mutual labels:  rtmp, live-streaming
auteur
Live GStreamer node compositor service, implemented in rust
Stars: ✭ 24 (-83.45%)
Mutual labels:  rtmp, live-streaming
iShow-RN
A live streaming app demo using react-native-nodemediaclient.
Stars: ✭ 33 (-77.24%)
Mutual labels:  rtmp, live-streaming
Javelin
[Mirror] RTMP streaming server written in Rust
Stars: ✭ 77 (-46.9%)
Mutual labels:  rtmp, live-streaming
Brave
Basic Real-time AV Editor - allowing you to preview, mix, and route live audio and video streams on the cloud
Stars: ✭ 474 (+226.9%)
Mutual labels:  rtmp, live-streaming
Yasea
RTMP live streaming client for Android
Stars: ✭ 4,557 (+3042.76%)
Mutual labels:  rtmp, live-streaming
Docker Nginx Rtmp
🐋 A Dockerfile for nginx-rtmp-module + FFmpeg from source with basic settings for streaming HLS. Built on Alpine Linux.
Stars: ✭ 608 (+319.31%)
Mutual labels:  rtmp, live-streaming
Nginx Http Flv Module
Media streaming server based on nginx-rtmp-module. In addtion to the features nginx-rtmp-module provides, HTTP-FLV, GOP cache and VHOST (one IP for multi domain names) are supported now.
Stars: ✭ 2,063 (+1322.76%)
Mutual labels:  rtmp, live-streaming
Oarplayer
Android Rtmp播放器,基于MediaCodec与srs-librtmp,不依赖ffmpeg
Stars: ✭ 124 (-14.48%)
Mutual labels:  rtmp
Multi Streaming Server
A NGINX server with RTMP module to send video streaming to multiple services simultaneously (Youtube, Twitch, Dailymotion, Hitbox, Beam, etc...).
Stars: ✭ 132 (-8.97%)
Mutual labels:  rtmp
Live Stream From Desktop
Provide guidance to test live streaming (mpeg-dash or hls) or vod from your desktop
Stars: ✭ 124 (-14.48%)
Mutual labels:  live-streaming
Harmonic
A high performance and scalable RTMP live streaming application framework
Stars: ✭ 121 (-16.55%)
Mutual labels:  rtmp
Vidgear
A High-performance cross-platform Video Processing Python framework powerpacked with unique trailblazing features 🔥
Stars: ✭ 2,048 (+1312.41%)
Mutual labels:  live-streaming
Html5 Dash Hls Rtmp
🌻 HTML5播放器、M3U8直播/点播、RTMP直播、低延迟、推流/播流地址鉴权
Stars: ✭ 1,805 (+1144.83%)
Mutual labels:  rtmp
Srt
Secure, Reliable, Transport
Stars: ✭ 1,898 (+1208.97%)
Mutual labels:  live-streaming
Rtmp
RTMP Server , RTMP Pusher , RTMP Client
Stars: ✭ 119 (-17.93%)
Mutual labels:  rtmp

BBB Live Streaming

Streams a given BBB Meeting to an RTMP Server.

License: GNU GPL v3 or later

Getting Started

Prerequisites

All you need is Docker running on your machine and a media server to stream to.

Configuration

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

Required settings

  • 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=)
  • BBB_SECRET - Secret of your BBB installation (You can get the secret with: bbb-conf --secret)
  • 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_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)
  • BBB_DOWNLOAD_MEETING= - download / save BigBlueButton meeting in lossless mkv format
  • 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)
  • BBB_USER_NAME - the username to join the meeting. (Default: Live)
  • BBB_SHOW_CHAT - shows the chat on the left side of the window (Default: false)
  • BBB_RESOLUTION - the streamed/downloaded resolution (Default: 1920x1080)
  • TZ - Timezone (Default: Europe/Vienna)

Chat settings

  • BBB_ENABLE_CHAT - Enable Chat feedback channel
  • 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)
  • BBB_CHAT_STREAM_URL - The URL of the stream that should be displayed in the chat (Default: rtmp:// destination)

Debug

  • DEBUG - settings this to non-empty value will result in more verbose output

Advanced Usage

  • FFMPEG_STREAM_THREADS - number of threads for ffmpeg during streaming (Default: 0 (auto))
  • FFMPEG_STREAM_VIDEO_BITRATE - video bitrate (in k) (Default: 4000)
  • FFMPEG_INPUT_THREAD_QUEUE_SIZE - thread_queue_size option to be passed to ffmpeg (Default: 1024)
  • FFMPEG_STREAM_OPTIONS - ffmpeg options to use when streaming (bitrate/codec/...), see stream.py for default value
  • FFMPEG_DOWNLOAD_OPTIONS - ffmpeg options to use when downloading, see stream.py for default value
  • BROWSER_DISABLE_DEV_SHM_USAGE - whether to disable /dev/shm usage of the browser (default: false), for use cases where available /dev/shm is very limited, note that setting this to true can result in disk trashing

Starting liveStreaming

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

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.

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.

The California Consumer Privacy Act (CCPA) provides certain rights to California residents in relation to their personal information. 

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.

License

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

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].