Coder Social home page Coder Social logo

igloooo12 / bbb-recording-exporter Goto Github PK

View Code? Open in Web Editor NEW

This project forked from danielpetri1/bbb-recording-exporter

0.0 0.0 0.0 990 KB

A client- and server side script to generate BigBlueButton recordings.

License: MIT License

Ruby 87.12% C 12.88%

bbb-recording-exporter's Introduction

BigBlueButton Exporter

Server-side version of the script that enables users to download BigBlueButton 2.3 recordings as a single video file.

What's supported?

✅ Annotations

✅ Captions

✅ Chapters

✅ Chat (with an option to anonymize names)

✅ Cursor

✅ Integration with Greenlight

✅ Polls

✅ Screen shares

✅ Slides

✅ Text

✅ Webcams

✅ Zooms

BigBlueButton recording exporter

Server-Side Usage

Place the file presentation.rb in the /usr/local/bigbluebutton/core/scripts/post_publish directory with executable rights.

Do the same for the file lib/interval_tree.rb, moving it to /usr/local/bigbluebutton/core/lib/recordandplayback.

After a session is over and the presentation is processed, the script will begin to export the recording as a single video file. It can be accessed and downloaded at https://your.bbb.hostname/presentation/meeting-id/meeting.mp4 once rendering completes, or directly in the Greenlight interface.

The meeting's ID is the alphanumeric string following the 2.3 in the recording's URL.

Existing recordings can be re-rendered by running the exporting script on an individual basis:

./presentation.rb -m <meeting_id> -f presentation

Note that this will stop automatic exports unless executed with the bigbluebutton user! See the "Troubleshooting" section below.

Alternatively,

bbb-record --rebuild <meeting_id>

will rebuild the entire recording (including the playback in the browser).

To re-render all existing recordings, run

bbb-record --rebuildall

If you do not have access to a BBB server, check out the branch 'client-side'.

For caption support, recompile FFmpeg with the movtext encoder enabled and uncomment the add_captions method.

The chat component can be disabled by turning HIDE_CHAT on. If you want to keep the messages but anonymize the names, set HIDE_CHAT_NAMES to true.

Requirements

Root access to a BBB 2.3 server.

Rendering options

If your server supports animated strokes on the whiteboard, set the flag REMOVE_REDUNDANT_SHAPES to true in presentation.rb.

Less data can be written on the disk by turning SVGZ_COMPRESSION on.

To make rendering less resource-intensive, download FFMpeg's source code and replace the file ffmpeg/libavcodec/librsvgdec.c with the one in this directory. After compiling and installing FFMpeg, enable FFMPEG_REFERENCE_SUPPORT in presentation.rb . Steps by @felcaetano.

The video output quality can be controlled with CONSTANT_RATE_FACTOR.

Troubleshooting

Exports don't start after the meeting ends: /var/log/bigbluebutton/post_publish.log and /var/bigbluebutton/published/video/ must be chowned to bigbluebutton:bigbluebutton

Get in touch

If this code helped you or you encountered any problems, please do get in touch! This script was developed for my bachelor's thesis at the Technical University of Munich, so feedback is welcomed.

bbb-recording-exporter's People

Contributors

danielpetri1 avatar fcecagno avatar felcaetano avatar kominoshja avatar germanocaumo avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.