{"id":19974610,"url":"https://github.com/elan-ev/opencast-bigbluebutton-integration","last_synced_at":"2025-05-04T02:32:56.145Z","repository":{"id":40413451,"uuid":"277759992","full_name":"elan-ev/opencast-bigbluebutton-integration","owner":"elan-ev","description":"Contains documentation for sending recordings form bigbluebutton to opencast","archived":false,"fork":false,"pushed_at":"2025-03-20T20:02:13.000Z","size":188,"stargazers_count":23,"open_issues_count":11,"forks_count":17,"subscribers_count":15,"default_branch":"master","last_synced_at":"2025-04-30T21:13:54.444Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"lgpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/elan-ev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2020-07-07T08:25:51.000Z","updated_at":"2025-03-20T20:02:18.000Z","dependencies_parsed_at":"2022-09-07T23:41:36.746Z","dependency_job_id":"b5e72b66-c7ea-4234-ba66-6f7800750bd1","html_url":"https://github.com/elan-ev/opencast-bigbluebutton-integration","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elan-ev%2Fopencast-bigbluebutton-integration","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elan-ev%2Fopencast-bigbluebutton-integration/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elan-ev%2Fopencast-bigbluebutton-integration/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elan-ev%2Fopencast-bigbluebutton-integration/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/elan-ev","download_url":"https://codeload.github.com/elan-ev/opencast-bigbluebutton-integration/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252279085,"owners_count":21722836,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-13T03:15:33.933Z","updated_at":"2025-05-04T02:32:55.847Z","avatar_url":"https://github.com/elan-ev.png","language":"Ruby","funding_links":[],"categories":["Integrations"],"sub_categories":["Video Management"],"readme":"# Opencast BigBlueButton Integration\n\nThis repository contains [BigBlueButton](https://bigbluebutton.org/) processing scripts as well as documentation\nto configure BigBlueButton to send recordings to [Opencast](https://opencast.org/) under two different workflow scenarios.\nMake sure to read through the different options and evaluate which integration best fits your use case.\n\n- **[Post-publish Integration](post-publish)** – This integration leverages the recording processing capabilities of BigBlueButton to then transfer the processed video files to Opencast.\nThe **advantage** is that this integration is relatively small and easy to use.\nThe **downside** is that a lot of the processing happens on the BigBlueButton servers, taking away processing power from your next video conference.\n\n- **[Post-archive Integration](post-archive)** – This integration sends the raw recording data from a BigBlueButton Meeting to Opencast and relies on Opencast itself to process it.\nThe **advantage** of this is that it reduces the load on BigBlueButton servers.\nThe **downside** of this is that this solution is less feature complete, as Opencast still needs to be taught how to properly process webconferencing data.\n\nPossibly helpful ressources might also be the [BigBlueButton documentation on recordings](https://docs.bigbluebutton.org/dev/recording.html)\nand the [Opencast documentation on workflows](https://docs.opencast.org/develop/admin/#configuration/workflow/).\n\n## Installation\n\nGenerally, for this integration to work you need to configure and **install the processing scripts** on your BigBlueButton servers\nand **adjust the workflows** accordingly in your Opencast installation.\nFor details consult the readmes in the respective subfolders to understand how to set up each scenario.\nFor the installation and configuration on your BigBlueButton servers you can also use the [ansible-role](https://galaxy.ansible.com/elan/bbb_opencast_integration).\n\n## Opencast Metadata and Parameters\n\nYou can pass meeting metadata and other parameters to Opencast through the [create-API-call](https://docs.bigbluebutton.org/dev/api.html#create) from BigBlueButton.\nThis metadata should then later appear in the Opencast recordings.\nThe followings lists illustrate which metadata can be passed.\n\n*Note that these values are **not** case sensitive*.\n\n### Dublincore Metadata Definition\n\n| Variable | Default Value | Description |\n|:--|:--|:--|\n| `opencast-dc-title` | Room name | Title of the Opencast episode |\n| `opencast-dc-identifier` | None | Media package and event identifier, has to be a valid UUID |\n| `opencast-dc-creator` | None | The person primary reponsible for the creation of the event |\n| `opencast-dc-isPartOf` | None | Series identifier of which the event is part of |\n| `opencast-dc-contributor` | None | People contributing to the event |\n| `opencast-dc-subject` | None | A topic of the event |\n| `opencast-dc-language` | None | The primary language, language codes can be found in the [Opencast repository](https://github.com/opencast/opencast/blob/develop/etc/listproviders/languages.properties) |\n| `opencast-dc-description` | None or shared notes (configurable) | Description of the event |\n| `opencast-dc-spatial` | \"BigBlueButton\" | Location of the event |\n| `opencast-dc-created` | Meeting start date | Date of the event |\n| `opencast-dc-rightsHolder` | None | Rights holder of the resulting video |\n| `opencast-dc-license` | None | License of the resulting video, license codes can be found in the [Opencast repository](https://github.com/opencast/opencast/blob/develop/etc/listproviders/licenses.properties) |\n| `opencast-dc-publisher` | None | An entity responsible for making the resource available |\n\n#### User access data\n\n| Variable | Default Value | Description |\n|:--|:--|:--|\n| `opencast-acl-user-id` | None | User that gets read and write access via ACL |\n| `opencast-acl-read-roles` | Example: `ROLE_USER,ROLE_X` | Roles that can read |\n| `opencast-acl-write-roles` | Example: `ROLE_XY` | Roles that can write |\n\n### Series Metadata Definition\n\nIf a UID for a series is provided in `opencast-dc-isPartOf`, but that series does not exist yet, it is possible for a new series to be created with which the recording can then be associated. The list below defines which metadata can be passed along to the series.\n\n| Variable | Default Value | Description |\n|:--|:--|:--|\n| `opencast-series-dc-title` | Room name | Title of the Opencast serie |\n| `opencast-series-dc-creator` | None | The persons primary reponsible for the creation of the event |\n| `opencast-series-dc-contributor` | None | People contributing to the event |\n| `opencast-series-dc-subject` | None | A topic of the event |\n| `opencast-series-dc-language` | None | The primary language, language codes can be found in the [Opencast repository](https://github.com/opencast/opencast/blob/develop/etc/listproviders/languages.properties) |\n| `opencast-series-dc-description` | None | Description of the event |\n| `opencast-series-dc-rightsHolder` | None | Rights holder of the resulting video |\n| `opencast-series-dc-license` | None | License of the resulting video, license codes can be found in the [Opencast repository](https://github.com/opencast/opencast/blob/develop/etc/listproviders/licenses.properties) |\n| `opencast-series-dc-publisher` | None | Entities responsible for making the resource available |\n\n#### Series user access data\n\nAn addition to the ACLs of the meeting, the series can have its own ACLs as well.\n\n| Variable | Default Value | Description |\n|:--|:--|:--|\n| `opencast-series-acl-user-id` | None | User that gets read and write access via ACL |\n| `opencast-series-acl-read-roles` | Example: `ROLE_USER,ROLE_X` | Roles that can read |\n| `opencast-series-acl-write-roles` | Example: `ROLE_XY` | Roles that can write |\n\n### Other Parameters\n\nVarious parameters that change the behaviour of the integrations.\n\n- `opencast-add-webcams`:\n  - Boolean on whether webcams should be sent to Opencast\n  - Important: The post-archive integration also has this a global configuration option. If that is set to false, the parameter will be ignored!\n  - Default for post-publish: `true`\n  - Default for post-archive: The global configuration option\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Felan-ev%2Fopencast-bigbluebutton-integration","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Felan-ev%2Fopencast-bigbluebutton-integration","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Felan-ev%2Fopencast-bigbluebutton-integration/lists"}