WebRTC Python 实现

2024-01-09

Python 中有 RTCPeerConnection 的实现吗?我有一个 Python 应用程序,它将充当视频共享应用程序中的对等点(其他对等点是浏览器)。 Python 中有很多信令服务器的示例,但我找不到 RTCPeerConnection 本身的任何实现。我不想使用 PyQt 和 webkit 等。


您说得对,网络上与 WebRTC / Python 相关的大多数示例仅使用 Python 进行信号发送。

我认为迄今为止缺乏基于 Python 的 WebRTC 实现的一个原因是 WebRTC 是一个相当复杂的堆栈,涉及 SDP 协商、用于在两个对等点之间查找路径的交互式连接建立、DTLS 握手 + SRTP 加密,所有这一切都发生在一个异步时尚。

然而,随着 asyncio 的出现,情况发生了一些变化,因为现在可以以更线性的方式编写异步代码,而无需求助于回调。

因此,我为 Python 编写了一个基于异步的 WebRTC 实现,我相信它非常适合您描述的用例:

https://github.com/aiortc/aiortc https://github.com/aiortc/aiortc

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

WebRTC Python 实现 的相关文章

  • 如何更改默认的Python版本?

    我已经在我的 Mac 上安装了 Python 3 2 我跑完之后 Applications Python 3 2 Update Shell Profile command 当我输入时 这很令人困惑Python V在终端它说Python 2
  • 区分大小写的实体识别

    我的关键字全部以小写形式存储 例如 折扣耐克鞋 我正在尝试对其执行实体提取 我遇到的问题是 spaCy 在 NER 方面似乎区分大小写 请注意 我不认为这是 spaCy 特有的 当我跑步时 doc nlp u i love nike sho
  • Python Numpy Reshape错误[关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 我在尝试重塑 3D numpy 数组时遇到一个奇怪的错误 数组 x 的形状为 6 10 300 我想将其重塑为 6 3000 我正
  • 如何调试 numpy 掩码

    这个问题与this one https stackoverflow com q 73672739 11004423 我有一个正在尝试矢量化的函数 这是原来的函数 def aspect good angle float planet1 goo
  • Python sys.modules 包含尚未导入的模块

    我试图了解加载的模块与导入的模块之间的区别 如果有的话 我正在使用 Python 2 7 3 并且只是从命令行运行 Python 如果我执行 import sys sys modules 我得到一个列表 其中包括os 例如 文档说sys m
  • Karasuba算法递归过多

    我正在尝试用 c 实现 Karasuba 乘法算法 但现在我只是想让它在 python 中工作 这是我的代码 def mult x y b m if max x y lt b return x y bm pow b m x0 x bm x1
  • Django Web 应用程序中的 SMTP 问题

    我被要求向使用 Django Python 框架实现的现有程序添加一个功能 此功能将允许用户单击一个按钮 该按钮将显示一个小对话框 表单以输入值 我确实编写了一些代码 显示电子邮件已发送的消息 但实际上 它没有发送 My code from
  • Python:“直接”调用方法是否实例化对象?

    我是 Python 新手 在对我的对象进行单元测试时 我注意到一些 奇怪 的东西 class Ape object def init self print ooook def say self s print s def main Ape
  • Jupyter笔记本突然变得很慢

    我以前在anaconda环境下运行jupyter运行得很好 显示警告后 IOPub data rate exceeded The notebook server will temporarily stop sending output to
  • django 中的身份验证方法返回 None

    你好 我在 django 中做了一个简单的注册和登录页面 当想要登录时 登录视图中的身份验证方法不返回任何内容 我的身份验证应用程序 模型 py from django db import models from django contri
  • 导入目录下的所有模块

    有没有办法导入当前目录中的所有模块 并返回它们的列表 例如 对于包含以下内容的目录 mod py mod2 py mod3 py 它会给你
  • 预测测试图像时出现错误 - 无法重塑大小数组

    我正在尝试使用 TensorFlow 和 Keras 在 Python 中进行图像识别 并且我已经关注了下面的博客 https stackabuse com image recognition in python with tensorfl
  • 更新 matplotlib 中颜色条的范围

    我想更新一个contourf在函数内绘制 效果很好 然而 数据的范围发生了变化 因此我还必须更新颜色条 这就是我未能做到的地方 请参阅以下最小工作示例 import matplotlib pyplot as plt import numpy
  • Python 或 C 语言中的 Matlab / Octave bwdist()

    有谁知道 Matlab Octave bwdist 函数的 Python 替代品 此函数返回给定矩阵的每个单元格到最近的非零单元格的欧几里得距离 我看到了一个 Octave C 实现 一个纯 Matlab 实现 我想知道是否有人必须用 AN
  • 无法将matplotlib安装到pycharm

    我最近开始使用Python速成课程学习Python编程 我陷入困境 因为我无法让 matplotlib 在 pycharm 中工作 我已经安装了pip 我已经通过命令提示符使用 pip 安装了 matplotlib 现在 当我打开 pych
  • 更改用作函数全局作用域的字典

    我想做一个 purePython 的装饰器 其中一部分是能够有选择地禁止访问函数的全局范围 有没有一种方法可以以编程方式更改哪个字典事物充当函数的全局 外部作用域 因此 例如在下面我希望能够拦截对f in h并抛出错误 但我想允许访问g因为
  • 在 for 循环中访问 itertools 产品的元素

    我有一个列表列表 是附加 itertools 产品的一些其他结果的结果 我想要的是能够使用 for 循环访问列表列表中列表的每个元素 但我无法访问所有元素 我只能访问最后一个列表的元素 结果是一个非常巨大的列表列表 例如 1 2 4 3 6
  • 在 anaconda 环境下运行 qsub

    我有一个程序 通常在 Linux 的 conda 环境中运行 因为我用它来管理我的库 指令如下 source activate my environment python hello world py 我怎样才能跑你好世界 py在与 PBS
  • 在 python 中使用高精度时间戳

    嘿 我正在使用 python 处理日期时间 我想知道解析这个时间戳的最佳方法是什么 时间戳是ISO标准 这里是一个例子 2010 06 19T08 17 14 078685237Z 现在到目前为止我已经使用过 time datetime d
  • 防止 Ada DLL 中的名称损坏

    有没有一种简单的方法可以防止在创建 Ada DLL 时 Ada 名称被破坏 这是我的 adb 代码 with Ada Text IO package body testDLL is procedure Print Call is begin

随机推荐

  • 如何通过GLSL在THREE.js中实现MeshNormalMaterial?

    我想实现一个像这样的着色器网格法线材质 https threejs org docs api materials MeshNormalMaterial 但我不知道如何将法线转换为颜色 在 THREE js 中 我的测试1 varying v
  • 隐式转换,是否需要导入?

    I write object MyString implicit def stringToMyString s String new MyString s class MyString str String def camelize str
  • 如何在 C# 3.0 中比较两个通用列表? [复制]

    这个问题在这里已经有答案了 可能的重复 C 中有比较集合的内置方法吗 https stackoverflow com questions 43500 is there a built in method to compare collect
  • ExecJS::ProgramError:意外的标记:名称(选项)

    我的应用程序在本地环境中运行良好 我试图git pushHeroku 的构建 我的命令是 bundle install git add git commit am abcdef git push heroku master 然后我遇到了资产
  • 将 pandas DataFrame 写入 sql 时出现无效列名错误

    当我尝试将数据帧写入 ms sql server 时 如下所示 cnxn sqlalchemy create engine mssql pyodbc HOST PORT DATABASE driver SQL Server df to sq
  • 尽管未兑现的承诺,脚本还是结束了

    考虑一下 async function const arr await new Promise r gt arr push r console log done 脚本终止于await并且日志从未打印到标准输出 我不明白为什么 你的代码没有任
  • 从 F# 中特定位置的二进制文件读取整数的性能问题

    今天早上我问here https stackoverflow com questions 24381090 performance issue with reading integers from a binary file at spec
  • 运行“gem install Rails”时出错

    我的配置 操作系统 Ubuntu 12 04 rvm版本 14 25 红宝石版本 2 1 0p0 宝石版本 2 2 1 哪个红宝石 home tauhidul35 rvm rubies ruby 2 1 0 bin ruby 哪个 RVM
  • 如何使用 DocX 控制 Word 文档中的表格列宽?

    我正在尝试重新创建一个这样的表 我正在使用 DocX 库来操作 Word 文件 但在获取正确的宽度时遇到问题 尝试设置单元格的宽度似乎仅在未设置为窗口自动调整模式时才起作用 并且仅当指定宽度大于表格宽度的一半时才似乎调整大小 或者更确切地说
  • 如何保存音调改变后录制的音频?

    我正在努力录制声音 然后更改音频的音调并保存 我在录制语音后调用此方法 然后单击按钮更改音调 然后也会创建新文件 但无法收听音频 生成的音频没有语音 可能是什么错误 void saveEffectedAudioToFolder NSErro
  • setImageBitmap没有可见效果

    我有一个字节数组 其中包含从网络获取的图像 我使用 Bitmapfactory BitmapDrawable 和 setImageDrawable 将它们懒惰地加载到我的 UI 活动中 或者我至少尝试这样做 D 这是我的代码 Relativ
  • 将 2D 数组转换为 std::map?

    数组可以转换为std vector轻松高效 template
  • Linq 按布尔值排序

    我有一个 linq 查询 我想通过 f bar 它是一个字符串 排序 但我也想首先通过 f foo 它是一个布尔字段 排序 就像下面的查询一样 from f in foo orderby f foo f bar select f 虽然可以编
  • GTK:如何在开始时从元素上移除焦点

    我向应用程序添加了两个 GtkEntry 现在当我启动应用程序时 其中一个具有焦点 并且看起来已准备好进行编辑 不希望在开始时将焦点放在任何元素上 也不希望任何文本输入元素具有焦点或正在编辑 我只是想让他们显示他们的文本 然后如果用户想要更
  • Nginx 502 提供错误页面内容时?

    我一直在将 Nginx 设置为服务器上应用程序的反向代理 其中一部分包括具有外部内容 如图像 的维护页面 我找到了一种设置图像返回 200 的错误页面的方法 但看起来反向代理会改变整个环境 这是来自的原始解决方案nginx 维护页面有内容问
  • 允许的内存大小 262144 字节已耗尽(尝试分配 24576 字节)[重复]

    这个问题在这里已经有答案了 我对此快要发疯了 我收到下一条消息 Allowed memory size of 262144 bytes exhausted tried to allocate 24576 bytes 待办事项清单 检查 ph
  • Serverless调度java函数应该实现什么接口?

    我正在尝试使用无服务器编写 Java AWS Lambda 虽然我的由 HTTP 端点触发的 Lambda 部署并正常工作 但我在预定的尝试失败了 配置看起来像 来自无服务器 yml functions timedHandler handl
  • 如何将聚合数据添加到 Apache Spark 中的原始数据集中?

    我试图弄清楚如何聚合数据集中的数据 然后使用 Apache Spark 将结果添加到原始数据集 我已经尝试了 2 个我不满意的解决方案 我想知道是否有一个我没有看到的更具可扩展性和更高效的解决方案 以下是输入和预期输出数据的非常简化的示例
  • 为什么补丁找不到这个文件?

    我想对 u boot 源代码应用补丁 但是 Linux 不允许我这么做 我拥有的 reg ubuntu NextGen trunk FW thirdparty u boot patch p1 lt u boot u boot 2013 01
  • WebRTC Python 实现

    Python 中有 RTCPeerConnection 的实现吗 我有一个 Python 应用程序 它将充当视频共享应用程序中的对等点 其他对等点是浏览器 Python 中有很多信令服务器的示例 但我找不到 RTCPeerConnectio