Closed ghost closed 3 months ago
For the first issue, Greenlight should be doing a simple publishRecordings
and an updateRecordings
call. Can you confirm that those calls succeed if you're doing them through API Mate?
For the second issue, what's the name of the actual format in the recording? Greenlight supports the following names: presentation, video, podcast, statistics, notes, capture. Anything else probably won't show up
First issue: via API publishRecordings
returns SUCCESS. updateRecordings
throws a 500 error with the log reading:
java.lang.NullPointerException: Cannot invoke "org.bigbluebutton.api.domain.RecordingMetadata.getMeta()" because "<local4>" is null
However, this only happens in GLv3 when the default recording visibility is set to unpublished. (regarded as visibility "inaccessible" in GLv2; when not having the script and setting the visibility as unpublished GLv3, GLv2 sets the GLv3-recording as "unlisted")
Removing the script from BBB fixes this issue, so by now I think this is more on BigBlueButton's side than Greenlight.
Second issue: When checking in GLv2 the format is listed as "video". The script's code also puts the output as video: https://github.com/danielpetri1/bbb-recording-exporter/blob/4d7f8a356b0aae345a34b4a231aa9c5ae07a2af5/presentation.rb#L211
Edit: Using BBB 2.7.4
Did the recording already exist? Or was it a new recording? If it already existed, you'll have to resync the room's recordings to pull the new format (Through admin > server rooms)
I tested with new recordings. Resync of the room's recording did add the new format. I'm gonna try and see if I can figure out why it doesn't appear initially but with resync.
Greenlight depends on the recording_ready
callback to create the recordings in it's database. I would check the external library to see why it's not being included there.
We are using bbb-recording-exporter (https://github.com/danielpetri1/bbb-recording-exporter) to create a second format for processed recordings. We are currently experiencing problems when deploying the script in our test environment. While this script is for BigBlueButton, the issues only appear for Greenlight v3. Greenlight v2 is working as expected. We migrate from GL 2.14.9 to GL 3.3.2, with the problems only appearing in 3.3.2. The issues below occur regardless of a running GLv2 instance. They only occur when there is a second (additional) recording format present.
To reproduce the effects of the script, copy the presentation.rb to /usr/local/bigbluebutton/core/scripts/post_publish and the interval_tree.rb (found under lib) to /usr/local/bigbluebutton/core/lib/recordandplayback on the BBB Server (file permissions may need adjustment).
First problem - Can't change visibility when default recording visibility is set to unpublished: If the default recording visibility is set to unpublished, the visibility of all new recordings is set to unpublished and can not be changed (error.problem_completing_action is displayed). When changing the default recording visibility to anything else, it is possible to change the visibility of new recordings. However, recordings created when the default was set to unpublished can still not be changed. Expected behavior: The individual recording visibility can be changed to a visibility permitted by the role settings, regardless of the default recording visibility.
Second problem - mp4 recording format is not shown: when mitigating the visibility switch-issue described above, only the "Presentation" recording format is displayed as an option to view to the recording. However, the mp4 is still there as it appears in the corresponding GLv2 room. Deleting the recording in GLv3 does not delete the mp4 file. Expected behavior: The recording can be viewed with a button "Video" next to "Presentation", just like it was possible in Greenlight v2. The displayed recording format should be an mp4 file.