首页 > 解决方案 > 使用 WebRTC 和 PHP 的多客户端视频流

问题描述

我正在寻找创建一个网络应用程序,测验大师可以将他们的相机流式传输给多个参赛者以进行测验。几天后,我似乎在兜兜转转。

首先,我设法使用以下方法在页面内显示主机摄像头:

const video = document.querySelector('video');
navigator.mediaDevices.getUserMedia({ video: true, audio: true }).then((stream) => { video.srcObject = stream});

到现在为止还挺好。测验大师可以在网页上看到自己。现在我想知道如何将这个视频传输给多个参赛者。我假设 WebRTC 是解决方案,但我可能离题了。我的设置是带有 Apache 和 PHP 的 CentOS 7 服务器,所以我正在寻找一个理想的 PHP 解决方案。所以我的问题如下:

  1. WebRTC 是解决方案吗?
  2. 我需要在 CentOS 服务器上设置 TURN/STUN 服务器吗?
  3. 这些服务器可以用 PHP 编写吗?
  4. 此设置是否支持多个测验/参赛者?

抱歉,如果之前在 Stack Overflow 上已对此进行了介绍。我发现了类似的问题,但很多可以追溯到 2010 年至 2014 年,而且这项技术发展迅速。WebRTC 文档分散在各处,但同样,其中大部分已经过时和过时。

标签: phpcentoswebrtcant-media-server

解决方案


是的,WebRTC 是解决方案,但你不能用 PHP 和浏览器到浏览器的 WebRTC 来完成这一切,因为你需要一对多的视频流。因此,您需要在后端运行一个媒体服务器软件:测验大师将他的 WebRTC 流推送到该媒体服务器,多个参赛者将从该媒体服务器接收相同的流。

试试 Wowza 流媒体引擎、虚幻媒体服务器、蚂蚁媒体服务器。


推荐阅读