gavin.chen bc9c878273 移除无用输出 | 1 year ago | |
---|---|---|
.vscode | 1 year ago | |
nodeplayer | 1 year ago | |
video_capturer | 1 year ago | |
video_processor | 1 year ago | |
README.md | 1 year ago | |
index.html | 1 year ago |
这是一个基于WebGL的视频裁切处理器,支持多种裁切类型。您可以通过传入不同的配置数组来实现不同的视频裁切效果。
VideoProcessor
实例,并传入适当的配置数组。initializeById
方法,传入源canvas的ID和目标canvas ID数组。这会初始化源和目标canvas,并将源canvas内容处理后绘制到目标canvas。drawFrame
方法。这会将当前源canvas中的帧复制并按照给定配置处理,然后绘制到目标canvas。const configs = [
{ type: 'none', x: 0, y: 0, w: 1, h: 1 },
{ type: "scaleOnly", x: 2/3, y: 0.0, w: 1/3, h: 4/9 },
{ type: "threePart", x: 0.0, y: 22/27, w: 1, h: 4/27 },
];
const videoProcessor = new VideoProcessor(configs);
videoProcessor.initializeById("video1", ["camera1", "camera2", "camera3"]);
// 每当源视频播放新的一帧时执行以下操作
videoProcessor.drawFrame();
type
: 裁切类型,默认值为"none"。x
: 裁切区域的起始横坐标百分比(左上角),范围介于0到1之间,默认值为0。y
: 裁切区域的起始纵坐标百分比(左上角),范围介于0到1之间,默认值为0。w
: 裁切区域的宽度百分比,范围介于0到1之间,默认值为1。h
: 裁切区域的高度百分比,范围介于0到1之间,默认值为1。支持以下裁切类型:
none
: 无裁切,原样显示。scaleOnly
: 缩放裁切,仅裁切选定区域并缩放至目标canvas。threePart
: 三部分裁切,分别裁切出3部分源视频,并缩放至目标canvas。