问题标签 [aiortc]

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.

0 投票
0 回答
22 浏览

javascript - 具有 RTCPeerConnection 的 QWebKit 加载页面

我正在尝试加载一个页面,它是网络广播的听众页面。此页面适用于 python aiortc 和 RTCPeerConnection。

我正在尝试使用 QWebKit pyqt5 模块加载此页面,但屏幕中出现此错误:

该页面的javascript代码是:

文件:radio.js

html代码是:

我认为这不是什么大麻烦,而且很容易解决。

编辑:我删除了 jquery 包含并$(document).ready使用纯 javascript 代码进行更新,但存在错误:

请注意,我不能使用QWebEngineQWebKit因为它在 msys2 终端中不可用。:\

也许我必须使用像 selenium、phantomjs、geckodriver 这样的替代品,但我不知道如何将它嵌入到 pyqt5 应用程序框架中。

0 投票
1 回答
162 浏览

python - Python 上的 Webrtc 无法更改对等方之间的 ICE 连接状态

首先,我想提一下,我对 WebRTC 很陌生,所以任何建议都会很有帮助。

目前我正在使用aiortc库来构建我自己的 WebRTC 应用程序。这是我想要做的。

我有 2 个对等点,一个是 Web 浏览器,它是用 javascript 编写的,另一个是 python 脚本,它同时用作信令服务器和对等点。因此,如果您访问我的网页,您会将视频帧发送到服务器,然后服务器将对其进行修改然后将其发回。

所以我在 LAN 环境中完成了我的应用程序的测试,一切都按我的预期工作。但是一旦我将我的应用程序部署到远程服务器(谷歌云运行),我遇到了 Ice 连接状态失败的问题。并在远程服务器上获取此日志。

在此处输入图像描述

(我认为这是由于对等体之间的断开连接,而不是内存不足的问题。我尝试了 16GB RAM 和 4 cpus 仍然没有工作)

然后,我深入研究了更多信息,发现 TURN/STUN 服务器是在 Internet 上构建 WebRTC 应用程序所必需的。所以我RTCPeerConnection像这样添加了 google STUN 服务器。[{'urls': 'stun:stun.l.google.com:19302'}, {'urls': 'stun:stun1.l.google.com:19302'}, {'urls': 'stun:stun2.l.google.com:19302'}](我在 javascript 和 python 上添加了双方,因为双方都作为对等方工作)不幸的是,它仍然没有工作。

现在,我打算建立自己的TURN服务器,但我担心如果TURN服务器不能解决这个问题。所以我想从你那里得到任何建议,因为我很困在我的处境中。

ps 我已经完成了 SSL 加密。(所以GetUserMedia工作正常)

Sdp详细信息(报价/答案):

社会民主党

提供

回答

0 投票
0 回答
15 浏览

python - aiortc - 操作帧然后通过 MediaRecorder() 发送 RTMP 服务器

我正在使用 aiortc 进行直播。我通过 . 成功将曲目发送到 RTMP 服务器MediaRecorder('rtmp//server.com', format='flv')。但我想在使用之前操作帧MediaRecorder()

有什么建议吗?

0 投票
2 回答
40 浏览

python - Python-asyncio - 使用计时器/线程终止异步

我有一个异步协程,我想使用计时器/线程终止。协程基于来自 aiortc的这个示例。

这不起作用并引发RuntimeError('This event loop is already running')

为什么这会引发错误?我的猜测是这是因为循环在不同的线程上运行。但是,创建一个新循环不起作用,因为它会将未来附加到另一个循环。

之后,如何使用计时器来结束脚本?

0 投票
0 回答
21 浏览

express - webRTC 连接在连接到本地托管的网页时有效,但在服务器上托管时无效

我正在尝试在 python 端使用 aiortc 创建从 python 应用程序到 Web 服务的 webRTC 连接,并在 Web 服务端表达 js。在 localhost 上托管 Web 服务时,我没有问题,但是当我在服务器上托管它时,我无法。当我在线托管时,我仍然可以正常访问网页,当我尝试建立 webRTC 连接时,我只是得到以下非常通用的异常: socketio.exceptions.ConnectionError: Connection refused by the server.

这是我认为是python代码的相关部分:

这是我认为相关的js代码:

如果需要任何其他代码,我可以提供。

防火墙已被禁用,所以我认为这不是问题,我将非常感谢任何关于我无法连接的建议。