-
Notifications
You must be signed in to change notification settings - Fork 12
How to publish recordings of breakout sessions
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.
- Request access to the recordings
- Identify recordings
- Download recordings
- Truncate recordings
- Upload videos to Cloudflare
- Create recording pages
- Publish recording pages
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.
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
.
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.
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!
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.
- Log in to
https://dash.cloudflare.com
- Choose "World Wide Web Consortium" account
- Go to Stream > Videos on the left pane
- 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.
To create the recording pages, you will need a template, such as
- the template for TPAC 2023 breakouts
- the template for Breakouts Day 2024
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.
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.
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).