视频实时滤镜


应用:直播效果

主播:
  1. 从摄像头捕获视频流
  2. 从视频流中获取原始数据(图片帧/视频流) // ImageCapture/MediaRecorder
  3. 使用 wasm 转换原始数据(滤镜) // 需要内存复制
  4. 转成 ImageBitmap 渲染到 WebGL/ ImageBitmapRenderingContext ?
  5. 从 canvas 中捕获为流 // captureStream
  6. 记录数据 // MediaRecorder
  7. WebSocket 发送到服务器

其他客户端:
  1. 生成 DASH-MPEG 的切片
  2. 服务器(根据客户端网络环境)通过 WebSocket 分发给客户端
  3. 使用 MSE 渲染到 video 元素