whitphx/streamlit-webrtc

Real-time video and audio processing on Streamlit

何を解決するか

streamlit-webrtc は、ネットワーク上でリアルタイムのビデオおよびオーディオストリームを処理・送信できる Streamlit 用のコンポーネントです。複雑な WebRTC インフラをゼロから構築する必要なく、Web アプリケーションにライブメディアストリームを統合できます。

動作方法

このライブラリは webrtc_streamer ウィジェットを提供し、WebRTC セッションを管理します。開発者は video_frame_callback および audio_frame_callback というコールバック関数を定義することで、リアルタイムでメディアフレームを処理できます。これらのコールバックは PyAV オブジェクト(av.VideoFrame または av.AudioFrame)としてフレームを受け取り、返却するため、OpenCV フィルターや AI モデルなどの画像またはオーディオ処理ロジックをストリーム内に直接挿入できます。

対象ユーザー

リアルタイムメディアアプリケーション(例:ビデオ通話アプリ、リアルタイム音声認識ツール、コンピュータビジョンアプリ)を構築したい、Streamlit を使用する Python 開発者向けに設計されています。

特徴

  • リアルタイム処理:ビデオおよびオーディオフレームのコールバックをサポートし、ライブでの操作を可能にします。
  • AI 統合:OpenCV や MediaPipe などのライブラリと簡単に統合でき、物体検出やポーズ推定などのタスクに対応します。
  • 柔軟な制御:カメラおよびマイクアクセス用の組み込みメディアトグルボタンを備えています。
  • デプロイ対応:HTTPS、STUN、TURN サーバーの設定ガイドとオプションを提供し、さまざまなネットワーク環境での接続性を確保します。

関連

  • プロジェクト
  • プロジェクト
  • Dispatch
  • プロジェクト
  • Dispatch