Blazor WebAssembly项目中我们可以使用SignalR来实时传输摄像头视频流信息,基本原理就是使用JS来调用浏览器提供的视频接口,等用户点击充许后便可以直接传输数据到后端,这样可以实现一些视频功能。
这是一个外国的小哥写的一个小例子,可以下载下来直接运行。可以使用不同的的用户来连接站点来视频。

https://github.com/ardacetinkaya/WebCam-Streaming
网速不好可以从我的百度网盘下载。
链接:https://pan.baidu.com/s/1PKE607VbRJ4SmOuPFZSmzg
提取码:cv01
实现思路
该示例演示在 Blazor WebAssembly 中通过 SignalR 实时传输摄像头画面:先用 JS 调用浏览器的 getUserMedia 获取视频流,再把帧数据经 SignalR 发给服务端或其它客户端。
- 需要 HTTPS 环境,浏览器才允许访问摄像头。
- 实时视频对带宽要求较高,通常要限制帧率与分辨率。
- 生产环境建议改用 WebRTC 做点对点传输,延迟更低。