streamlit-webrtc

几行 Python 让 Streamlit 应用实时处理摄像头音视频

streamlit-webrtc 是一个让 Streamlit 应用直接处理实时音视频流的开源组件。Streamlit 本身擅长快速搭建数据应用,但原生不支持摄像头、麦克风等实时媒体输入,开发者通常需要额外搭建 WebRTC 服务或前端页面。该项目把 WebRTC 的采集、传输与渲染封装成 Streamlit 组件,浏览器端负责获取音视频流并通过 WebRTC 发送到 Python 后端,后端以回调函数形式逐帧处理,再把结果实时回传到前端显示。核心能力包括:摄像头/麦克风实时输入、逐帧图像处理(可接 OpenCV、MediaPipe 等)、双向音视频传输、多路流与自定义处理器。它降低了实时视觉 Demo 的开发门槛,适合快速验证人脸识别、姿态估计、视频滤镜等原型。

开源 free 开发框架
访问官网 ↗ GitHub ↗ 文档 ↗
GitHub 星标 ★ 1707
维护状态 活跃
是否开源
定价模式 free

项目数据

分类开发框架
开发团队whitphx
所属国家
定价模式free
价格说明开源免费,MIT许可证
访问状态
是否开源
开源协议MIT
主要语言Python
技术栈/模型computer-vision,hacktoberfest,pypi,python,streamlit,streamlit-webrtc,video-processing,video-streaming,webrtc
GitHub 星标★ 1707
30天Star增速
HF 下载量
上线时间2021-01-04 00:00:00
最近更新2026-09-15 00:00:00
维护状态活跃
中文支持
访问方式
移动端支持
综合评分
收录时间2026-09-17
浏览次数0

使用教程

难度:入门 约 10 分钟 部署方式:库/依赖 4 步

环境要求

  • Python 环境(README 未限定具体版本)
  • 已安装 pip 包管理工具
  • 可访问 PyPI 的网络环境
  • 带摄像头/麦克风的现代浏览器(用于实时音视频输入)

安装与启动步骤

  1. 1安装组件

    README 中 Install 章节给出的唯一安装命令,使用 -U 确保升级到最新版本。

    pip install -U streamlit-webrtc
  2. 2确认安装结果

    查看已安装包信息与版本号,确认 streamlit-webrtc 已正确进入当前 Python 环境。

    pip show streamlit-webrtc
  3. 3参考官方示例

    README 提供 Showcase 示例仓库与在线 Demo(含目标检测、OpenCV 滤镜、音频处理等),可先照着改。

  4. 4运行应用

    streamlit-webrtc 是 Streamlit 组件,需先写好使用它的 Streamlit 脚本,再用 Streamlit 命令启动。

    streamlit run app.py

如何确认成功

执行 streamlit run 后浏览器打开本地页面,摄像头画面经后端处理并实时回传显示即表示组件工作正常。

常见问题

Q:不想本地装,能先看效果吗?

A:可以。README 提供了多个在线 Demo 链接(如 Showcase、实时语音转文字、实时风格迁移),可直接在浏览器打开体验。

Q:还需要自己搭建 WebRTC 服务吗?

A:不需要。该组件已把浏览器的采集、WebRTC 传输和前端渲染封装好,后端以回调函数逐帧处理。

Q:支持音频处理吗?

A:支持。README 的示例列表包含 Audio processing 和实时 Speech-to-Text 应用,可处理麦克风输入。

Q:pip install 报找不到包怎么办?

A:先确认 pip 对应的 Python 环境是否正确,可用 python -m pip install -U streamlit-webrtc 指定解释器安装。

注意事项

  • README 仅明确给出 pip 安装命令,应用代码需自行编写或参考官方示例仓库 whitphx/streamlit-webrtc-example。
  • 浏览器会弹出摄像头/麦克风授权请求,需允许后才能看到实时画面。
  • 实时音视频采集通常要求 HTTPS 或 localhost 环境,普通 http 域名可能无法获取媒体设备。

核心亮点

  • 把 WebRTC 采集与回传封装成 Streamlit 组件,无需自建信令和前端页面即可跑通实时视频处理
  • 以逐帧回调方式暴露音视频数据,可直接接入 OpenCV、MediaPipe 等现有 Python 视觉库
  • 支持摄像头、麦克风、屏幕共享等多种输入源,并能在前后端之间双向传输音视频

不足之处

  • 依赖 WebRTC 与浏览器环境,部署到服务器时需处理 HTTPS、STUN/TURN 等网络配置,门槛高于普通 Streamlit 应用
  • 实时性能受 Python 逐帧处理和网络延迟限制,高分辨率或高帧率场景下容易卡顿

适用场景

  • 快速搭建人脸识别、姿态估计等计算机视觉 Demo
  • 做实时视频滤镜或图像处理效果的原型验证
  • 远程演示或教学中展示浏览器端音视频与 Python 后端的实时交互

替代项目

streamlit、gradio、aiortc

项目介绍

streamlit-webrtc 是一个开发框架领域的开源项目,官方简介:Real-time video and audio processing on Streamlit。项目使用 Python 开发,在 GitHub 上获得 1707 星标。

上一篇:llm-anthropic

下一篇:没有了!

同类项目推荐

langchain 开源

组装 AI 应用的乐高积木,从想法到上线不换工具

The agent engineering platform.

★ 146451 2026-08-09
transformers 开源

全球最大的模型仓库全家桶,想用的模型一把抓

Transformers: the model-definition framework for state-of-the-art machine learning m···

★ 166251 2026-08-09
bruno 开源

把 API 测试当代码管理,用 Git 搞定协作与版本追踪

Opensource IDE For Exploring and Testing API's (lightweight alternative to Postman/I···

★ 46994 2026-08-12