js 使用MediaRecorder 录制video,生成视频

JavaScript实现一个录屏功能 阅读目录1、创建一个HTML2、使用mediaRecorder录制并存入变量中3、停止屏幕共享播放录制视频4、自动下载录制的视频5、完整代码 1、创建一个HTML OBS studio很酷,但 JavaScript 更酷,现在,我们用 JavaScript 创建自己的录屏功能。 首先,创建一个HTML文件,包含记录按钮和一个播放标签,内容如下: <!DOCTYPE html> <html> <head> <title>Parcel Sandbox& 阅读详情

js 使用MediaRecorder 录制video,生成视频


最近在项目中有需求是录制视频,并保存起来,最后选用了MediaRecorder API。
具体方法如下

//开始录屏
startLp(){
        console.log('开始录屏')
        // 获取video节点
        const video =  document.getElementById("videoFlv");

        // 存储视频流
        const videoData = [];
        // 浏览器兼容Chrome和firefox
        video.captureStream = video.captureStream || video.mozCaptureStream;
        // 生成MediaRecorder对象
        this.mediaRecorder = new MediaRecorder(video.captureStream());
        this.mediaRecorder.start();
        // 当 MediaRecorder 将媒体数据传递到您的应用程序以供使用时,将触发该事件
        this.mediaRecorder.ondataavailable = (e) => {
          console.log(e)
          // 添加视频流
          videoData.push(e.data);
        };

        // 录制结束回调
        this.mediaRecorder.onstop = (e) => {
          const blob = new Blob(videoData, { type: 'video/mp4;codecs=vp8,opus' });

          const videoUrl = window.URL.createObjectURL(blob);
           open(videoUrl)
        }

      },
      //停止录屏
      stopLp(){
        console.log('停止录屏')
        this.mediaRecorder.stop();
      }

参考:
https://blog.youkuaiyun.com/qq_36958916/article/details/108529705

https://www.jianshu.com/p/d0d6c61dfafd

https://www.jianshu.com/p/ad7dfd50880e?utm_campaign=maleskine…&utm_content=note&utm_medium=seo_notes

https://jimmy.blog.youkuaiyun.com/article/details/118282882

https://blog.youkuaiyun.com/lan123456_/article/details/128324851

JS基于页面实现音视频的录制(一) 音频与视频信息的捕捉一直是Web开发中的一个难点。许多年来,我们一直依赖浏览器插件来实现这个需求,随着HTML 5推出,这种情况有所改变。因为,HTML5提供了许多可以访问硬件设备的API,例如:访问GPS设备的Geolocation API、访问accelerometer设备的Orientation API、访问GPU设备的WebGL API、访问音频播放设备的Web Audio API等等。这些API功能非常强大,使用这些API,开发者可以直接通过编写JavaSccript脚本代码来访问 阅读详情

相关推荐

MediaRecorder API 教程

MediaRecorder 是 HTML5 提供的 JavaScript API,用于直接在浏览器中录制音频和视频流。它基于接口,能够将捕获的媒体数据(如摄像头、麦克风或屏幕共享)编码为指定格式并保存。

wscfan的博客 2891

js的MediaRecorder录音录视频方法笔记

视频录制基础知识-MediaRecorder。* 通过 web 录制视频(摄像头)并上传。

大赚万万亿 2497

MediaRecorder录制音频文件

MediaRecorder录制音频文件使用手机麦克风硬件和Android系统MediaRecorder类实现。步骤: 在activity_main文件上添加两个按钮,分别为开始按钮和停止按钮。 //获取按钮 record = (Button)findViewById(R.id.record); stop =(Button)findViewById(R.id.stop); record.set

mingxi_kay的博客 2224

使用 JavaScript MediaRecorder API 创建视频和音频记录器

Create a Video and Audio Recorder with JavaScript MediaRecorder API - GeeksforGeeksA Computer Science portal for geeks. It contains well written, well thought and well explained computer science and programming articles, quizzes and practice/competitive pr

allway2的博客 4202

Web上的MediaRecorder更换stream(录制过程中切换摄像头)

初试拉胯了,数学的分数不是很美丽,导致最近一直在被毕业设计和准备复试追着锤,头都快被锤烂了。今天在查CCF题目的时候看到有个老哥问我,MediaRecorder在录制过程中,能否改变在构造函数中引入的流。 这个我还真没有试过,之前写的H5直播虽然我一直声称在手机端可以选择前置或后置摄像头,但实际上一旦选择了就没法更改了......其实我确实有考虑过解决这个问题,但当时实在是太累(lan)了...

Vikanill的博客 2264

JavaScript基于MediaRecorder录制mp4视频或webm视频并下载,JavaScript实现对video标签进行录制mp4视频或webm视频和下载

本章实现网页video标签录制mp4视频或webm视频并下载。视频录制这种计算密集型任务比较重,比较适合放在后台进行实现,本章适合前端任务不太重的短时间视频录制,长时间录制建议还是走后台录制并提供下载地址给网页前端即可。所以本章只适用于短时间的视频录制并下载,录制时间太长的视频会导致浏览器卡死、变慢等问题。前面已经实现了视频截图》的功能,需要对视频进行截图功能的可以参考。几个问题解答:需要注意的是video/mp4和video/mp4;

eguid音视频方向博客,分享经过实践检验的硬核音视频技术。FFmpeg、openCV和JavaCV音视频和图像处理系列教程发布十周年,众多开发者的严格验证。欢迎关注,一起交流探索学习最新音视频和图像处理技术 3197

利用three.js渲染外部3D动画模型gltf文件,将渲染出的动画录制为视频

通过创建渲染器,会自动生成一个canvas元素,我们拿到该canvas就可以录制。[如何将 Canvas 绘制过程转为视频 - 掘金 (juejin.cn)]

qq_44830060的博客 1490

Javascript实现屏幕录制(附完整源码)

Javascript实现屏幕录制(附完整源码)

希望我的博客,能帮上你解决学习中工作中所遇到的问题 957

【Javascript】【视频录制】通过video标签和canvas实现视频截图录制和下载

录像原理 创建一个画布,video标签本身不具备记录画面功能,所以我们需要通过Canvas来达成这个功能 创建一个录制器,与CanvasStream绑定,这样画布绘制什么,录制器都能触发回调 创建一个定时器,不停通过CanvasContext来捕捉video标签画面,然后绘制到Canvas上面 创建一个字节数组,只要Canvas捕捉到新画面,就会触发MediaRecorder数据回调,将...

天天向上 Up Up Up (*^▽^*) 8603

使用 MediaRecorder API 进行音视频录制

MediaRecorder API 是一个用于在Web浏览器中进行音视频录制的JavaScript API。它提供了一种简单而强大的方式来捕获用户设备上的音频和视频,并将其保存为文件。本文将介绍如何使用 MediaRecorder API,以及一些示例代码来帮助您开始录制音视频。

TiCrystal的博客 528

【Java微服务-医疗管理项目】(附源码+资料+教程)

尚医疗是专门为各大医院、门诊提供的一款医疗管理平台。 系统包含:系统管理、药品进销存管理、看病就诊、收费管理、检查管理、数据统计等核心模块。 通过尚医疗系统可以快速、方便的管理病人从挂号到门诊结束所涉及到的全套流程。也可以清晰明了的体现出药品进货、出售的所有记录。.........

m0_72882572的博客 2203

MediaRecorder录制流数据

在我们介绍了如何使用 WebRTC API 录制本地桌面数据并通过 HTML video 播放出来,现在我们想把采集到的本地桌面数据录制保存成文件并下载到本地,或者录制音视频设备采集到的数据,即可使用 MediaRecorder 类。stream:表示媒体流参数,可以是从 getUserMedia 或者 getDisplayMedia 获取到的流参数对象。options:表示限制选项,可以包含如下属性。

椛茶的博客 5639

《斯图尔特微积分》实战指南:从理论到解题技巧的跨越

本文深入解析《斯图尔特微积分》教材的独特价值与实用学习策略,重点介绍其理论深度与实际应用的完美平衡。通过概念理解、符号语言转换、解题思维框架等五个关键跨越,帮助读者高效掌握微积分核心技巧。文章还提供分层练习、可视化工具等教学实践方法,是提升微积分学习效率的实战指南。

weixin_28432777的博客 396

关于解决js中MediaRecorder录制的webm视频没有进度条的问题

最近写项目的时候有一个关于视频录制需求,js视频录制通常使用MediaRecorder来实现,使用起来也非常的简单,。但是录制视频之后出现了一个问题是录制的视频是不能操作进度条的。去网上搜索发现是因为MediaRecorder录制的视频文件缺少视频总时长等信息导致的,有很多种解决方案,我试了其中的三种,效果最好的是ebmljs。

xiaohua0708day的博客 1111

路由工具之策略路由policy-based-routing、MQC三板斧流分类、流行为、流策略

PBR(Policy-Based Routing,策略路由)策略路由可理解为控制路由,因为PBR策略的优先级高于传统路由表的转发,所以它主要用于影响数据包转发的技术。

Hades_Ling的优快云博客 5582

PostgreSQL 在 Windows操作系统 无管理员权限情况下的部署详解

但是因为使用默认5432端口,我们修改了端口,所以连接报错,需要修改local连接信息,右键-属性修改相应信息即可,方式同上。(也别太任意吧,个人习惯工具放在不包含中文及特殊字符的目录,另外目录名尽量简短,避免不必要的麻烦)图中我解压到了自己的tools\postgresql18。1)如果想修改默认的5432端口,找到初始化目录中的(上面的tools\postgresql18\。此处替换成你的实际目录\tools\postgresql18\pgsql\pgAdmin 4\runtime。

dong_zhi2328的博客 1117

使用JS调用本地摄像头录制视频

最近项目中使用到了录制视频功能,为了防止以后再次使用时不记得怎么使用,简单记录一下。 function start() { TotalTimelenth=0; videoConstraints.deviceId = { exact: deviceId }; //根据设备ID选择使用的设备 const constraints = { video: videoConstraints, audio:...

q3252342的博客 3361

【科技前沿】用深度强化学习优化电网,让电力调度更聪明!

Hey小伙伴们,今天我要跟大家分享一个超级酷炫的技术应用——深度强化学习在电网优化中的典型案例!如果你对机器学习感兴趣,或是正寻找如何用AI技术解决实际问题的方法,这篇分享绝对不容错过!👩‍💻✨

Jacklx888的博客 3246

MediaRecorder实战:用JavaScript打造视频会议本地录制功能(Chrome/Firefox兼容版)

本文详细介绍了如何利用JavaScript的MediaRecorder API在浏览器端实现视频会议的本地录制功能。内容涵盖从获取摄像头/麦克风权限、处理不同浏览器的编码兼容性,到实现屏幕共享、多流混合录制以及性能优化与错误恢复的完整实战方案,为在线教育、远程办公等场景提供稳定可靠的录制解决方案。

sony5的博客 849

STM32CubeMX实战:TIM定时器中断配置避坑指南(附100ms精准定时代码)

本文深入解析STM32CubeMX配置TIM定时器中断的常见误区与避坑技巧,重点阐述时钟源、预分频器与自动重装载值的精准计算方法。通过实战案例,提供一份可直接复用的100ms精准定时中断代码模板,并分享调试验证方法,帮助开发者构建稳定可靠的嵌入式系统心跳。

grafana8visual的博客 500

群晖NAS实战:Python项目部署全流程解析

本文详细解析了在群晖NAS上部署Python项目的完整流程。从开启SSH、选择连接工具,到通过套件中心一键安装Python3、配置pip及国内镜像源,再到上传项目、安装依赖、后台运行及排错,提供了清晰的避坑指南。旨在帮助用户将群晖NAS从存储设备转变为可执行自定义任务的智能服务器,实现自动化脚本、数据监控等应用。

weixin_29057163的博客 593

MediaRecorder API实战:从零构建浏览器端音视频录制工具

本文详细介绍了如何使用MediaRecorder API从零构建浏览器端音视频录制工具。内容涵盖获取用户媒体权限、核心录制流程(启动、暂停、保存)、兼容性处理、性能优化及实战项目开发,帮助开发者快速掌握这一强大的HTML5原生技术,轻松实现网页音视频录制功能。

a0b1c2d3的专栏 748

VMware16虚拟机:下载和安装教程

VMware16 虚拟机 下载和安装教程

MQ0522的博客 20万+

用WebRTC-tutorial录制音视频:MediaRecorder API完全指南

WebRTC-tutorial是一个全面的WebRTC(Web实时通信)中文教程项目,通过它你可以轻松学习如何使用MediaRecorder API进行音视频录制。本指南将带你了解MediaRecorder API的核心功能、实现步骤以及在WebRTC-tutorial中的实际应用,帮助你快速掌握浏览器端音视频录制技术。 ## WebRTC与音视频录制基础 WebRTC(Web Real-Ti

gitblog_00901的博客 838

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

JS使用MediaRecorder录制视频demo

<!doctype html> <html lang="zh-CN"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"> <meta http-equiv

qq_42031498的博客 3116

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

JS实现视频录制-以Cesium为例

要求能够将Cesium三维地球的运动过程录制成视频。

wml00000的博客 2098

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

上一篇: 【vue项目打包 HBuilder 5+app,覆盖安装时数据渲染不完整】
下一篇: blob 转base64;base64转blob
言只  石皮
博客等级 码龄7年 21粉丝 38原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

言只 石皮

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值