カメラ(WindowsノートPCのカメラ)でリアルタイム動画を撮影しつつ、Djangoフレームワークでストリーム配信を行ってみました。
目的
別途行っているミニ四駆ラジコン化計画に向け、車載カメラによる撮影と、画像認識技術を使用したカメラ向きの自動補正(顔認識枠が常にカメラ中心点に収まるよう、カメラ制御サーボを動かす)が行えるようにすること(↓こんなふうにしたい)
結果
おおよその作り
- Python DjangoフレームワークでWebサーバを起動
- 土台となる index.html を配信し、その中にIFRAMEタグでキャプチャ動画を表示する領域を配置。
- キャプチャ領域にDjangoテンプレート変数を設定して別途サーバリクエストを行わせ、ルーティング参照先(Views.Capture())でStreamingHttpResponse()を使用して、動画を配信。
- 動画といっても、実態はカメラから取得した1フレームずつの静止画を、パラパラ漫画の要領で無限ループしつつ送信している(よって、音声は配信できていない)
ソースファイル
所要
- 1日程度
苦労話
- ググると、以下の情報は個々に散見されたが、合わさったものが見つからなかった。