Top AI Repos — open-source AI, indexed and scored
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
A web-based Video Editing SDK built on WebCodecs. 基于 WebCodecs 构建的网页视频编辑 SDK。
| Date | Stars |
|---|---|
| 2026-07-24 | 2080 |
| 2026-07-25 | 2080 |
| 2026-07-28 | 2080 |
| 2026-07-30 | 2080 |
| 2026-08-08 | 2084 |
| 2026-08-16 | 2085 |
| 2026-08-22 | 2086 |
| 2026-08-24 | 2087 |
| 2026-08-30 | 2088 |
| 2026-09-01 | 2088 |
| 2026-09-02 | 2089 |
| 2026-09-10 | 2088 |
| 2026-09-18 | 2089 |
| 2026-09-20 | 2089 |
Today
— stars today
This week
+1 stars this week
This month
+4 stars this month
Momentum
0.0
growth rate 0.05%/day
# WebAV


[](https://github.com/WebAV-Tech/WebAV/actions/workflows/release.yml)
English | [中文](./README_CN.md)
WebAV is an SDK for **creating/editing** video files on the web platform, built on WebCodecs.
_Visit [WebAV Pro](https://github.com/WebAV-Tech/WebAV-Pro) for more advanced features. You can purchase Pro licenses or request custom outsourcing if needed, which also helps support the ongoing maintenance of this project._
### Features
- Cross-platform: Supports running on Edge and Chrome browsers, as well as in Electron.
- Zero Cost: Fully utilizes client-side computation, eliminating server costs.
- Privacy and Security: No user data is uploaded.
- High Performance: 20x faster than ffmpeg.wasm. For a comparison with native performance, see [WebCodecs Performance Benchmark](https://hughfenghen.github.io/posts/2024/07/27/webcodecs-performance-benchmark/).
- Easy to Extend: Developer-friendly for web developers, easily integrates with Canvas and WebAudio for custom functionality.
- Small Size: Approximately 50KB (MINIFIED + GZIPPED, before tree-shaking).
_Compatible with Chrome 102+_
### Use Cases
- Batch audio and video file processing, such as adding watermarks, dubbing, embedding subtitles
- Building audio and video related products, such as video editing, live streaming, video animation production
## DEMO
The WebAV project offers a variety of quick DEMO experiences. Visit the [DEMO Homepage](https://webav-tech.github.io/WebAV/demo) to check the compatibility of your current device, or click here to experience [Pro advanced features online](https://webav-tech.github.io/WebAV-Pro/demo).
_Tip: The test video resources are hosted on GitHub Pages. Starting a DEMO may require some network loading time._
Here are some feature demos you might be interested in:
- [Video Concatenation](https://webav-tech.github.io/WebAV/demo/2_1-concat-video)
- [Video Editing](https://webav-tech.github.io/WebAV/demo/6_4-video-editor)
- [Live Recording](https://webav-tech.github.io/WebAV/demo/4_2-recorder-avcanvas)
- WebAV + Canvas + WebAudio [Decode and Play Video](https://webav-tech.github.io/WebAV/demo/1_1-decode-video)
## Packages Introduction
### [av-cliper](https://webav-tech.github.io/WebAV/_api/av-cliper/)
`av-cliper` is the foundational SDK for audio and video data processing. It provides basic classes and functions to help developers quickly achieve their target functionalities.
Here is a brief introduction to the core API of `av-cliper`:
- `IClip` is an abstraction for audio/video materials. It parses audio/video, image, and subtitle resources, and provides data for other modules.
- `Sprite<IClip>` attaches spatial and temporal attributes to materials, allowing you to control the spatial position and time offset of the video in the material. This enables multi-material collaboration, animation, and more.
- `Combinator` can add multiple Sprites and, based on their positions, layers, and time offsets, synthesize and output a video file.
<details>
<summary style="cursor: pointer;"> Code Demo: Add a Moving Semi-transparent Watermark to a Video </summary>
```js
import {
ImgClip,
MP4Clip,
OffscreenSprite,
renderTxt2ImgBitmap,
Combinator,
} from '@webav/av-cliper';
const spr1 = new OffscreenSprite(
new MP4Clip((await fetch('./video/bunny.mp4')).body),
);
const spr2 = new OffscreenSprite(
new ImgClip(
await renderTxt2ImgBitmap(
'Watermark',
`font-size:40px; color: white; text-shadow: 2px 2px 6px red;`,
),
),
);
spr2.time = { offset: 0, duration: 5e6 };
spr2.setAnimation(
{
'0%': { x: 0, y: 0 },
'25%': { x: 1200, y: 680 },
'50%': { x: 1200, y: 0 },
'75%': { x: 0, y: 680 },
'100%': { x: 0, y: 0 },
},
{ duration: 4e6, iterCountExcerpt of 7,748 characters
Read on GitHub1.6k
89
20
16
10
10
9
8
7
7
6
3
3
2
2
2
1
1
1
Felix Yan · Arch Linux @archlinux · China
1
Would you bet a product on this? Bounded 0–100 and slow moving.
matched fp:c7241e97f7d9711b, topic:video-editing, desc:video editing, readme:video editing