使用WebRTC的对等视频聊天

camus-chat的Python项目详细描述


Build StatusdocsPyPIDocker HubLicense

Camus是一个视频聊天应用程序,它使用WebRTC进行直接对等 沟通。用户可以创建公共或私人房间(可选保护) 通过密码。除了从网络摄像头和 麦克风,加缪还提供屏幕共享和文本聊天。在

特点

  • 网络摄像头流媒体
  • 桌面共享
  • 短信聊天
  • 客房管理(公共/私人、密码/无密码、客人限制)
^{1}$

演示

你可以在https://camus.chat找到一个现场演示。在

跑步

使用Snap

确保您已安装snapd。安装Camus:

$ sudo snap install camus

运行加缪:

^{pr2}$

在浏览器中转到localhost:5000。对于本地测试,您可以访问 同一个房间在多个选项卡中,每个选项卡将作为一个单独的客户端。在

使用Python

Camus需要Python 3.7或更高版本,因为它使用了Quart和异步 语法。像往常一样,最好使用虚拟环境。在

安装Camus:

$ pip install camus-chat

运行加缪:

^{pr2}$

在浏览器中转到localhost:5000。对于本地测试,您可以访问 同一个房间在多个选项卡中,每个选项卡将作为一个单独的客户端。在

使用Docker

您可以在Docker Hub上找到pre-built Docker image。使用以下内容 用于拉取映像并运行容器的命令:

$ docker run -d -p 5000:5000 mrgnr/camus

在浏览器中转到localhost:5000。对于本地测试,您可以访问 同一个房间在多个选项卡中,每个选项卡将作为一个单独的客户端。在

使用Heroku

Deploy to Heroku

只需单击上面的按钮或查看deployment documentation的 详细说明。在

工作原理

参见technical overview了解加缪是如何工作的。在

发展

有关生成和测试说明,请参阅development documentation。在

路线图

v0.1

  • [x] 音频/视频流
  • [x] 桌面共享
  • [x] 短信聊天
  • [x] 跨浏览器支持(使用BabelAdapter
    • [x] 铬/铬/勇敢
    • [x] 火狐
    • [x] 狩猎
  • [x] 支持TURN服务器

v0.2

  • [x] 使用React[PR#3#4]
  • [x] 视频源控件(全屏、画中画、分辨率、音频级别、可见性)[PR#5]
  • [x] 客户端中可配置的TURN server[PR#6]
  • [x] 快照包[PR#7]
  • []使UI可访问

v0.3+

  • []持久存储(SQLite、Redis和/或PostgreSQL)
  • []用户帐户,永久用户设置
  • []支持SFU以实现客户端可伸缩性

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java在验证检查中改进构建器模式?   java如何定义一个依赖项来获取快照?   java Javafx webview在运行时不显示dashplotly应用程序   java Android kotlin单元测试用例。。?   java Android:SurfaceView,为什么要使用不同的线程   Android/Java“org.apache.http.ProtocolException”,http头应答有问题   反射如何确定类成员是否是静态的以及Java中的字段   java设置EditText以接受双值的问题   类加载器如何使用类加载器将jar从我的网站加载到java应用程序的脚本中   java GWT HTMLTable colaspan功能   java无法删除/重命名文件   java Navigableset vs Navigablemap   php中java加密方法的转换   java为什么加载我的共享对象文件会在Netbeans 8.2中出现“未满足链接”错误?   java JAXRS CXF异常包装   java程序在If语句之后执行Else语句   java将对象转换为JAXBElement<Object>