- Apache 実行ユーザ
mjpg-streamer を動かしている下で raspistill を実行することはできない。
よって,ストリーミングをファインダにしながらの静止画撮影は,つぎのプロセスになる:
- mjpg-streamer を停止 (sudo pkill mjpg)
- raspistill を実行
- mjpg-streamer を起動
しかし,Apache 実行ユーザ www-data の権限では,mjpg-streamer の停止・起動はできない。
ソルーション
実行ユーザを pi に変更する。
これにより, 「カメラ撮影」ページから mjpg-streamer の起動・停止が,確かにできるようになった。
- exec による mjpg-streamer 起動
exec は,これで実行したプロセスが終了するまで,制御が戻ってこない。
mjpg-streamer は,起動したら動いたままになる。
よって exec( mjpg-streamer を起動) は,制御が戻ってこない場合になる。
ソルーション
$cmd = "/home/pi/mjpg.sh 800 800 1 100";
exec( $cmd." > /dev/null &");
これにより, exec( mjpg-streamer を起動) は,htmo=php に制御が戻るようになった。
|