问题标签 [jitsi-meet]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
jitsi-meet - 如何根据需要或认为合适在 Jitsi 中添加新功能
我们托管了 Jitsi 供公众使用。但用户要求提供更多功能作为会议模式的一部分:
- 基于角色的特权:
会议提前预订/预订:用户想要创建一个预先命名的会议,其中包含指定的发言人、主持人、嘉宾列表,并且不在列表中的人是参与者。预定义用户的详细信息将存储在创建者帐户中。
身份验证:需要对参加会议的参与者进行双重检查。参与者在加入会议/会议时需要检查已为会议创建的用户(发言人、主持人、客人和其他参与者),并根据可用信息创建角色。
会议类型: 需要会议类型:
对于像课堂/多会话网络研讨会这样的开放式会议,需要切换演示者的功能。
此外,需要在共同的会议讨论之后将用户移动到不同的房间。版主应该有权选择用户将用户移动到预定义的房间。
用户创建的房间应根据用户 ID 检查它是否存在或者它是要创建的新房间。需要将房间名称与唯一ID绑定,以便不同的用户可以在相同或不同的时间范围内将相同的房间名称分配给不同的会议。
有人可以让我知道如何进行吗?
谢谢
reactjs - 在页面内浮动的新窗口中渲染一个反应组件
想法是通话的视频(jitsi)在屏幕的组件之上,我可以调用这个视频屏幕的画中画,这样用户就可以浏览页面并会在当前正在进行的通话中不会失去视频的可见性。您指出的这个组件不起作用,我使用了 react-draggable ( https://www.npmjs.com/package/react-draggable#draggable-usage ),它完成了第一部分,即保持在组件之上我可以在屏幕上移动它。但是,我仍然无法通过 React 使用 PiP 和这个 Jitsi iFrame API ( https://jitsi.github.io/handbook/docs/dev-guide/dev-guide-iframe)。但我相信这是可能的,因为我安装了一个谷歌开发的 chrome 扩展,叫做 Picture-in-Picture extension By Google,他可以把视频叠加在屏幕上而不会失去焦点。我尝试使用此扩展程序的代码(https://github.com/GoogleChromeLabs/picture-in-picture-chrome-extension/blob/master/src/script.js)但尚未成功。如果有人做过这样的事情并且可以帮助我,我将不胜感激。谢谢大家。
flutter - Jitsi 在 Flutter 中相遇
我们如何在 Flutter 中使用 Jitsi Meet?我需要将 Jitsi meet 添加到我当前的应用程序中,但似乎没有任何合适的示例可以在颤振应用程序中使用 jitsi。如果有人可以为我提供一些示例或参考,我将不胜感激。干杯。
jitsi - React Native + lib-jitsi-meet - 音频/视频轨道未添加到会议中
我们正在尝试使用 lib-jitsi-meet API 从头开始为 Jitsi 创建一个 React Native 移动应用程序,并且我们在 AWS 服务器上有一个自托管的 jitsi-meet 并且我们遵循了快速安装指南。就本文而言,URL 是https://jitsimeet.example.com
。
在 React Native 应用程序中,我们可以test1
使用JitsiMeetJS.initJitsiConference
. 加入后,用户在浏览器上显示为“Fellow Jitster” jitsimeet.example.com/test1
,但我们添加到会议中的曲目(视频/音频)(来自 React Native 移动应用程序)不可见,在浏览器中,它只是说“参与者已停止摄像头”和“参与者已静音”。
我们已经在我们的 React Native 应用程序中尝试了meet.jit.si
&beta.meet.jit.si
来查看问题是否与我们的后端安装有关。但这些也不起作用。
我们还在jitsimeet.example.com/test1
浏览器和 jitsi-meet 移动应用程序上尝试了相同的会议,它们都运行良好,没有任何问题。
我们还在本地设置了jitsi-meet存储库。在 Android 模拟器上运行 React Native 部分时,它工作正常(加入会议和渲染音频/视频轨道)。
从上面的观察来看,问题似乎出在我们对 React Native 应用程序的实现上。
可以在此处找到用于启动会议的组件的代码。在这里您可以找到我们存储库的链接。要运行它,只需执行npm i
and npx react-native run-android
。我们在jitsi-meet存储库中给出的 react-native 代码中使用了 polyfill。
在我们服务器上 jicofo 的日志中,我们可以看到当用户通过 web 或 jitsi-meet 移动应用程序加入时,我们得到:
而当我们通过我们的 React Native 应用程序加入时,我们只会得到:
更多可能相关的信息在客户端,我们在CONFERENCE_JOINED
事件触发后添加轨道,然后,我们得到以下日志
如上所述,我们可以从我们的 react native 应用程序加入会议,并且我们正在获取CONFERENCE_JOINED
, USER_JOINED
,USER_LEFT
事件。
TRACK_ADDED
添加本地音轨后,该事件也会立即在本地触发。但它不会因为其他远程客户端(网络浏览器或 jitsi-meet 移动应用程序)上发生的任何视频/桌面共享/音频更改而触发。
我们如何解决这个问题?
live-streaming - 有什么方法可以检测直播是否在 JITSI meet external API 中成功启动?
我正在使用 jitsi meet 外部 API 进行视频会议。
我使用以下 API 命令开始直播:
api.executeCommand('startRecording', { mode: 'stream', youtubeStreamKey: streamName })
但是总是返回未定义,有没有办法确定流媒体是否成功启动。
jitsi - 无法在 jibri 容器中找到 finalize.sh 文件
录制完成后,我正在尝试使用finalize.sh
文件重命名录制。我正在运行 jibri docker 容器。出于测试目的,我只是打印值RECORDINGS_DIR
以检查finalize.sh
脚本是否有效。它没有用,我在 jibri 容器日志中遇到以下错误:
但是当我检查finalize.sh
容器内的脚本时,它就在那里。
Jibri 撰写文件片段
JIBRI_FINALIZE_RECORDING_SCRIPT_PATH: "/config/jibri/finalize.sh"
我也尝试更改文件权限,但没有成功。
请帮忙。
jitsi - 如果主持人设置了会议密码,Jibri 将无法录制
我已经使用 docker 设置了一个jibri。当我在设置会议密码后尝试录制会议时,我收到一条消息Recording is stopped
,当我检查日志时,我发现 jibri 用户无法绕过会议密码。
jibri 日志片段
Not joined yet: Cannot read property 'isJoined' of undefined
完整的 jibri 容器日志
请帮忙。
javascript - 如何使用外部API为jitsi meet video room设置密码
如何使用外部 API 设置 jitsi meet video room 的密码,我可以尝试使用示例代码,但对我不起作用,创建房间但没有密码,如下所示:
cordova - ionic 5:添加 jitsi-meet 插件后,cordova iOS 构建失败
我正在将https://github.com/findmate/cordova-plugin-jitsi-meet与 ionic 5 项目一起使用。它在 Android 设备上运行良好,但无法构建 iOS APK。我不知道如何解决这个错误,因为这是我第一次尝试构建 iOS 应用程序。任何人都请帮我解决这个问题。
flutter - 错误:不再需要配置!在jitsi遇见扑
config.js 文件已经加载,第二次再次加载并给出触发 onConferenceTerminated 事件并结束会议的错误。加入会议的以下代码:-
错误是“ExternalAPI Sending event: CONFERENCE_TERMINATED with data: { NativeMap: {"error":"Error: Config no longer needed!","url":"https://meet.jit.si/"} }"。