コロナ禍になってオンラインストリーミングに注目が集まっています。オーディオだけを使ったClubhouseが最近注目されていたり、Twitter Liveもはじまるなど、ストリーミングに対する技術開発が盛んに行われています。 今回紹介するStreamlit WebRTCはPythonのフレームワークであるStreamlitを使って動画、オーディオストリーミングを行うソフトウェアです。

Streamlit WebRTCの使い方

デモです。Webカメラの動画を取り込んでトゥーン風にします。

エッジ検出。

オブジェクト認識。

画質が悪いのはWebカメラの映像を一旦サーバサイドに送った後、加工や認識を行った結果をクライアントサイドに送っているからでしょう。一般的この手の加工はJavaScriptで行いますが、Streamlit WebRTCではサーバサイド、かつPythonが利用できることで高度な機械学習ライブラリや認識技術が使えるようになります。

Streamlit WebRTCはPython製のオープンソース・ソフトウェア(MIT License)です。

app · Streamlit whitphx/streamlit-webrtc: Real-time video and audio streams over the network, with Streamlit.