标签: twilio-video

从不同的子域访问沙盒 iframe 中的相机和麦克风

我有使用 twilio javascript SDK 的基本视频聊天 nodeJS webapp

video.xyz.com

我正在尝试将其添加到在不同网络服务和子域上运行的 webapplet 的 iframe

demo.xyz.com

当我直接运行时,浏览器显示摄像头和麦克风访问提示,并且工作正常。但是在 iframe 中,我无法访问相机和麦克风。

两个 webapplet 都在相同的端口上运行,但在不同的子域上。

我尝试document.domain在视频聊天应用程序上设置以匹配将添加 iframe 的父页面应用程序,但没有让它起作用。我在 chrome 中收到此错误:

"Uncaught DOMException: Failed to set the 'domain' property on 'Document': Assignment is forbidden for sandboxed iframes."

我确实有允许麦克风和相机属性。

<iframe allow="camera; microphone" sandbox="allow-forms allow-scripts" src="https://video.xyz.com"></iframe>
Run Code Online (Sandbox Code Playgroud)

我需要做什么才能在 iframe 中访问相机?哪个 Web 应用程序需要进行此更改?这需要CORS吗?

提前致谢。任何帮助,将不胜感激。

javascript iframe node.js twilio twilio-video

9
推荐指数
2
解决办法
8663
查看次数

无法使用 Twilio Video 禁用 localParticipant.audioTracks

我正在改编 Twilio 的JS 快速入门并尝试提供一个按钮来使用户的音频静音。从网上环顾四周,我的代码如下所示:

function toggleAudio(){
  room.localParticipant.audioTracks.forEach(function(track) {
    console.log(track);
    track.disable();
  })
}
Run Code Online (Sandbox Code Playgroud)

console.log() 吐出一个LocalAudioTrackPublication,但我收到以下错误:

Uncaught TypeError: track.disable is not a function

所以我很难过。文档暗示该.disable()方法将按照我的预期执行,但显然它没有定义?

javascript twilio twilio-video

5
推荐指数
1
解决办法
874
查看次数

从 Twilio Video Streams 读取数据

Tl; dr:我想在 python 中阅读来自这个https://tfvideo-5708-dev.twil.io/video.html 的所有参与者的视频流

详细信息:我有一个使用Twilio Video API进行视频课程的直播辅导网站。我想在输入流上运行对象检测和其他计算机视觉模型。我被困在如何获取我可以运行 ml 模型的输入视频流

  • 使用 Python。我可以通过 open cv2.VideoCapture(....) 方法读取,然后使用一些预先训练的模型或使用来自 open-cv 的内置计算机视觉模型运行我的推理。我想了解 cv2.VideoCapture() 括号下的参数应该是什么。
  • 使用 Tensorflow.js API - 通过在网站的 Javascript 中集成 tf.js 代码并在该流上运行推理。可行吗?

我无法获取用于我的 Ml 模型的流数据

为了进行测试,我创建了一个利用 Twilio Video 的网络聊天应用程序。这里是原始页面的链接,这里是github repo。以下是您可以在此处加入视频网络聊天的链接,如果您打开此链接,您可以加入房间(我必须先部署才能加入)然后我的要求是访问所有的流加入的参与者。

这是我浏览过的一些链接

https://github.com/twilio/twilio-video.js/issues/333

https://www.twilio.com/blog/build-video-chat-application-python-javascript-twilio-programmable-video

https://www.infoq.com/articles/video-stream-analytics-opencv/

谁能帮我这个。还有其他方法吗?

如果问题不清楚,请告诉我还需要什么……我可以提供更多详细信息

python computer-vision twilio-api twilio-video tensorflow.js

5
推荐指数
0
解决办法
106
查看次数

Twilio video onParticipant{Disabled}VideoTrack 冻结视频

twilio-video:1.19.2在 angular 8 中使用过。

我已经实现了一对一视频通话的功能。

下面是我用来启用/禁用视频的代码。

toggleVideo() {
    this.videoConference.isPaused = !this.videoConference.isPaused;
    this.twilioRoom.localParticipant.videoTracks.forEach(track => {
        if (this.videoConference.isPaused) {
            track.disable();
        } else {
            track.enable();
        }
    });
}
Run Code Online (Sandbox Code Playgroud)

视频通话似乎工作正常。但是当我在参与者端暂停视频时,只显示黑屏一段时间。大多数时候它freezes video(最后记录的帧保持不变)。

此问题已在 react-twilio 库https://github.com/blackuy/react-native-twilio-video-webrtc/issues/165 上报告

有谁知道如何解决这个问题?

有没有办法添加黑色(视频轨道)屏幕?

我想在参与者端暂停视频时显示黑屏。

video twilio twilio-api angular twilio-video

4
推荐指数
1
解决办法
2328
查看次数

是否可以使用 Twilio Video JS SDK 检测谁在说话?

我目前正在实施视频通话应用程序,例如使用 Twilio Video 的 Google Hangout。我想在后台显示当时说话的人的视频。

是否可以检测谁在使用 Twilio Video JS SDK 说话?

twilio twilio-api twilio-video

2
推荐指数
1
解决办法
1287
查看次数

Twilio Video - 切换媒体设备选项不起作用

我使用twiliotwilio-videovbeta-2上的主分支计数这个回购https://github.com/twilio/video-quickstart-js
我显示选择介质和设备推入,但是当我试图updateVideoDevice我一个错误

updateVideoDevice error TypeError: track must be a LocalAudioTrack, LocalVideoTrack, LocalDataTrack, or MediaStreamTrack
at Object.INVALID_TYPE (index.js:30952)
at Object.validateLocalTrack (index.js:31469)
at LocalParticipant.unpublishTrack (index.js:17047)
at index.js:17096
at Array.reduce (<anonymous>)
at LocalParticipant.unpublishTracks (index.js:17095)
at index.js:36056
Run Code Online (Sandbox Code Playgroud)

我的updateVideoDevice功能如下

function updateVideoDevice(event) {
const select = event.target;
const localParticipant = room.localParticipant;
if (select.value !== '') {
    Video.createLocalVideoTrack({
        deviceId: { exact: select.value }
    }).then(function(localVideoTrack) {
        const tracks = Array.from(localParticipant.videoTracks.values());
        localParticipant.unpublishTracks(tracks);
        log(localParticipant.identity + " removed track: " + tracks[0].kind); …
Run Code Online (Sandbox Code Playgroud)

twilio twilio-functions twilio-video

0
推荐指数
1
解决办法
1094
查看次数