A web-based Video Editing SDK built on WebCodecs. 基于 WebCodecs 构建的网页视频编辑 SDK。
A web-based Video Editing SDK built on WebCodecs. 基于 WebCodecs 构建的网页视频编辑 SDK。
English | 中文
WebAV is an SDK for creating/editing video files on the web platform, built on WebCodecs.
Visit 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.
Compatible with Chrome 102+
The WebAV project offers a variety of quick DEMO experiences. Visit the DEMO Homepage to check the compatibility of your current device, or click here to experience Pro advanced features online.
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:
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.…
av-canvas relies on the basic capabilities of av-cliper and provides a canvas that responds to user operations on Sprites (dragging, scaling, rotating), enabling quick implementation of products like video editing and live streaming workstations.
…
av-recorder records MediaStream and outputs the video file stream in MP4 format.
import { AVRecorder } from '@webav/av-recorder';
const mediaStream = await navigator.mediaDevices.getUserMedia({
video: true,
audio: true,
});
const recorder = new AVRecorder(mediaStream);
recorder.start(); // => ReadableStream
pnpm install && pnpm build in the root directorypnpm devconcat-media.htmlhttp://localhost:6066/concat-media.htmlpnpm testpnpm install && pnpm build in the root directorydoc-site and run pnpm devIf you are a beginner in the field of web audio and video, you can start by learning the basics:
Articles by the Author
Web Audio and Video Knowledge Graph
If this project has been helpful to you, please sponsor the author to a milk tea :)
We would like to thank our GitHub sponsors who support the development of WebAV:
Your support helps us continue to improve and maintain this project!
No open issues yet, or sync has not completed.