Up 「カメラ撮影」ページの不具合とソルーション 作成: 2021-02-25
更新: 2024-12-26


  • Apache 実行ユーザ
    mjpg-streamer を動かしている下で raspistill を実行することはできない。
    よって,ストリーミングをファインダにしながらの静止画撮影は,つぎのプロセスになる:
    1. mjpg-streamer を停止 (sudo pkill mjpg)
    2. raspistill を実行
    3. 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 に制御が戻るようになった。