# streamproc/MediaStreamRecorder

Cross browser audio/video/screen recording. It supports Chrome, Firefox, Opera and Microsoft Edge. It even works on Android browsers. It follows latest MediaRecorder API standards and provides similar APIs.

Repository: https://github.com/streamproc/MediaStreamRecorder
Canonical: https://ross.abutalabs.com/products/mediastreamrecorder
Homepage: https://www.webrtc-experiment.com/msr/
Language: JavaScript
License: MIT
License Family: permissive
Topics: mediastreamrecorder, mediarecorder, webrtc, webrtc-experiments, webrtc-demos
Last push: 2018-07-04T13:42:21+00:00

## Health v2 (maintenance only)
Score: 23/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 0, release rhythm 8, longevity 100
- inputs: {"age_days": 4796, "days_push": 2982, "days_rel": null, "gap_med": null, "n_releases_24m": 0}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 2677, forks 552 (observed 2026-08-28T04:07:09.825206+00:00)

## What it is
MediaStreamRecorder.js is a cross-browser JavaScript library for recording audio, video, screen, and canvas streams using the MediaRecorder API standards. It supports Chrome, Firefox, Opera, Edge, and Android browsers, and can emit recorded blobs at time intervals for realtime upload.

## Use cases
- record microphone audio in the browser
- record webcam video from a web page
- capture screen or tab recordings in the browser
- record canvas 2D/3D animations as video
- upload recorded audio/video blobs to a server in realtime
- record gif animations in the browser
- record multiple streams into a single container

## When to choose
- you need a consistent recording API across browsers with inconsistent MediaRecorder support
- you want to record camera, microphone, screen, or canvas streams in a web app
- you need periodic blobs for realtime upload to a server
- you need to support older or mobile browsers

## When to avoid
- your target browsers all have solid native MediaRecorder support and you don't need shims
- you need server-side or native (non-browser) media recording
- you need actively maintained code with recent releases
- you need advanced post-processing like editing or transcoding

## Facets
- artifact type: library
- maturity: maintenance
- function: audio-processing, video-processing, sdk
- domain: web-development, media, browser-extensions
- platform: browser, cross-platform
- tags: mediarecorder, webrtc, screen-recording, audio-recording, video-recording, javascript, cross-browser, nodejs

## Member repositories
- streamproc/MediaStreamRecorder (main) score 23

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:07:09.825206+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T02:18:01.091815+00:00, confidence not recorded.
  - readme: https://github.com/streamproc/MediaStreamRecorder (fetched 2026-08-28T04:07:09.825206+00:00, sha a6b84949c491)
  - homepage: https://www.webrtc-experiment.com/msr/ (fetched 2026-08-29T10:00:40.423190+00:00, sha ef87e6d53b74)
- Data as of 2026-08-30T08:39:29.467469+00:00.
