// 开始录制视频
start() {
//设置画布背景
let canvasElement = document.createElement("canvas"); // 生成canvas;
this.canvasContext = canvasElement.getContext("2d")
this.canvasContext.fillStyle = "deepskyblue";
this.canvasContext.fillRect(0, 0, 500, 522);
//创建MediaRecorder,设置媒体参数
this.stream = canvasElement.captureStream(60);
this.recorder = new MediaRecorder(this.stream, {
mimeType: "video/webm;codecs=vp8"
});
//收集录制数据
this.recorder.ondataavailable = e => {
this.chunks.push(e.data);
};
this.recorder.start(10);
this.drawFrame();
},
drawFrame() { // this.videoOk = $(`#video_${remoteStream.id_}`).get(0); // 获取video 视频id
this.canvasContext.drawImage(this.videoOk, 0, 0, 300, 180);
this.frameId = window.requestAnimationFrame(this.drawFrame);
},
// 停止视频录制
stop() {
this.recorder.stop();
cancelAnimationFrame(this.frameId);
this.download();
},
// 下载 或 上传
download() {
let blob = new Blob(this.chunks);
let url = window.URL.createObjectURL(blob);
// debugger
// let link = document.createElement("a");
// link.href = url;
let formData = new FormData();
let media = new File([blob], "mark.mp4");
formData.append("file", media); // 变formData 进行上传
upload(formData).then(response => {
this.formData.evidenceVideo = response.fileName
})
},
video js的录制
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 1.背景 对于正在播放的视频,期望做到 录制这个视频流,并上传到后端服务。 2.实现思路: 1.通过 video ...
- 高清音视频录制存储目前需求日益增加,如医疗影像、导播视频、视频会议、电视节目、电脑手机视频、蓝光摄像机等都有对视频...
- 背景描述: 实现一款视频播放器,同时支持直播和录播功能 功能清单: 支持解析m3u8或flv两种直播流,支持录播且...