streamlit-webrtc

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

开源 🏷️完全免费 🔧 仅开源项目,无在线服务,需自行部署 开发框架 🍴 复刻 219 🐛 待处理 94 👀 关注 14
访问官网 ↗ GitHub ↗
GitHub 星标 ★ 1713
维护状态 活跃
是否开源 开源
定价模式 🏷️完全免费 开源免费,MIT许可证

项目预览

streamlit-webrtc 项目界面预览图
图片来源:GitHub 官方仓库名片

项目数据

分类开发框架
开发团队whitphx
定价模式🏷️完全免费
价格说明开源免费,MIT许可证
访问状态🔧 仅开源项目,无在线服务,需自行部署
是否开源是
开源协议MIT
主要语言Python
技术栈/模型computer-vision,hacktoberfest,pypi,python,streamlit,streamlit-webrtc,video-processing,video-streaming,webrtc
GitHub 星标★ 1713
上线时间2021-01-04 00:00:00
代码更新2026-11-02
仓库体积40.1 MB
本站数据更新2026-11-03
维护状态活跃
收录时间2026-09-17
浏览次数1

项目介绍

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

Star 增长趋势

本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整

数据来源:GitHub API 逐日快照 · 收录于 2026-09-17 · 当前星标 ★ 1713

使用教程

ℹ 本教程由 AI 依据该项目 README 整理,个别步骤可能需要按你的环境微调。

难度:入门 约 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

上一篇:llm-anthropic

下一篇:C2C

同类项目推荐

Speech 开源

一站式语音生成框架,快速构建 ASR/TTS 应用

A scalable generative AI framework built for researchers and developers working on L···

★ 18688 2026-08-09
agentic-rag-for-dummies 开源

用LangGraph快速搭建会思考的RAG智能体

A modular Agentic RAG built with LangGraph — learn Retrieval-Augmented Generation A···

★ 4315 2026-08-09
awesome-ai-apps 开源

一个列表,看遍AI应用主流玩法,找灵感、选方案。

A collection of projects showcasing RAG, agents, workflows, and other AI use cases

★ 16684 2026-08-09
gollem 开源

用 Go 写 AI Agent,内置 MCP 和工具,直接嵌进后端

Go framework for agentic AI app with MCP and built-in tools

★ 202 2026-10-13
langchain-mongodb 开源

让 LangChain 应用直接用 MongoDB 存向量和对话

Integrations between MongoDB, Atlas, LangChain, and LangGraph

★ 125 2026-09-12
torchdistill 开源

免写代码,配置即复现顶会知识蒸馏实验

A coding-free framework built on PyTorch for reproducible deep learning studies. PyT···

★ 1635 2026-08-13
anthropic-sdk-typescript 开源

官方 TypeScript 客户端,类型安全接入 Claude API

Access to Anthropic's safety-first language model APIs in TypeScript

★ 2164 2026-10-27
assistant-ui 开源

用 React 组件快速搭建专业 AI 聊天界面,开箱即用。

Typescript/React Library for AI Chat

★ 12925 2026-08-09
Shiro 开源

用 Java/Kotlin 快速开发 QQ 机器人,对接 OneBot 协议。

基于OneBot协议的QQ机器人快速开发框架

★ 344 2026-08-09