Skip to content

Commit

Permalink
Merge pull request #17865 from GuiLeme/issue-17504
Browse files Browse the repository at this point in the history
refactor: clarify information on docs regarding recording
  • Loading branch information
antobinary committed May 11, 2023
2 parents 010ffbd + 19035b2 commit 5e11a07
Show file tree
Hide file tree
Showing 3 changed files with 45 additions and 2 deletions.
2 changes: 1 addition & 1 deletion docs/docs/administration/customize.md
Expand Up @@ -382,7 +382,7 @@ After you edit the configuration file, you must restart the recording processing

#### Enable generating mp4 (H.264) video output

By default, BigBlueButton generates recording videos as `.webm` files using the VP9 video codec. These are supported in most desktop web browsers, but might not work on iOS mobile devices. You can additionally enable the H.264 video codec in some recording formats:
By default, BigBlueButton generates recording videos as `.webm` files using the VP9 video codec. These are supported in most desktop web browsers, but might not work on iOS mobile devices. You can additionally enable the H.264 video codec in some recording formats (Keep in mind that the following `.yml` files mentioned ahead only exist when the respective format package is installed):

**`video`**

Expand Down
33 changes: 33 additions & 0 deletions docs/docs/development/recording.md
Expand Up @@ -642,12 +642,45 @@ ruby publish/presentation.rb -m <meeting-id>-presentation

Notice we appended "presentation" to the meetingId, this will tell the script to publish using the "presentation" format.

### Running record-and-playback as a service

You can deploy your changes by running `deploy.sh` and restarting the recording-related services:
```
systemctl restart bbb-rap-starter
systemctl restart bbb-rap-resque-worker
```

#### Deploying other formats

When running `deploy.sh`, it will only set the presentation workflow by default. However it is possible to add other formats too such as video, screenshare, etc. In order to do that, you just have to change `deploy_format "presentation"` in the `deploy.sh` script, adding whatever formats you want, so, in case of `video` and `screenshare`, it would be:

```bash
deploy_format "presentation video screenshare"
```

Another adaptation to deploy other formats is to follow the steps in [additional recording formats](/administration/customize#install-additional-recording-processing-formats) to enable these new workflows you just set. For example, in your `bigbluebutton.yml`, you may have:

```yml
steps:
archive: 'sanity'
sanity: 'captions'
captions:
- 'process:presentation'
- 'process:video'
'process:presentation': 'publish:presentation'
'process:video': 'publish:video'
```

At last, if it is the first time you set one other recording format, you may have to reload nginx in addition to the other commands mentioned previously in this section, like so:

```
systemctl restart bbb-rap-starter
systemctl restart bbb-rap-resque-worker
systemctl reload nginx
```

If you are not changing the nginx files for each format, it is not mandatory to reload nginx every time you run `deploy.sh`.

### Troubleshooting

Apart from the command
Expand Down
12 changes: 11 additions & 1 deletion record-and-playback/deploy.sh
Expand Up @@ -23,6 +23,7 @@ sudo cp core/Gemfile /usr/local/bigbluebutton/core/Gemfile
sudo rm -rf /usr/local/bigbluebutton/core/lib
sudo cp -r core/lib /usr/local/bigbluebutton/core/
sudo rm -rf /usr/local/bigbluebutton/core/scripts
sudo rm -rf /usr/local/bigbluebutton/core/playback
sudo cp -r core/scripts /usr/local/bigbluebutton/core/
sudo rm -rf /var/bigbluebutton/playback/presentation/0.81/
sudo rm -rf /var/bigbluebutton/playback/presentation/0.9.0/
Expand All @@ -33,9 +34,18 @@ function deploy_format() {
for format in $formats
do
playback_dir="$format/playback/$format"
if [ $format == "screenshare" ]; then
playback_dir="$format/playback"
fi
scripts_dir="$format/scripts"
if [ -d $playback_dir ]; then sudo cp -r $playback_dir /var/bigbluebutton/playback/; fi
nginx_file="$format/scripts/*.nginx"
if [ -d $playback_dir ]; then
if [ "$format" == "presentation" ]; then sudo cp -r $playback_dir /var/bigbluebutton/playback/; fi
if [ "$format" == "screenshare" ]; then sudo mkdir -p /usr/local/bigbluebutton/core/playback/$format; sudo cp -r $playback_dir/* /usr/local/bigbluebutton/core/playback/screenshare/; fi
if ([ "$format" != "presentation" ] & [ "$format" != "screenshare" ]); then sudo mkdir -p /usr/local/bigbluebutton/core/playback/$format; sudo cp -r $playback_dir /usr/local/bigbluebutton/core/playback/; fi
fi
if [ -d $scripts_dir ]; then sudo cp -r $scripts_dir/* /usr/local/bigbluebutton/core/scripts/; fi
if [ -f $nginx_file ]; then sudo cp $scripts_dir/*.nginx /usr/share/bigbluebutton/nginx/; fi
sudo mkdir -p /var/log/bigbluebutton/$format /var/bigbluebutton/published/$format /var/bigbluebutton/recording/publish/$format
done
}
Expand Down

0 comments on commit 5e11a07

Please sign in to comment.