【问题标题】:Multi WebRTC pages rendering多 WebRTC 页面渲染
【发布时间】:2026-01-01 06:10:01
【问题描述】:

我目前正在使用 this, Muaz khan github 开发 MultiWebRTC 站点,现在我正在尝试使用 MySQL、express 和 node.js 进行用户身份验证。但是 HTML webRTC 页面已经正常呈现,所以当我将 ejs 设置为我的视图引擎时,它不起作用。如果我让这些 webRTC 页面显示为 ejs,但我无法进行任何视频会议 如何渲染我的 ejs 页面并同时渲染 webrtc 页面? 提前感谢您的回答。 我渲染页面的 server.js 的一部分

var express  = require('express');
var app = express();
app.set('view engine', 'ejs');
app.get('/', function(req, res) {
    res.render('/Audio+Screensharing');
});

【问题讨论】:

    标签: html mysql node.js express webrtc


    【解决方案1】:

    demos directory 下载任何演示并复制 HTML。

    将 html 粘贴到 ejs 或 cshtml 或 aspx 或 php 或任何地方。

    现在修改“ejs”文件。

    搜索这两行:

    <script src="/dist/RTCMultiConnection.min.js"></script>
    <script src="/socket.io/socket.io.js"></script>
    

    将以上行替换为:

    <script src="https://rtcmulticonnection.herokuapp.com/dist/RTCMultiConnection.min.js"></script>
    <script src="https://rtcmulticonnection.herokuapp.com/socket.io/socket.io.js"></script>
    

    还剩最后一步。

    在同一“ejs”文件中搜索以下行:

    // by default, socket.io server is assumed to be deployed on your own URL
    connection.socketURL = '/';
    

    将上面的行替换为以下内容:

    // this line is VERY_important
    connection.socketURL = 'https://rtcmulticonnection.herokuapp.com:443/';
    

    现在任何 RTCMultiConnection 演示都可以在任何 ejs/cshtml/php/aspx 文件上运行。

    请不要忘记“HTTPs”是必需的。摄像头、麦克风或屏幕仅适用于 HTTP。

    还有一个教程(文档)页面,解释了上述所有步骤:

    还有一个 YouTube 视频演示:

    您可以在 MySQL 上存储/保留/保存“房间 ID”;你甚至可以使用以下 sn-p:

    $.get('/owner-info', function(eachUser) {
        // everyone opens a room
        connection.open(eachUser.userid);
    });
    
    btnJoinAUserByHisUserId.onclick = function() {
        var joinThisUserId = 'userid-xyz'; // you can read this line from server
    
        // connect two users usign this method
        connection.join(joinThisUserId);
    };
    

    请记住,每个人都可以打开独特的房间。任何人都可以使用他的 roomid 加入任何其他人。 for more information

    RTCMultiConnection 完整文档可在此处获得:http://www.rtcmulticonnection.org

    【讨论】:

    • 感谢您的回复,我已经这样做了,但是当我这样做时; var express = require('express'); var app = express(); app.set('视图引擎', 'ejs'); app.get('/', function(req, res) { res.render('Audio-video-screen'); });功能停止工作,无法拨打电话
    • 你不需要在你自己的服务器上运行socket.io。使用 herokuapp 的 socket.io(我上面提到的那个)。
    • 感谢您的回复@MuazKhan,我没有运行我自己的 socket.io,我正在尝试使用 mysql 和 express 登录用户,这就是我尝试使用渲染页面的原因ejs 但是当我使用 ejs 功能渲染页面时停止工作
    • 您在运行 HTTPs 吗?请修改您的问题(如上)并包含“server.js”代码(例如 express.js 使用代码)