STEP-1 pythonスクリプト(detectMETEORa.py)でIPカメラから画像を取得し、動体検知のアルゴリズムを中心とした処理で、流星らしい動画(avi形式)を保存する。
STEP-2 記録した個々の動画をstreamlitスクリプト(play.py)でGUI操作で再生し、目視で流星と判断した動画について、COPYボタンをクリックして、1個のaviファイルから1枚のjpg画像を比較明合成アルゴリズムで生成し、同時にavi形式の動画からh264形式の動画(mp4形式)へ変換して保存する。
STEP-3 jpgファイルとmp4ファイルを、Webブラウザーでインタラクティブに閲覧できるよう、あらかじめ用意したフォルダーへCopyする。
ブラウザーで閲覧するためのphpコード ▶ボタンをクリックして、表示されている画像の動画を再生することが可能です。表示対象の画像を月単位で選択できます。
<?php
$day= new DateTime();
if (isset($_POST['month']) && ($_POST['month']!="")){
$month=$_POST['month'];
$f_month=str_replace("-","",$month);
} else {
$month="";
}
echo "<div>";
echo "<H2>動画を再生するには、各画像左下の再生ボタンをクリックして下さい。</H2>";
echo "<LI>画像上へマウスオーバーするとファイル名を表示します。<BR>";
echo "ファイル名[カメラ名_検知フレーム数_総フレーム数_YYYYMMDD_HHmmSS.mp4]<BR>";
echo "<form method =\"POST\">\n";
echo "<BR><LABEL Date>月を変更するには年月欄の右端をクリックしてください。</LABEL>";
echo "<input type=\"month\" name=\"month\" value=$month>";
echo "<input type =\"submit\" value =\"表示\">";
echo "</form></dev>";
//echo "$f_month<BR>\n";
$images = glob('meteor/COMP/*jpg');
$n=0;
foreach($images as $v) {
if (strpos($v,$f_month)) {
$tmp=explode(".",$v);
$mp4=$tmp[0].".mp4";
$mp4=str_replace("COMP","BEST2",$mp4);
//echo "$mp4<BR>";
$tmp=explode("/",$mp4);
$title=$tmp[2];
$msg="<video controls muted title=$title width='480' height='280' src=$mp4 poster=$v></video>";
echo $msg;
if ($n % 2 == 1){
echo "<BR>\n";
}
$n++;
}
}
?>