vue3 vite 前端录制浏览器界面视频并保存下载

1、首先需要安装

复制代码
npm install recordrtc

2、在App.vue中作如下修改

js 复制代码
<template>
  <div>
    <button @click="startRecording">开始录屏</button>
    <button @click="stopRecording" v-if="isRecording">停止录屏</button>
    <button v-if="videoBlob" @click="downloadVideo">下载视频</button>
  </div>
</template>
<script setup>
import { ref } from 'vue';
import RecordRTC from 'recordrtc';

const isRecording = ref(false);
const recorder = ref(null);
const videoBlob = ref(null);

const startRecording = async () => {
  try {
    const stream = await navigator.mediaDevices.getDisplayMedia({ video: true });
    recorder.value = new RecordRTC(stream, { type: 'video' });
    recorder.value.startRecording();
    isRecording.value = true;
  } catch (error) {
    console.error('无法获取屏幕媒体流', error);
  }
};
const downloadVideo = () => {
  if (videoBlob.value) {
    const url = URL.createObjectURL(videoBlob.value);
    const link = document.createElement('a');
    link.href = url;
    link.setAttribute('download', 'screen-recording.webm'); // 可以更改文件类型和名称
    document.body.appendChild(link);
    link.click();
    document.body.removeChild(link);
  }
};
const stopRecording = () => {
  if (recorder.value) {
    recorder.value.stopRecording(() => {
      videoBlob.value = recorder.value.getBlob();
      console.log('视频录制完成', videoBlob.value);
      isRecording.value = false;
    });
  }
};
</script>

<style scoped>
</style>

结果展示

点击开始录制

在弹出的窗口中选择整个屏幕 并选中整个屏幕,点击分享

点击停止录屏

点击下载视频,即可在浏览器下载那看到录播的视频

相关推荐
康小汪1 小时前
AI 写 Vue 总写成同一个味道:给它装 Skills,装的不是知识是边界
前端·vue.js·人工智能·ai编程·最佳实践
智能运维指南2 小时前
研制过程“两张皮“怎么破:研制一体化支撑平台的定位、能力边界与落地前提
java·前端·人工智能·嘉为蓝鲸
镭封3 小时前
从视频文案提取到 AI 配音,短视频制作需要哪些工具?
人工智能·智能手机·音视频·语音识别·媒体
白山编程大哥3 小时前
Java 后端如何优雅地把 List 集合返回给前端
java·前端·list
Flynt4 小时前
我把热榜那篇"禁用 axios"逐条实测了一遍:结论大体对,坑在它没讲的地方
前端·javascript·axios
2601_955662464 小时前
搞笑视频配音怎么做?如何选择有辨识度的声音
大数据·人工智能·音视频·语音识别·媒体
Csvn5 小时前
bundle优化
前端
北冥有鱼5 小时前
发版后动态路由点击报 `Failed to fetch dynamically imported module`」问题上的完整排查与修复过程
前端·vue.js
静默回滚5 小时前
视频压到 25 MB 以内,码率要算、音轨要扣、余量要留
前端
用户37203749260185 小时前
把 10MB 中文语义模型塞进浏览器:STSB 做到教师模型的 93%,但线上 top1 只有 42%
前端