Skip to content

How to publish recordings of breakout sessions

ianbjacobs edited this page Mar 20, 2024 · 3 revisions

Presentations made during breakout sessions may be recorded (per our recording policy. The following instructions for meeting organizers explain how to publish these recordings and their transcripts.

Overall steps

  1. Request access to the recordings
  2. Identify recordings
  3. Download recordings
  4. Truncate recordings
  5. Upload videos to Cloudflare
  6. Create recording pages
  7. Publish recording pages

Request access to the recordings

Recordings are only accessible by people with sysadmin rights on the W3C Zoom account (e.g., Vivien or Ralph). Meeting organizers need to request sysadmins access to the recordings.

Zoom sends an email to meeting organizers whenever a sysadmin shares a recording with them. The email contains a link to the recording and a passcode.

Identify recordings

Recordings need to be mapped to breakouts. The idea is to create a folder for each recording, named after the breakout's number, that will contain the recording files. You may complete the folder name with an hyphen and more human-friendly text, e.g., 22 or 22-web-features.

Download recordings

Recording links in the emails take you to a Zoom page with a player. Recording files can be retrieved from the download link at the top right of the page.

Recordings are per room and there may be more than one recording per room. The page lets you visualize and download all recordings available for the room, but it is good at hiding the fact that multiple recordings are available. If multiple recordings are available, the main media player has "Next recording" and "previous recording" links next to the play button, to navigate the different recordings.

Each recording is composed of a set of files:

  • GMTYYYYMMDD-HHMMSS_Recording_wwwwxhhhh.mp4: a video of the shared screen(s) along with an overlay of the speaker(s)
  • GMTYYYYMMDD-HHMMSS_Recording.transcript.vtt: the automatically generated WebVTT transcript of the video.
  • GMTYYYYMMDD-HHMMSS_Recording_avo_wwwxhhh.mp4: a video of the speaker(s)
  • GMTYYYYMMDD-HHMMSS_Recording_as_wwwxhhh.mp4: a video of the shared screen
  • GMTYYYYMMDD-HHMMSS_Recording_gvo_wwwxhhh.mp4: a video of all participants
  • GMTYYYYMMDD-HHMMSS_Recording.mp4: an audio-only recording

YYYYMMDD-HHMMSS is a timestamp. www and hhh are the width and height of the underlying video. They depend on the video, the resolution of the shared screen and of the speaker(s) cameras. Do not expect to get the same dimensions for all video files in the recording, and do not expect to get the same dimensions across recordings!

Some other files may appear from time to time. For example, some recordings have a closed captions WebVTT file on top of the transcript, but that file does not include the speakers names, so it is less directly usable. If the chat was used, the recording will also contain a text file with the contents of the chat.

In theory, only the first two files are of interest: the video of the shared screen(s) along with an overlay of the speaker(s), and the transcript. Videos of the other participants should typically not be published.

Note: The captions were automatically generated. That process does not yield good results on technical discussions that include acronyms and specific terms. Ideally, session chairs should review the captions and provide fixes.

Truncate recordings

It is very likely that recordings will start before the presentation starts and end after the presentation is over. In many cases, participants forget to stop recordings after the presentation (although the recording policy is explicit that the discussion should not be recorded).

For each recording, you'll need to identify start and end points, e.g., 00:07-18:35 to start after 7 seconds and end at 18 minutes and 35 seconds. You may then run the truncation command, which will take care of truncating the video and the transcript.

To truncate a recording, set a RECORDING_FOLDER environment variable to the path of the folder that contains downloaded recordings and run the truncate-recording tool:

set RECORDING_FOLDER=C:\data\recordings
npx truncate-recording [session number] [start] [end] [prefix]
npx truncate-recording 22 00:05 13:47 tpac2023

Use - to keep the end of a recording, e.g.:

npx truncate-recording 22 00:05 - tpac2023

Important: The prefix matters because it is going to be used afterwards to retrieve the list of videos uploaded to Cloudflare. Use a unique identifier such as breakouts-day-2024.

Recordings may need to be truncated at multiple locations, for instance because the presentation was in two parts, with discussion in between. When that happens, the best is to create the multiple parts independently, and to merge the results afterwards. That is going to be more manual for now!

Upload videos to Cloudflare

Once truncated, the resulting videos can be uploaded to Cloudflare. That obviously supposes that you have the appropriate rights to access the admin Cloudflare panel.

  1. Log in to https://dash.cloudflare.com
  2. Choose "World Wide Web Consortium" account
  3. Go to Stream > Videos on the left pane
  4. Drop videos to upload

Once videos have been uploaded and processed (in other words, when they are flagged as "ready" on Cloudflare's admin interface), you may access the details of each video and upload the English captions file for each of them.

Important: Do not change the names of the videos. As mentioned above, the prefix will be used to tell whether or not a recording page needs to be created for a Cloudflare video.

Create recording pages

To create the recording pages, you will need a template, such as

Once you have a template page, copy it over to your local recording folder. You should then be able to run the create-recording-pages tool:

npx create-recording-pages

Beware though, the tool requires a number of environment variables to be set, including:

  • RECORDING_FOLDER: as above, the local folder where that contains the truncated recordings and caption files.
  • RECORDING_PREFIX: the prefix to use to search for the right videos on Cloudflare
  • CLOUDFLARE_ACCOUNT: the Cloudflare account ID. It appears on the top right on most Cloudflare admin pages.
  • CLOUDFLARE_TOKEN: An Cloudflare API token. If you don't have, you need to create one through My profile > API Tokens. The token must be able to access the streams with read permissions.

The tool creates recording pages in the recording folder.

Edit Transcript

If it is necessary to edit the transcript (e.g., to fix acronyms), edit the source WebVTT document so that the edits survive regeneration of the pages and captions.

Publish recording pages

Publishing the recording pages is a matter of uploading the pages to CVS and making them public. To link to these pages from the breakouts event's page, add a "Recording" link to the meeting materials section of the GitHub issue that describes the breakout. The link should propagate to the calendar entry and to the breakouts event's page shortly after (within minutes for the calendar entry, within an hour for the event's page).