1 Star 0 Fork 1

林鹏/LveRecordJs

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

LveRecordJs v1.1.0

介绍

浏览器屏幕录制(textToVideoRecord 文本格式录屏),内置画板类LvePaint,播放类LvePlay

效果预览

image

优势

和传统视频流录制不一样的是,我采用文本格式记录操作,所以体积大大减小,目前录制30s绘制操作,为普通视频体积的1/5大小,将极大减少内存占用 部分文本格式内容如下

[[{"f":"pen","s":"start","x":182,"y":92,"t":1.75,"ct":1.75},
{"f":"pen","s":"ing","x":183,"y":92,"t":0.075,"ct":1.825}]]

使用说明

  1. 参数说明
LvePaint.canvasHistory
f为'pen', 代表当前为画笔轨迹, s为当前画笔开始/中途/结束
f为'image', 代表当前为背景图片插入, s为图片的地址(本地图片为base64,远程图片为绝对url),
x,y 为画笔轨迹点
t为与上一个操作的时间间隔
ct为当前时间
o为其他自定义数据
  1. 初始化画板
const canvasId = document.querySelector('#canvas-record')
const timeId = document.querySelector('#time')
const lvePaint = new LvePaint({
  canvasId, // canvasdom
  timeId, // 时间展示dom
  canvasConfig: {
    width: 800,
    height: 400
  }
})
  1. 初始化播放器
const videoId = document.querySelector('#video-record')
const lvePlay = new LvePlay({
  videoId, // 视频dom
  videoConfig: {
    width: 800,
    height: 400
  }
})
  1. 画板类方法
const lvePaint = new LvePaint({
  canvasId,
  timeId,
  canvasConfig: {
    width: 800,
    height: 400
  }
})
lvePaint.setTimeStep(25) // 设置录制时间间隔
lvePaint.getTimeStep() // 获取录制时间间隔(单位毫秒)
lvePaint.getData() // 获取录制数据
lvePaint.startRecord() // 开始录制
lvePaint.pauseRecord() // 暂停录制
lvePaint.resumeRecord() // 继续录制
lvePaint.stopRecord() // 结束录制
lvePaint.insertImage(type = 'contain | cover') // 插入本地背景图片
  1. 播放器类方法
const lvePlay = new LvePlay({
  videoId,
  videoConfig: {
    width: 800,
    height: 400
  }
})
lvePlay.setData(data) // 设置录制数据, 此值为画板类的getData()
lvePlay.startPlay() // 开始播放视频
lvePlay.exportVideo() // 导出视频文件 webm格式

参与贡献

林大大哟

版本记录

  1. v1.0.0 基础完整功能:画板类,播放类

  2. v1.1.0 画板类新增插入图片尺寸控制

空文件

简介

浏览器屏幕录制(textToVideoRecord 文本格式录屏),内置画板类LvePaint,播放类LvePlay 展开 收起
JavaScript 等 2 种语言
取消

发行版

暂无发行版

贡献者

全部

近期动态

不能加载更多了
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
JavaScript
1
https://gitee.com/lin_peng118/lve-record-js.git
git@gitee.com:lin_peng118/lve-record-js.git
lin_peng118
lve-record-js
LveRecordJs
master

搜索帮助