先日の帯状疱疹は薬がよく効いたのと、かかりつけの鍼灸でもいろいろとケアしていただけて、おかげさまで無事快方に向かっています。
さて、OSC2019 Osakaはその先日の不調でキャンセルということにさせてもらいましたので、ブースにはお詫びの紙をおかせてもらうことにしました。OSC会場でご覧になられた方はお気づきだったかと思いますが、QRコードを読み込むとWebページから私の家に設置されたCD-ROMドライブを自由にEjectできるようになっており、結果はストリーミング映像で見られるようになっていました。すごい雑に作っていたのですが、映像とページの配信はRaspberry Pi Zero W一発でやっていました(普段はタイムラプスカメラとしてOSCで出したり出してなかったりしているやつです)。
Raspberry Piのカメラモジュールのストリーミング配信についてググってみると海外のブログがヒットしたのですが、どうもPythonのPiCameraモジュールのサンプルですでに十分な出来栄えになっており、何も考えずコードをもらってきてこれをベースにページを作り始めました。
4. Advanced Recipes — Picamera 1.13 Documentation
EjectするにはCD-ROMドライブを接続して、EjectコマンドをインストールしてからPythonでコマンド実行してあげれば良いです。ストリーミングのスクリプトはSimpleHTTPServerなので、ボタンを押されたらJavaScriptで/ejectをGETして、スクリプト側では/ejectがGETされたらEjectするようにしてやります。コードはこの辺に置きました。
サーバーの公開は、自宅のWebサーバーからリバースプロクシしてあげるだけ。うっかりQRコードのURLをhttpsで書いてしまったので、別途Let's EncryptでHTTPS化しました。
午後からは外出してしまったので放置プレイにしましたが、途中で思い出して開いてみると、映像がぶっ壊れていました……。なんだろ。今回はあくまで簡易的にだったので、まあいいでしょう。
特にどのくらいEjectされたとかはチェックしませんでしたが、会場にいた人が多少なり遊んでくれていたら嬉しいです。来年は行きたい。