Electron 视频源

本周尝试和思考通过两个方向优化客户端占cpu严重的问题:
--2.1:
开启new Worker线程,将canvas的绘制在Worker线程执行,并开启OffscreenCanvas离屏,但是发现Worker线程不支持document对象,因此无法创建video对象,且主线程的视频源mediasteam视频流也不支持传递,因为Worker线程接收过来的数据都是通过拷贝执行的,但是系统生成的视频源不支持拷贝;后面尝试通过主线程获取视频源将其转换为图片base64传输过去,发现更加吃内存,所以通过Worker线程和OffscreenCanvas离屏方法走不通;
--2.2:之前我们音视频源采集以及传输都是通过webrtc获取执行的,如果通过ffmpeg进行视频源和音频源的采集,将放弃之前的声网的web sdk,采用tcp或者udp协议传输,似乎声网支持udp协议(待确认)。如果通过ffmpeg,大概的处理逻辑是在本地开启一个websocket服务,通过ffmpeg采集窗口或者视频源,将其进行视频流的处理拼接,然后以udp协议传输给声网,同时本地通过websocket接收处理udp数据源,通过本地video播放预览。(待验证)

推荐阅读更多精彩内容

  • 实时音视频的开发学习有很多可以参考的开源项目。 一个实时音视频应用共包括几个环节:采集、编码、前后处理、传输、解码...
    探索Linux服务器架构师阅读 1,464评论 3 15
  • 18个实时音视频开发中会用到开源项目 实时音视频的开发学习有很多可以参考的开源项目。一个实时音视频应用共包括几个环...
    福later阅读 1,790评论 0 32
  • 实时音视频的开发学习有很多可以参考的开源项目。一个实时音视频应用共包括几个环节:采集、编码、前后处理、传输、解码、...
    假_f89c阅读 3,092评论 0 31
  • 实时音视频的开发学习有很多可以参考的开源项目。一个实时音视频应用共包括几个环节:采集、编码、前后处理、传输、解码、...
    private_object阅读 220评论 0 0
  • 久违的晴天,家长会。 家长大会开好到教室时,离放学已经没多少时间了。班主任说已经安排了三个家长分享经验。 放学铃声...
    飘雪儿5阅读 4,464评论 16 21