ログイン

18
5月

JavaScriptで静止画を連続再生する

Written by チキチキ. No comments Posted in: Linux
Tagged with ,
Posted Date : 2012-05-18

WEBカメラで撮影した、我が家からの空模様の静止画を、
1時間遡って連続再生する機能をシェルスクリプトとJavaScriptで作ってみました。

方法としては、
1.xawtv(webcamrc)で撮影した静止画のアーカイブファイル名を時分で保存。
2.現在時刻より指定時刻以降のファイル名を取得して、静止画を連続再生する
  JavaScriptファイル作成するシェルスクリプトを作る。
3.シェルスクリプトをcronで定期的に実行してJavaScriptを吐き出す。
4.htmlファイルにJavaScript関係の実行文を埋め込む。

////////////////シェルスクリプト///////////////////////////
#!/bin/bash
JAVASCRIPT=./public_html/cam/sp.js
JPEGDIR=./public_html/cam
GET_MINUTE_AGO=60
CHANGETIME=500

echo ‘window.onload=anime;’ > $JAVASCRIPT
let ++GET_MINUTE_AGO
echo ‘var gk=new Array(‘$GET_MINUTE_AGO’);’ >> $JAVASCRIPT
let –GET_MINUTE_AGO

i=-1
TEMP1=date -d $GET_MINUTE_AGO' minute ago' +%H%M
TEMP1=’live_’$TEMP1′.jpg’

for TXT in ls $JPEGDIR/live*.jpg -tr
do
    TXT=echo $TXT | cut -d "/" -f 4
    if [ $TEMP1 = $TXT ] ; then
        let ++i
    fi
    if [ $i -ne -1 ] ; then
        echo ‘gk[‘$i’]=new Image();’ >> $JAVASCRIPT
        echo ‘gk[‘$i’].src=”‘$TXT'”‘ >> $JAVASCRIPT
        let ++i
    fi
done
let –i

echo ‘var maisuu=0;’ >> $JAVASCRIPT
echo ‘function anime(){‘ >> $JAVASCRIPT
echo ‘var dgi=document.getElementById(“weather”);’ >> $JAVASCRIPT
echo ‘    dgi.src=gk[maisuu].src;’ >> $JAVASCRIPT
echo ‘    dgi.style.width=”320px”;’ >> $JAVASCRIPT
echo ‘    dgi.style.height=”240px”;’ >> $JAVASCRIPT
echo ‘    if’ >> $JAVASCRIPT
echo ‘        (maisuu< ‘$i’)maisuu++;’ >> $JAVASCRIPT
echo ‘    else’ >> $JAVASCRIPT
echo ‘        maisuu=0;’ >> $JAVASCRIPT
echo ‘  setTimeout(“anime()”,’$CHANGETIME’);’ >> $JAVASCRIPT
echo ‘}’ >> $JAVASCRIPT
/////////////////////////////////////////////////////////

 

////////////////htmlに埋め込む文//////////////////////////
<meta http-equiv=”Content-Script-Type” content=”text/javascript” />
<script type=”text/javascript” src=”sp.js”></script>

<img src=”info.png” title=”” id=”weather” />
////////////////////////////////////////////////////////

こちらが実行結果ですが、1時間分を0.5秒間隔で自動再生しています。

Similar Posts:


[Print here click]

0 Responses


Protected Image