
Product
Introducing Socket Firewall Enterprise: Flexible, Configurable Protection for Modern Package Ecosystems
Socket Firewall Enterprise is now available with flexible deployment, configurable policies, and expanded language support.
@100mslive/meeting-scribe
Advanced tools
meeting-scribe is a powerful, yet experimental, tool designed for joining WebRTC-based calls seamlessly. Its primary functionality includes recording individual audio and video tracks during online meetings. Currently in its developmental phase, it offers a glimpse into the potential of automated meeting recordings. This tool is best suited for developers, tech enthusiasts, and early adopters who are interested in exploring new technologies in the realm of online communication.
NOTE: This tool is still in experimental stage, and hence not meant for production usage yet. Things may break, and the interface may change without supporting backward compatibility.
To install meeting-scribe, follow these steps:
npm install -g @100mslive/meeting-scribe
OR, yarn:
yarn global add @100mslive/meeting-scribe
OR, pnpm:
pnpm add -g @100mslive/meeting-scribe
After installation, you can run meeting-scribe from any directory using the following command:
meeting-scribe -u https://amar-livestream-641.app.100ms.live/streaming/meeting/dcm-zlrx-pee -va 100ms
Note: Above is a sample meeting url, please login to 100ms to create your own meeting room.
-u, --url: The meeting URL to join (required)
-va, --vendor-adapter: This is used to load default vendors like, 100ms, livekit. If you create your own vendor please add the class name as vendor adapter
-f, --loader-file: This need to have a location of a loader js file. It must contain class which need to passed to vendor adapter
-o, --output-dir: The directory to store recordings. It will contain final audio/video recording data for every track in a meeting. (default: $cwd/meeting-scribe/output)
-d, --downloads-dir: The directory used by the browser as its default downloads directory. Our extension will download audio/video data periodically inside this directory. (default: $cwd/meeting-scribe/downloads)
-i, --interactive: By default, the browser opens in headless mode and the meeting-scribe joins the call automatically. But, this functionality is not supported for all vendors yet. Check Available Adapters to know about which vendors are supported in headless mode currently. So, for other vendors, it is desirable that the bot at least opens up the given meeting link without performing any UI interaction like filling up the participant name, clicking on the Join button, etc. The user can then manually do the UI interactions to allow the bot to join the meeting. After joining, the bot can start recording as soon as remote peers are available in the call (Please ensure that remote peers do not join the meeting from the same browser instance from which the bot has joined the call). To enable such interactive mode, use this option.
-h, --help: Print help on the command line.
To see all available options:
meeting-scribe --help
meeting-scribe uses the concept of adapters to join meetings for any specific vendor. To support new vendors (like Teams, Google Meet, etc.), one needs to write the adapter for that particular vendor. To write new adapter please check examples.
| Vendor | Bash Script |
|---|---|
| 100ms | meeting-scribe -u <YOUR_100ms_URL> -va 100ms |
| livekit | meeting-scribe -u <YOUR_Livekit_URL> -va livekit |
Create your own adapter file which contain a class with two mandatory methods. Below is a template.
// this what user needs to add
class VendorLoader {
pageAccess; // puppeteer page of loaded url
setPageAccess(pageAccess) {
this.pageAccess = pageAccess;
}
async onLoad() {
// your automation loader code goes here
// this will responsible to join room
}
}
module.exports = {
VendorLoader,
};
Running your own vendor execution code.
meeting-scribe --url <YOUR_VENDOR_MEETING_URL> -f <FILE_PATH> -va <VENDOR_CODE_CLASSNAME || VendorLoader>
For support, feature requests, or contributions, please open an issue or pull request in the GitHub repository. Check CONTRIBUTING.md for setup instructions.
100ms meeting scribe is licensed under Apache License v2.0.
FAQs
Record audio and video tracks of each peer in a meeting
We found that @100mslive/meeting-scribe demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 17 open source maintainers collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Product
Socket Firewall Enterprise is now available with flexible deployment, configurable policies, and expanded language support.

Security News
Open source dashboard CNAPulse tracks CVE Numbering Authorities’ publishing activity, highlighting trends and transparency across the CVE ecosystem.

Product
Detect malware, unsafe data flows, and license issues in GitHub Actions with Socket’s new workflow scanning support.