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

3 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)

2 Likes

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:

2 Likes

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

You can download the video without any problems if the video format is suitable. If not, then that’s a problem. But it’s probably no secret that you can change the design and size of the file. This is usually done with the help of a converter. But if you say that you could download the video with the help of the server administrator, you can continue to do so. But for me, it’s much more convenient to convert and upload video with a proven program. I like that the multimedia format I’m using has high audio fidelity. Since it’s a format developed by Microsoft, it’s natively supported by all Windows devices. Likewise, it is compatible with most non-Microsoft devices and players because of its popularity.

Can someone tell me how I can edit a video from Twitch?

I’ve never used the built-in recording feature of the BBB. I’ve always used third-party apps that let me do screen captures.

@WinifredHobbs You might also want to try the built in recording features of Greenlight/BBB? You not only get webcams and slide presentation. You also get annotations on the whiteboard, posts in the chat (with clickable links), a sidebar of slide shorcuts, switched focus between video thumbnails and slides. This expanded, interactive playback is only available thro Greenlight.

The mp4 downloadable playback is pretty tame by comparison and can of course be delivered with 3rd party apps. But the Greenlight recording allows for example a full presentation to be recorded in BBB - slides plus voiceover plus annotations/livemarkup plus clickable links posted in the chat. An example (without the talking head and chat but with annotations) : Learning spaces

In comparison, a screengrab would not be interactive. And pauses during recording (eg to help the presenter gather their thoughts) are not displayed in the BBB recording. Of course, recording presentations isn’t something every user may want to do, and screengrab may be all that’s wanted.

Hi there, Thanks for you all your efforts to set up this platform. I’ve been testing out Meet.coop and have tried to record a couple sessions for our org, Cosmos Co-op. However, when I try to download the recordings (which comes as an mp4 file), they play audio only. The screen is black.

From the room recordings page, I am able to open the presentation in the browser, which does show all the video feeds (as well as chat; it can replay the whole meeting)—however, if I switch to the speakers feed, I can right-click on the screen to download these as a webm file. This file excludes the presentation. It also excludes the screen-sharing I did during the meeting. Is that how it’s supposed to work? During the session, we had minimized the default presentation and switched to the gallery view of speakers. This doesn’t seem to make a difference to the output file.

Is there any way to download a recording that includes both the speaker and presentation/screenshare video/audio feeds in one file, which could be uploaded to video hosting for public sharing?

1 Like

Great to hear from you @illuminagent thanks. Some of what you comment on is how BBB and its Greenlight interface are designed. But the black screen in the mp4 downlaod is a fault. @dvdjaco can Tech circle please pick this up?

The way to display slide and on-screen annotations, as well as the contents of the Shared Chat and its clickable links, and to switch between presentation and video thumbnails, is to use the Playback mode. These elements are not included in an mp4 download (and I think in principle some of the most helpful, like the clickable links in the chat, could not be - @dvdjaco @wouter am I right?).

If you choose to set the playback of the Presentation to ‘Visible’ rather than ‘Unlisted’ in the room’s Greenlight interface, anyone who visits the room’s login page can initiate playback. And of course the link to the playback can be shared, so that anyone can initiate playback in their own browser.

I find this works well, even if the playback window isn’t integrated inside another web page. The features available in Playback are much more extensive than those available in an mp4 format download. Is there some reason why sharing a Playback link won’t meet your needs, and a hosted mp4 has to be your means of communication?

Thanks for the reply, @mikemh.

Not wedded to hosted mp4. It is nice, actually, being able to replay an entire conversation, with all the components that were there (screenshares, chats, etc), rather than only a single A/V feed, via the link. Even in Zoom, the chat is a separate file, not part of the video recording. I suppose the downsides that come to mind might include:

  • not being able to embed a video recording on our own site(s)—e.g., in a blog post or forum discussion
  • not being able to organize many videos, by topic or type, and create an archive which could be sorted, searched, filtered…
  • mobile usability?

I also wonder about storage & bandwidth. We currently have at least a couple hundred of 1-2 hr average video recordings of meetings, book groups, and topical conversations on Vimeo. I imagine we might start eating up resources if these started accumulating on the Meet.coop servers. As I have only recently begun getting familiar with the project, I am not yet up to speed on the allowances being envisioned.

Yep. A link isn’t the same UI as an embedded playback window. But usable?

  • not being able to organize many videos, by topic or type, and create an archive which could be sorted, searched, filtered…

A webpage (or even a site) of links can be constructed of course.

  • mobile usability?

In my limited experience (Android phone, Firefox browser) playback works quite well. The UI is more clunky of course (small screen, touch not full keyboard/mouse) but works well enough. It’s split between two screens that can be toggled.

I also wonder about storage & bandwidth.

Hmmnn. meet.coop doesn’t have a policy on this at present - true @wouter ? ‘Fair use’ would apply. But there isn’t a predefined norm. I suspect that the Greenllight UI will be inconvenient, before size of storage becomes a huge issue. Greenlight will soon become inconvenient (just a flat list in date order) when more than around a dozen files are stored, is my guess. If a user (you) started to accumulate large amounts of recording we’d need to define a service level on this.

Yeah, I’d say. It could be used. Though from a design or “user experience” perspective, it is probably not ideal, as there isn’t the interesting visual element (or it would have to be added as a separate image), and it leads people away from the site they are on, so perhaps breaks a certain flow of attention.

True. But for the above…

I’m sure it will come up sooner or later! In any event, I’m less concerned about paying fairly for resources we may use, which we would want to do regardless, and more so with the ability to organize a lot of media files and present them in a nice way. However, I understand that that may be beyond the scope of the Meet.coop service. Or perhaps, there could be some way to create “albums” and categories or a tagging system for cataloguing a larger collection of events, within Greenlight?

It would be sufficient for our purposes to have a video file that exactly reproduces the flow of the discussion—showing the speakers when they are speaking, the presentation when there is a presentation, and any screensharing when that occurs.

One of the issues we have with Zoom is that there is a cumbersome workflow involved with producing events, downloading the video files, uploading them somewhere else, adding the appropriate metadata, and then embedding them wherever we embed them, and also making sure they are deleted from Zoom. It would be REALLY NICE to have a single (cooperatively owned & managed) platform where that all could happen in an integrated manner:

  • Create the event
  • Invite people (+ emails and notifications; include automated, user-configurable reminders)
  • Record it (optionally)
  • Archive it (categories, tags, folders or albums, showcases…)
  • Share it (so, ability to embed elsewhere, including social media feeds)
  • And even, why not, discuss it… allowing for asynchronous, continued participation

Tbh, my dream would be that a video conferencing service such as Meet.coop could be integrated with a Discourse forum, so there could be some seamless way to create a topic which invokes a video (or audio only) meeting, which then gets automatically embedded in the topic. That is what I hope we can do eventually on Infinite Conversations, but I could see many communities finding such an integration useful.