课程大纲
第一天 – 媒体设备处理
1. 使用 navigator.permissions 处理浏览器权限
- Access硬件:
- 摄像头
- 麦克风
- 可选权限:
- 地理位置
- 通知
- 剪贴板(读/写)
- 权限查询与状态
- 限制与浏览器兼容性
- 实际操作案例
2. 使用 navigator.mediaDevices 读取媒体设备
- 设备枚举
- 处理设备变更
- 实际操作案例
3. 跨浏览器兼容性
- API 使用:
- navigator.permissions.query()
- navigator.mediaDevices.enumerateDevices()
- getUserMedia()
- Safari 回退策略
- 实际操作案例
4. 媒体设备处理
- 设备初始化:getUserMedia(constraints)
- 媒体设备约束
- 启动与停止媒体流
- 处理设备变更
- 实际操作案例
5. 使用 MediaRecorder 进行设备录制
- 启动/停止流媒体与录制
- 下载 .webm 文件
- 实时波形预览
- 实际操作案例
可选附加功能:
- 使用 ScriptProcessorNode 保存为 .wav 格式
- 音频 FFT 频谱可视化
- 分贝音量条
- 使用 webkitSpeechRecognition 进行语音识别
第二天 – 点对点连接
1. 信令服务器
- 双向通道选项:
- WebSocket
- Socket.io
- SignalR
- 消息结构
- 简化 WebRTC 客户端
- 完整信令流程
- 实际操作案例
2. 通过 WebRTC 进行视频聊天
- 架构:Node.js + ws
- WebRTC 客户端:RTCPeerConnection
- 本地端到端测试
- 实际操作案例
可选功能:
- 挂断电话(关闭连接,停止媒体)
- 群组通话(多用户房间)
- 基于令牌的简单身份验证
3. 屏幕共享
- 使用 getDisplayMedia()
- 架构与选项
- 实际操作案例
4. 会话描述协议 (SDP)
- 简介与内容
- 读取与解释 SDP
- 编解码器:
- 音频与视频
- 协商与控制
- 回退策略
- 实际操作案例
5. 使用 getStats() 进行 WebRTC Statistics
- 统计类型
- 如何解释统计信息
- 实时比特率/抖动图表
- 质量适应策略
- 实际操作案例
要求
客户评论 (5)
我很喜欢Gunnar在我们进行的时候几乎随机编写所有代码的方式,但在谷歌云端硬盘上有很多可以在培训后参考的预备材料。 Gunnar根据我之前提供的示例数据编写的代码也非常有用,并且使培训与我们自己的数据集相关。
Ranvir - Schroders Personal Wealth
课程 - Visual Studio Code
机器翻译
每个模组都有多个示例,并且对培训师有深入的了解。
Sebastian - BRD
课程 - Secure Developer Java (Inc OWASP)
机器翻译
Module3 Applications Attacks and Exploits, XSS, SQL 注入 Module4 服务器攻击和漏洞利用、DOS、BOF
Tshifhiwa - Vodacom
课程 - How to Write Secure Code
机器翻译
Real-life examples.
Kristoffer Opdahl - Buypass AS
课程 - Web Security with the OWASP Testing Framework
The trainer's subject knowledge was excellent, and the way the sessions were set out so that the audience could follow along with the demonstrations really helped to cement that knowledge, compared to just sitting and listening.