etro-js/etro
Typescript video-editing library for the browser observed · 2026-08-28
Health v2 · maintenance only
93/100
- Activity 97
- Release rhythm 85
- Longevity 100
How is this computed?
round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10) — computed 2026-09-03. Adoption (stars, forks) is never an input.
- gap_med: 73.5
- age_days: 2889
- days_rel: 21
- days_push: 21
- n_releases_24m: 3
Adoption not part of the score
1148 stars · 97 forks observed · 2026-08-28
What it is AI-extracted, prompt v1, taxonomy v1, 2026-08-30, confidence not recorded
Etro is a framework-agnostic TypeScript library for programmatically editing videos in the browser. It composites video, audio, image, and text layers, applies hardware-accelerated GLSL filters, and can play, stream via WebRTC, or record the result to a blob.
Use cases
- edit videos programmatically in the browser
- composite video and audio layers with text overlays
- apply GLSL filters and effects to video
- record a canvas movie to a downloadable video blob
- build a webcam filter app in React
- chroma key a green screen video in the browser
- stream a composed video with WebRTC
- animate layer properties with keyframes
When to choose
- you need client-side, in-browser video editing without a server
- you want to composite multiple media layers with custom GLSL effects
- you need framework-agnostic code usable with React, Vue, Svelte, or plain JS
- you want to play, stream, or record composed video directly from the browser
When to avoid
- you need offline (faster-than-realtime) rendering, which is not yet supported
- you need server-side or heavy-duty video encoding pipelines better suited to ffmpeg
- you need a GUI video editor rather than a code API
- GPL-3.0 licensing is incompatible with your project
Facets
library · maturity active
video-processing audio-processing image-processing graphics media web-development frontend browser cross-platform video-editing glsl webgl typescript canvas webrtc keyframes chroma-key framework-agnostic video nodejs
10 sources
- readme: https://github.com/etro-js/etro · fetched 2026-08-28 · c5cd515cc8b9
- homepage: https://etrojs.dev · fetched 2026-08-29 · 7c789e468efc
- site_page: https://etrojs.dev/docs/intro · fetched 2026-08-29 · 3fa01c19f1f3
- site_page: https://etrojs.dev/docs/0.13/intro · fetched 2026-08-29 · 7575aa3684b3
- site_page: https://etrojs.dev/docs/0.12/intro · fetched 2026-08-29 · c67f496716c8
- site_page: https://etrojs.dev/docs/category/getting-started · fetched 2026-08-29 · ee97ec67aeef
- site_page: https://etrojs.dev/docs/reference/movie · fetched 2026-08-29 · f426543b525a
- site_page: https://etrojs.dev/docs/category/layers · fetched 2026-08-29 · 98917ecbbe85
- site_page: https://etrojs.dev/docs/category/effects · fetched 2026-08-29 · 42ce6efeba8e
- site_page: https://etrojs.dev/docs/category/tutorials · fetched 2026-08-29 · 5ae1a617a26a
Member repositories
| Repository | Role | Health v2 |
|---|---|---|
| etro-js/etro | main | 93 |
For agents
Data as of 2026-08-30T08:39:29.467469+00:00 · Report a problem