如果你搜过 WebRTC 相关的教程,大概会有这种感受:概念文章很多,Demo 也不少,但真到要做一个能用的直播工具,还是不知道从哪下手。这门《webRTC 源生JS视频直播教程》要解决的,就是这个落差——它不讲泛泛的实时通信原理,而是直接围绕录屏和直播这两个具体场景展开,从浏览器端把功能做出来。

它面向的工作场景很具体

课程的核心目标写得很直白:开发录屏软件和直播软件。这意味着它处理的不是"如何理解 WebRTC 协议栈"这类理论问题,而是日常开发中会真实遇到的一串事情:怎么拿到本地屏幕或摄像头的媒体流、怎么把流推给另一端、怎么在浏览器里建立点对点连接、信令怎么传、连接断了怎么处理。这些环节每一环都有坑,课程的价值就在于把它们串成一条能跑通的链路。

适合的岗位方向也比较明确:做在线教育工具、远程协助、内部直播、录屏回放类产品的前端,或者需要在现有 Web 应用里加一块实时视频能力的开发者。如果你的工作里已经出现了"要在页面上放一个能看能推的视频窗口"这类需求,这门课对得上。

学完之后能独立做什么

按课程设定的目标,学完应当具备独立完成一套录屏加直播工具的能力。拆开来看,大致包括三件事:

  • 在浏览器端获取并处理媒体流,包括屏幕录制和摄像头采集,能控制开始、暂停、结束这些基本状态;
  • 用 WebRTC 建立两个端点之间的连接,处理 offer/answer 交换和 ICE 候选,让画面真正传过去而不是停在本地;
  • 把这套能力封装进一个可用的界面里,形成完整的录制或直播流程,而不是散落的测试代码。

这里说的"独立"是指能自己从零搭出功能闭环,出了问题知道去哪个环节排查,而不是照着代码敲一遍能跑就结束。这也是判断这类课程值不值得学的关键——能不能让你脱离教程自己动手。

技术选型的取向

课程用的是原生 JavaScript,不依赖 React、Vue 这类框架,也没有引入第三方封装库。这个选择有利有弊。好处是你能看清 WebRTC 的 API 到底怎么调用,不会被框架的抽象层挡住细节,排查问题时心里有底;坏处是如果平时习惯写框架,需要适应直接操作 DOM 和事件的方式。

对已经有 JavaScript 基础的人来说,这个取向是合适的。原生写法让代码和浏览器 API 之间的距离最短,学到的知识也更容易迁移到任何技术栈里去。反过来说,如果你 JS 本身还不熟,或者期待的是"拖拽式"快速出成果,这门课的门槛会让你不太舒服。

资料适合什么基础的人

课程的适合人群写的是"具有 JavaScript 基础知识",这个前提要当真。具体来说,你至少应该能读懂函数、回调、Promise 这一层的东西,知道事件监听是怎么回事,能自己处理简单的异步逻辑。WebRTC 里大量操作是异步的、事件驱动的,如果这块不牢,学习过程会卡在语言本身而不是技术主题上。

另外,这门课不是给完全没接触过前端的人准备的入门课。它对读者的定位更接近"已经会写页面,现在要加实时音视频能力"的开发者。如果你符合这个画像,可以直接从课程的核心部分入手;如果还在补 JS 基础,建议先把语言关过了再来看。

怎么判断要不要学

判断标准其实只有一条:你手上有没有一个需要实时音视频的真实需求。如果有,比如正在做的项目要加直播或录屏,这门课能省下你自己翻文档、踩兼容性坑的时间,值得投入。如果只是"听说 WebRTC 很火想了解一下",那看完概念文章就够了,不必急着上完整课程——技术只有在具体场景里用起来,学到的才是自己的。

课程目录

课程目录65 集
  • 01 本地视频流getUserMedia的使用 01 开篇.mp4
  • 02 getUserMedia获取本地摄像头对象的理解.mp4
  • 03 写代码实现获取本地摄像头和音频流.mp4
  • 04 工作中是的开始摄像头的使用.mp4
  • 05 获取本地视频流和音频流的另一种写法.mp4
  • 06 使用拍照功能给媒体流拍照.mp4
  • 07 给媒体流加滤镜并进行拍照.mp4
  • 08 WebRTC分变率属性.mp4
  • 09 设置摄像机的分辨率.mp4
  • 10 设置摄像机的分辨率-2.mp4
  • 11 设置摄像机的分辨率-3.mp4
  • 12 设置摄像机的分辨率-4.mp4
  • 13 本地音频流的使用.mp4
  • 14 通过录制功能录制视频段落-原理解释.mp4
  • 15 通过录制功能录制视频段落-开启相机.mp4
  • 16 通过录制功能录制视频段落-音频比特率.mp4
  • 17 通过录制功能录制视频段落-录制.mp4
  • 18 通过录制功能录制视频段落-插放.mp4
  • 19 通过录制功能录制视频段落-下载.mp4
  • 20 共享视频画面.mp4
  • 02 媒体设备的获取和使用 01 获取媒体设备enumerateDevices接口说明.mp4
  • 02 媒体设备的获取MediaDeviceInfo说明.mp4
  • 03 webRTC安全证书使用.mp4
  • 04 通过Tomcat调试获取媒体设备.mp4
  • 05 媒体设备的使用案例-设备媒体下拉列表.mp4
  • 06 媒体设备的使用案例-摄像头.mp4
  • 07 媒体设备的使用案例-切换设备.mp4
  • 08 媒体设备的使用案例-HTMLMediaElement.set.mp4
  • 09 JS里的一些知识点.mp4
  • 10 使用知识点设置媒体设备案例-获取下拉列表.mp4
  • 11 使用知识点设置媒体案例-获取用户媒体.mp4
  • 12 使用知识点设置媒体案例-本地媒体文件.mp4
  • 13 使用知识点设置媒体案例-添加音频切换事件.mp4
  • 03 本地媒体流和对等流的捕获 01 视频之间流的传递captureStream认识.mp4
  • 02 视频之间流的传递代码实例.mp4
  • 03 对等流连接介绍.mp4
  • 04 RTCPeerConnection介绍.mp4
  • 05 RTCPeerConnection原理讲解.mp4
  • 06 讲解-iceConnectionState属性.mp4
  • 07 讲解-signalingState属性.mp4
  • 08 讲解-localDescription属性.mp4
  • 09 讲解-remoteDescription属性.mp4
  • 10 讲解-createOffer、setLocalDescrip.mp4
  • 11 createAnswer、setRemoteDescript.mp4
  • 12 setRemoteDescription方法 - 异步.mp4
  • 13 讲解-addStream()方法.mp4
  • 14 addTrack()方法.mp4
  • 15 本地对等流视频.mp4
  • 16 视频之间对等流的传递改造.mp4
  • 04 webRTC视频直播案例讲解 01 springboot整合websocket.mp4
  • 02 编写websocket消息通道.mp4
  • 03 编写web前端进行发布消息.mp4
  • 04 编写web前端进行接收消息.mp4
  • 05 编写webRTC的主播端的发送offer.mp4
  • 06 编写webRTC的观看端接收offer.mp4
  • 07 编写webRTC的观看端回答answer.mp4
  • 08 编写webRTC的主播端发送候选信息.mp4
  • 09 接收候选,并发送候选信息.mp4
  • 10 完成主播对客户端的对等流传递.mp4
  • 05 webRTC录屏案例讲解 01 录屏准备.mp4
  • 02 录屏开始和停止.mp4
  • 03 录屏播放.mp4
  • 04 录屏下载.mp4
  • 05 使用谷歌插件进行录屏-插件安装.mp4
  • 06 使用谷歌插件进行录屏-编码.mp4