Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >WebRTC实现一个网页在线录制视频

WebRTC实现一个网页在线录制视频

作者头像
wade
发布于 2022-12-02 12:25:21
发布于 2022-12-02 12:25:21
2K0
举报
文章被收录于专栏:coding个人笔记coding个人笔记

电脑录制视频几乎不会用到,当有需要的时候就各种找软件找工具,并且都会找免费的。现在市场上肯定有很多符合需求,只是那么偶尔的情况下,而且使用场景不是那么多要求的情况下,一个网页在线直接录屏是不是非常nice。

很早之前做过视频直播类的产品,当时有考虑过WebRTC,只是那时候还不够成熟,视频推流拉流还是嵌入式开发,使用的是RTMP和HLS协议。随着实时性、互动性要求的增高,浏览器推出了WebRTC:

WebRTC(Web Real-Time Communication),即“网页即时通信”,WebRTC 是一个支持浏览器进行实时语音、视频对话的开源协议,目前主流浏览器都支持WebRTC,即便在网络信号一般的情况下也具备较好的稳定性,WebRTC 可以实现点对点通信,通信双方延时低,使用户无需下载安装任何插件就可以进行实时通信。

WebRTC发布之前,开发实时音视频交互应用的成本很高,需要考虑的技术问题很多,如音视频的编解码问题,数据传输问题,延时、丢包、抖动、回音的处理和消除等,如果要兼容浏览器端的实时音视频通信,还需要额外安装插件, WebRTC 大大降低了音视频开发的门槛,开发者只需要调用 WebRTC API 即可快速构建出音视频应用。

2017 年 11 月 ,W3C WebRTC 1.0 草案正式定稿。2021年 1 月,WebRTC 被 W3C 和 IETF 发布为正式标准(WebRTC 1.0: Real-Time Communication Between Browsers)。WebRTC的几个优点:

  • 实时:允许网络应用或者站点,不借助媒介,建立浏览器之间点对点(Peer-to-Peer)的连接,实现视频流和(或)音频流或者其他任意数据的传输。
  • 无依赖:无需安装任何插件或者第三方的软件。
  • 协议:包含了媒体、加密、传输层等在内的多个协议标准以及一套基于 JavaScript的 API,它包括了音视频的采集、编解码、网络传输、显示等功能。
  • 兼容:主流浏览器都支持 WebRTC 标准 API。

WebRTC的推出,我认为会是未来实时通信的主流。今天主要是实现一个网页在线录制视频,WebRTC就不再深入介绍,有这个项目需求的还需要更深入研究,录制视频就很浅了。

其实就用到了两个个API:

  • navigator.mediaDevices.getDisplayMedia:提示用户去选择和授权捕获展示的内容或部分内容(如一个窗口)在一个MediaStream 里。然后,这个媒体流可以通过使用 MediaStream Recording API 被记录或者作为WebRTC 会话的一部分被传输。
  • MediaRecorder:MediaStream Recording API 由一个主接口MediaRecorder组成,这个接口负责的所有工作是从MediaStream获取数据并将其传递给你进行处理。数据通过一系列 dataavailable 事件传递,这些数据已经成为你创建 MediaRecorder 时所声明的格式。然后,您可以进一步处理数据,或者根据需要将其写入文件。

实现的功能:

可以选择录制整个屏幕、某个窗口、浏览器某个页签,非常的友好,录制结束之后用a标签下载录制的视频,可以看看demo(WebRTC只能是https): https://www.discountspig.com/game/record.html

代码可以到我的GitHub上查看: https://github.com/wade3po/demoCode/blob/main/record.html

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-11-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 coding个人笔记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
WebRTC技术概览
WebRTC(Web Real-Time Communication)是基于标准化技术的行业性项目,
呱牛笔记
2023/05/02
1.4K0
WebRTC技术概览
实时音视频入门学习:开源工程WebRTC的技术原理和使用浅析
本文由ELab技术团队分享,原题“浅谈WebRTC技术原理与应用”,有修订和改动。
JackJiang
2022/01/10
1.8K0
实时音视频入门学习:开源工程WebRTC的技术原理和使用浅析
从webrtc原理讲起,聊聊自助排障那些事
WebRTC作为实现前端互动和实时音视频的开源项目,已经被广泛应用与行业内的各个领域。本文以WebRTC实现实时通信的完整过程为线索,结合实际问题案例讲解下常见问的的排查思路,望读完本文可以了解WebRTC实现音视频通信的过程和一般腾讯云TRTC web端问题的排障思路。
singleli
2020/11/01
2K0
从webrtc原理讲起,聊聊自助排障那些事
音视频绕不开的话题之WebRTC
闲来无事,我们今天探讨下音视频绕不开的一个话题:WebRTC。WebRTC之于音视频行业,无异于FFMpeg,可以说WebRTC的开源,让音视频行业大跨步进入发展快车道。
音视频牛哥
2023/07/13
4690
音视频绕不开的话题之WebRTC
Web前端WebRTC攻略(二) 音视频设备及数据采集
2021年1月26日,W3C 和 IETF 同时宣布 WebRTC(Web Real-Time Communications,Web 实时通信)现发布为正式标准,标志着 WebRTC正式走进舞台。尽管如此,WebRTC 早已在视频会议和直播中得到了广泛的应用,成为了线上通信及协作服务的基石。IMWeb 团队是国内最早研究 WebRTC 的团队之一,在腾讯课堂、企鹅辅导等应用中都有实践。这是 WebRTC 系列的第二篇,希望可以帮助你更好的了解音视频。 一、音视频采集基本概念 在讲浏览器提供的用 JS 采集音
用户1097444
2022/06/29
3.6K0
Web前端WebRTC攻略(二) 音视频设备及数据采集
快速入门 WebRTC:屏幕和摄像头的录制、回放、下载
不知你是否用过 web 版的视频面试,或者 web 版在线会议,它们都支持分享屏幕、也能开启摄像头。这些都是浏览器上实现的,作为前端开发,是否好奇过这些功能的实现原理呢?
神说要有光zxg
2021/12/26
3.1K0
WebRTC简介及使用
WebRTC 只是一个媒体引擎,上面有一个 JavaScript API,所以每个人都知道如何使用它(尽管浏览器实现仍然各不相同),本文对 WebRTC(网页实时通信)的相关内容进行简要介绍。
Gnep@97
2023/11/12
2.2K0
WebRTC简介及使用
使用h5新标准MediaRecorder API在web页面进行音视频录制
Media Recorder,顾名思义是控制媒体录制的api,在原生app开发中,是一个应用广泛的api,用于在app内录制音频和视频。
WendyGrandOrder
2018/11/26
22.7K11
使用h5新标准MediaRecorder API在web页面进行音视频录制
WebRTC 点对点直播
作者:villainthr WebRTC 全称为:Web Real-Time Communication。它是为了解决 Web 端无法捕获音视频的能力,并且提供了 peer-to-peer(就是浏览器
腾讯IVWEB团队
2017/03/13
10.3K0
Web前端WebRTC攻略(一) 基础介绍
随着互联网高速发展,以及即将到来的5G时代,WebRTC作为前端互动直播和实时音视频的利器,也是将前端开发者们不可错过的学习领域。如果你现在只是听过而已,那你可能要好好学习一番。 01  什么是WebRTC? WebRTC 全称是(Web browsers with Real-Time Communications (RTC) 大概2011年,谷歌收购了 GIPS,它是一个为 RTC 开发出许多组件的公司,例如编解码和回声消除技术。Google 开源了 GIPS 开发的技术,并希望将其打造为行业标准。 收
用户1097444
2022/06/29
2.6K0
Web前端WebRTC攻略(一) 基础介绍
【OpenIM原创】简单轻松入门 一文讲解WebRTC实现1对1音视频通信原理
WebRTC(Web Real-Time Communication)是 Google于2010以6829万美元从 Global IP Solutions 公司购买,并于2011年将其开源,旨在建立一个互联网浏览器间的实时通信的平台,让 WebRTC技术成为 H5标准之一。我们看官网(https://webrtc.org)的介绍
OpenIM
2021/08/12
1.7K0
WebRTC再升级,网易云信实现多场景实时音视频应用
近年来,直播竞答、网络游戏直播等新的实时音视频通讯场景不断推陈出新,并成为引领互联网娱乐风向的弄潮儿。数据显示,2017年中国在线直播用户规模达到38亿,预计2019年用户规模将突破5亿。
BestSDK
2018/07/30
1.6K0
WebRTC再升级,网易云信实现多场景实时音视频应用
实时音视频WebRTC介绍
简而言之,WebRTC就是W3C定的一个Web标准,用来做二进制数据传输用的,各浏览器只要支持WebRTC,就可以不通过插件,直接在Web端实现诸如音频、视频、文件等二进制数据的传输。方便之处在于:不需要再使用Flash、Silverlight之类的插件了。but!理想很丰满,现实往往很残酷,WebRTC从诞生之初到现在仍然还有很多地方布满了坑。
腾讯云-chaoli
2019/04/25
8.9K0
实时音视频WebRTC介绍
WebRTC 成为 W3C 和 IETF 正式标准
WebRTC 由用于 Web 实时通信的 JavaScript API 和一组通信协议构成,支持网络上的任何已连接设备成为 Web 上潜在的通信端点。WebRTC 已成为线上通信及协作服务的基石。
Tinywan
2021/02/25
1.2K0
WebRTC 成为 W3C 和 IETF 正式标准
即时通讯技术文集(第24期):音视频WebRTC好文合集 [共20篇]
[链接] http://www.52im.net/article-126-1.html
JackJiang
2023/11/24
2290
即时通讯技术文集(第24期):音视频WebRTC好文合集 [共20篇]
WebRTC直播技术(一)-初探WebRTC
本文介绍了WebRTC直播技术,包括相关概念、API、信令流程以及SDP握手等内容。通过这些介绍,读者可以了解WebRTC直播的原理和实现方式。
IMWeb前端团队
2017/12/29
4K0
WebRTC直播技术(一)-初探WebRTC
WebRTC直播技术(一)-初探WebRTC
信令是WebRTC用来协助建立p2p通讯的。主要用于协商双方通讯过程,传递基本信息SDP(会话描述协议)。 例如:打开/关闭连接的指令;视频信息,比如解码器,解码器的设置,带宽,以及视频的格式等;网关信息,比如双方的 IP,port... 一个简单的SDP格式:
IMWeb前端团队
2019/12/03
2.5K0
WebRTC直播技术(一)-初探WebRTC
了不起的WebRTC:生态日趋完善,或将实时音视频技术白菜化
有人说 2017 年是 WebRTC 的转折之年,2018 年将是 WebRTC 的爆发之年,这并非没有根据。就在去年(2017年),WebRTC 1.0 标准草案出炉(实际上WebRTC标准草案的早期版本早在2011年就已经发布,WebRTC并非一夜之间就出现的技术),并将于今年正式发布。与此同时,越来越多的浏览器和厂商都开始对它进行广泛的支持,WebRTC 即将成为互联网的基础设施了,或许门槛如此之高的实时音视频技术终有白菜化的那一天。
JackJiang
2018/08/29
2.9K0
网站在线客服系统实时语音视频聊天实战开发,利用peerjs vue.js实现webRTC网页音视频客服系统
webRTC机制和peerjs库的介绍在其他博客中已经有了很多介绍,这里我直接搬运过来
唯一Chat
2023/02/17
1.8K0
网站在线客服系统实时语音视频聊天实战开发,利用peerjs vue.js实现webRTC网页音视频客服系统
WebRTC技术详解
随着4G的普及和5G技术的应用,实时音视频技术正在蓬勃发展。实时通信技术已经渗透到各行各业,支撑着人们的日常生活。在互联网领域,花椒、映客等直播平台吸引了大量的用户;在教育领域,通过实时直播技术搭建的“空中课堂”惠及全球数亿学生;在医疗行业,随着电子处方单纳入医保,互联网看病、复诊正在兴起,地域之间医疗资源不均衡的问题被实时直播技术逐步消除。
童欧巴
2021/05/17
3.8K1
WebRTC技术详解
推荐阅读
相关推荐
WebRTC技术概览
更多 >
领券
💥开发者 MCP广场重磅上线!
精选全网热门MCP server,让你的AI更好用 🚀
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档