掌握 webRTC – 制作视频聊天应用程序!
使用 MediaStreams、麦克风、摄像头和屏幕。连接浏览器 – PeerConnection 和 Signaling,使用 React
讲师:Robert Bunch
双语IT资源独家Udemy付费课程,独家中英文字幕,配套资料齐全!
用不到1/10的价格,即可享受同样的高品质课程,且可以完全拥有,随时随地都可以任意观看和分享。
您将学到什么
- 连接两台或多台计算机的音频/视频流
- 设置信令服务器作为中间人来协商连接
- 如何将 webRTC 集成到 React App 中
- 随着应用程序的增长,代码组织可以最大限度地减少混乱
- 管理 4 个(是的,4 个)不同的异步源来创建一个令人难以置信的 Web 应用程序
探索相关主题
要求
- 需要熟悉 getUserMedia() 或已经参加过第 1 部分
- 具有 JavaScript 和 Node 经验(不是忍者,但有相当的经验)
- 我们使用 socketio 来构建我们的信令服务器。你必须知道它,或者能够关注我
- 后面部分:访问 Linux 机器(如 AWS、Azure、DigitalOcean 等)
描述
TL;DR – 您将在本课程中学习 WebRTC – 如何仅使用 JavaScript 获取视频源并在浏览器之间设置视频聊天。第一部分和后面几个项目仅是前端,连接部分和后面的项目需要 Node.js 和 Socketio。
现在是 2024 年。无论是因为疫情、聊天机器人还是为了节省成本,远程工作都已成为现实。远程医疗已成为现实。与 6 个时区之外的人交谈也已成为现实。您可以将用户从您的应用程序中抽象到 Zoom,因为它始终有效,但您会失去对交互的所有控制和跟踪。
输入 webRTC。
WebRTC 是浏览器必备的惊人 API 之一。它允许访问麦克风、摄像头甚至屏幕,并通过网络套接字直接将它们共享给另一个浏览器。无需服务器(大多数情况下)或其他中间人来增加带宽、错误和混乱。
与 websockets 一起,webRTC 提供了浏览器实时通信的视频端,弥补了人机通信和网络通信之间的最后差距之一。如果您正在阅读本文,那么很有可能您听说过 webRTC。甚至可能学习过它的教程。但您学到了什么程度?根据我的经验,网络上的绝大多数材料只不过是快速入门的缩放克隆。您不会了解任何东西的工作原理,也不会查看文档,最后只能不知道现在该做什么。这就是 webRTC 所能做的一切吗?剩下的材料远远超出了每个人的理解范围。webRTC 与 websocket API 大约同时发布,但大多数开发人员仍然不知道如何使用它,这一事实就是差距的证据。
本课程是缓解这种情况的第一步!它不是 webRTC 的快速入门指南。互联网上有很多这样的指南。如果您想要一个 10 分钟的入门指南,介绍制作基本缩放克隆所需的 3-4 件事,那么您绝对应该去别处看看。另一方面,如果您真的想学习似乎没人知道的最棒的 JavaScript API 之一,那么您应该坚持下去。就像 Express 和其他 JavaScript/Node 一样,它在浪潮中被忽略了,学习的内容刚好足以达到“全栈开发人员”的水平。我的主要目标是帮助您弄清楚如何从一名优秀的开发人员变成一名伟大的开发人员。理解……而不仅仅是知道一些方法……WebRTC 就是其中的一部分!
2015 年,我第一次在一家类似远程医疗的初创公司使用 webRTC。从那时起,我就一直在关注它,但令我沮丧的是,由于苹果的勉强支持,它并没有得到更多主流关注,但主要是因为开发人员不知道它。它为现有应用程序的许多改进开辟了道路,也为新应用程序奠定了明显的基础。让我们改变这一点 🙂 准备详细了解 webRTC,并开始进行应用内实时视频/屏幕聊天。
我们涵盖的内容:
仅限前端部分
-
getUserMedia() – 获取浏览器中麦克风和摄像头的访问权限
-
在 中播放视频
-
MediaStream 和 MediaStreamTrack – 视频源的组成
-
约束 – getSupportedConstraints() 和 getCapabilities() – 查看此浏览器可以做什么
-
applyConstraints – 动态更改 feed
-
录制视频/音频并播放
-
捕获屏幕以进行屏幕共享并录制
-
更改 Feed 中的输入/输出设备
需要后端(node、socketio)
-
RTCPeerConnection——webRTC 的核心
-
创建要约和答复
-
设置 RTCSessionDescription
-
信号传递过程
-
使用 socketio 构建信令服务器
-
召集 ICE 候选人
-
使用 redux 构建使用 webRTC 的 React 应用程序
本课程适合哪些人:
- 任何熟悉 JavaScript 和节点但刚接触 webRTC 的人!
- 任何熟悉浏览器 webRTC api,但似乎无法让浏览器连接的人
- 任何想要免费在其网络应用程序中放置视频会议的人(无需第三方)!
如果你有能力,请务必支持课程的原创作者,这是他们应得的报酬!
本站收取的费用,仅用来维持网站正常运行的必要支出,从本站下载任何内容,说明你已经知晓并同意此条款。