Self-serve download video recordings

The task is tracked here.

My part is to figure out how recorded content can be downloaded by the room owner as mp4 files, as there isn’t a download button to get video file that one can publish to YouTube or archive elsewhere. Previously, this was done with the help of a server admin.

First, it’s important to emphasize that while BBB provides a really nice web interface to present and navigate the presentation and webcams together, there is never a single video file with these components together. The two video files that exist on the server are:

  1. The presentation (whiteboard / screenshare)
  2. The webcams

After you record, it takes a while for the recording to appear under All Recordings, because the server has to process the raw streams into suitable outputs. For example, my 1 minute recording took 10 minutes to show up.

Screen Shot 2020-08-14 at 5.25.17 PM

A stream is Unlisted or Public, which means they are always public to anyone who has the link. There is no option for a private aka. access-restriction by account option.

Clicking on the stream will let you use the web interface of BBB to navigate the recording in a rather nice interface (e.g. https://ca.meet.coop/playback/presentation/2.0/playback.html?meetingId=e3c531183a74fa3db9987c95777bf98595570c2c-1597417493668), but that doesn’t help people who want to upload a single file to YouTube. However, from this link, you can get the meetingId to access the raw video assets, in this example e3c531183a74fa3db9987c95777bf98595570c2c-1597417493668:

The links to download (1), the Presentation, is:

https://ca.meet.coop/presentation/<meetingId>/deskshare/deskshare.mp4
https://ca.meet.coop/presentation/<meetingId>/deskshare/deskshare.webm

The links to download (2), the Webcams, is:

https://ca.meet.coop/presentation/<meetingId>/video/webcams.mp4
https://ca.meet.coop/presentation/<meetingId>/video/webcams.webm

As you can see, each file is available both as mp4 and webm.

In addition, there is a button in the admin panel that allows you to generate an email to share a recording:

To view the recording, follow the link below:

https://ca.meet.coop/playback/presentation/2.0/playback.html?meetingId=e3c531183a74fa3db9987c95777bf98595570c2c-1597417493668

This e-mail is auto-generated by BigBlueButton.
BigBlueButton is an open source web conferencing system. For more information on BigBlueButton, see https://bigbluebutton.org/.

Since the only variable here is the meetingId, it would be rather trivial to add a download button to our fork in the admin panel, so the room owner can easily download each raw video. in mp4 and webm. My estimate is a day of work but this depends on the dev workflow of Collocall’s codebase and whether the patch can be mainlined.

There are also a bunch of customizations relating to recordings available here: https://docs.bigbluebutton.org/2.2/customize.html#common-customizations

2 Likes

That would be great - this is already probably the most requested feature… let’s see if @hng can advise on the workflow - a day seems like quite a long time just to be able to easily download videos but I still think it would be worth it as it would enable us to re-enable recordings (with a 1 or 2 day purge) which would enable us to sell more User accounts…

1 Like

A general note about software development estimates:

Discuss the feature: 30 min x 2 ppl
Code the feature: 30 min (main dev)
Test the feature: 30 min (main dev)
Review the feature: 30 min (another dev)
Stage the feature and acceptance: 30 min (by Product)
Deploy to production: 1 h (across all instances, or partial which is more complexity)
Unforeseen multipler: 2x (I don’t like the logo you chose, it doesn’t work on Safari, etc.)
Total: 8 h (1 day, everything is one day)

1 Like

There are some tools here that may be useful towards this goal, such as BBB-Render:

“Scripts to convert a BigBlueButton recording into a single video file”

If you’re building in automation for exporting recordings, it would be awesome to be able to do a single-click export to a PeerTube instance. Ideally where would be options for a one-off manual export, and a regular, automated export.

For example, let’s say an org uses meet.coop for a monthly public meeting, which they have a dedicated BBB room for. They host a PT instance, with a channel specifically for recordings of those meetings. The first time they export a recording from the dedicated room, they’re asked for the information necessary to upload the file (eg URL of the PT instance), and redirected to PT to login and give the BBB room publishing access to the correct PT channel.

They can then click either ‘publish this recording’, OR, ‘publish every recording from this room’, to choose between manual and automated upload. If they choose manual upload, the next time they export a recording, the previous details will be pre-filled, so if they just want to go ahead and upload to the same channel, they can just click ‘publish this recording’ again.

2 Likes

This is exactly the type of content publishing feature into non-YouTube platforms I am hoping we can develop as Meet.coop in the future. There is especially a lot of opportunities to publish into the decentralized space. We can publish to PeerTube, Internet Archive (which gives a torrent link), IPFS (ipfs.io and infura, etc.), Dat, etc.

Step 1 as you said, is to:

1 Like

Code for this is at the link I gave. Provided to me by the folks at bbb.nzoss.nz .

BTW I’m still keen to set up an Aotearoa-based node of meet.coop, also using CatalystCloud.nz , and I have been talking with a group that could be Client #1 for that service.

1 Like

We’ve already implemented this with this script and we’ve added a “Download” button. The script generates a video file with the presentation and audio track, nothing more. In general BBB has no concept of a file that represents a complete recording, as a recording consist of audio, webcams, chat, presentation, whiteboard… So we have to decide what needs to be in this file, for now presentation+audio seems to be enough from my POV, but I never had much to do with recordings of video calls.

2 Likes

Welcome back :slight_smile:

I know that Our Networks need the webcam stream as well, OPEN 2020 also needed that.

@osb I suppose OPEN 2020 would’ve preferred presentation + webcam + audio together as a single video file?

Our Networks would like the presentation + webcam as two separate video files, the way BBB has it, since historically they do that post-processing themselves.

1 Like

In the tracker ticket, there is a question of hardware requirement to ‘enable on demand video playback’

Looking at the rate of video file size per hour,
it seems to me any type of storage, be it HDD or SDD, should do.

https://docs.bigbluebutton.org/support/faq.html

@benhylau @hng @Sebas891? What do you think?

Hi! I’m Hank and for the last few years I’ve been helping out Our Networks with live-stream production and all aspects of post production. I’d like to clarify the ideal situation for recording files for us and run through a few questions I have about BBB video call recording.

As I understand it BBB records all streams separately and then when the call ends it auto processes them into a single file. Having the ability to grab all the separate sources (webcam, screen-share, and any presentation files) is perfect for me! I recognize this is a rather niche use case, most people will probably want their videos as all-in-one packages, but for video editing having the source files would be super rad and allow me to maintain the same post workflow as last year.

Questions!

  1. This page of the BBB docs mentions EDLs, is this referring to Edit Decision List files? If so would it be possible for me to have those too? What’s in them, how does the software determine cut points? Will this give me auto synced audio? I’d love to find out!

  2. How does video recording stop and start? Is it when everyone has left the room? Can this be manually triggered?

  3. How are files labeled? There are a maximum of 18 talks that could be recorded this year, that’s at least 36 different video files assuming they all have slides and only one presenter source. It’s not the end of the world if they’re not labeled and I’m cool with sorting some things through at the end of each day but if there’s a system for this that could make the pipeline easier for me that’d be cool!

  4. Can videos be saved as widescreen 16:9? I googled this and apparently it was a feature on the flash client but may or may not have been implemented in the HTML5 one, if anyone knows the answer to this that’d be super cool. Super bonus points if we can go above 240p resolution too.

2 Likes

I posted some associated costs in the Production server configuration and costs card and added OVH and Hetzner for comparison alongside the quote provided by Koumbit. See the file attachments and comment section on that card.

1 Like