1 |
#! /bin/csh -f |
2 |
|
3 |
# optional arg is start_time |
4 |
# set echo |
5 |
|
6 |
# make movie of last days days at cadence cadence |
7 |
# choices if cadence must be multiple of 15m. |
8 |
|
9 |
if ($#argv > 0) then |
10 |
set want = $1 |
11 |
set want_t = `time_convert time=$want` |
12 |
@ wantimg = $want_t / 900 |
13 |
@ endtime_t = $wantimg * 900 |
14 |
else |
15 |
set now = `date -u +%Y.%m.%d_%H:%M:%S` |
16 |
set now_t = `time_convert time=$now` |
17 |
@ nowimg = $now_t / 900 |
18 |
@ nowimg_t = $nowimg * 900 |
19 |
@ endtime_t = $nowimg_t - 3600 |
20 |
endif |
21 |
|
22 |
set Type = jpg |
23 |
set Size = 1k |
24 |
set minFileSize = 50000 |
25 |
|
26 |
set BASE = /home/jsoc/hmi/images |
27 |
set WORKBASE = /home/jsoc/hmi/movies |
28 |
|
29 |
#foreach Quant (Ic_flat M) |
30 |
foreach Quant (Ic_flat M M_color) |
31 |
|
32 |
set THISWORK = $Quant'_movies'.$$ |
33 |
set WORK = $WORKBASE/$THISWORK |
34 |
mkdir $WORK |
35 |
mkdir $WORK/frames |
36 |
|
37 |
# First make 2 days at 15 minutes |
38 |
|
39 |
@ imgtime_t = $endtime_t - 172800 |
40 |
@ cadence = 15 * 60 |
41 |
|
42 |
set i = 0 |
43 |
while ($imgtime_t <= $endtime_t) |
44 |
set imgtime = `time_convert s=$imgtime_t zone=TAI` |
45 |
set yyyymmdd = `echo $imgtime | sed -e 's/_.*//' -e 's/\./Q/' -e 's/\./X/'` |
46 |
set YEAR = `echo $yyyymmdd | sed -e 's/Q.*//'` |
47 |
set MON = `echo $yyyymmdd | sed -e 's/^.*Q//' -e 's/X.*//'` |
48 |
set DAY = `echo $yyyymmdd | sed -e 's/^.*X//'` |
49 |
set yyyymmdd = $YEAR$MON$DAY |
50 |
set hhmmss = `echo $imgtime | sed -e 's/_/Q/' -e 's/.*Q//' -e 's/://g' -e 's/_TAI//'` |
51 |
set I = `printf "%04d" $i` |
52 |
set filename = $yyyymmdd'_'$hhmmss'_'$Quant'_'$Size'.'$Type |
53 |
set Imgpath = $BASE/$YEAR/$MON/$DAY |
54 |
set targpath = $WORK/frames |
55 |
set Image = $Imgpath/$filename |
56 |
if (-e $Image) then |
57 |
set FileSize=`stat --format="%s" $Image` |
58 |
if ($FileSize < $minFileSize) then |
59 |
echo Blank image detected for $Image |
60 |
else |
61 |
ln -s $Image $targpath/$I.$Type |
62 |
@ i = $i + 1 |
63 |
endif |
64 |
else |
65 |
echo no frame found for $Image |
66 |
endif |
67 |
@ imgtime_t = $imgtime_t + $cadence |
68 |
end |
69 |
|
70 |
# set HERE = $cwd |
71 |
set HERE = /home/jsoc/hmi/movies/ |
72 |
ls -ld $WORK/frames |
73 |
cd $WORK/frames |
74 |
|
75 |
echo Movie making place is $cwd |
76 |
|
77 |
#set echo |
78 |
|
79 |
set MOVIE = $WORK/$Quant'_2d'.mpg |
80 |
ffmpeg -qscale 5 -r 20 -b 9600 -i %04d.$Type $MOVIE |
81 |
if ($status == 0) then |
82 |
cp $MOVIE $Imgpath |
83 |
mv $MOVIE /home/jsoc/hmi/movies/latest |
84 |
endif |
85 |
|
86 |
set MOVIE = $WORK/$Quant'_2d'.mp4 |
87 |
ffmpeg -qscale 5 -r 20 -b 9600 -i %04d.$Type $MOVIE |
88 |
if ($status == 0) then |
89 |
cp $MOVIE $Imgpath |
90 |
mv $MOVIE /home/jsoc/hmi/movies/latest |
91 |
endif |
92 |
|
93 |
set echo |
94 |
cd $WORKBASE |
95 |
rm -rf $THISWORK |
96 |
|
97 |
# set 14dMOVIES = .14dmovies |
98 |
# set D14dMOVIES = /tmp/14dmovies |
99 |
set D14dMOVIES = .14dmovies |
100 |
if (!(-e $D14dMOVIES)) mkdir $D14dMOVIES |
101 |
|
102 |
# on even hour endtime, make longer movie also |
103 |
@ nowtime_t = $endtime_t / 3600 |
104 |
@ nowhour_t = $nowtime_t * 3600 |
105 |
if ($nowhour_t == $endtime_t) then |
106 |
set THISWORK = $Quant'_movies'.$$ |
107 |
set WORK = $WORKBASE/$THISWORK |
108 |
mkdir $WORK |
109 |
mkdir $WORK/frames |
110 |
cd $WORK/frames |
111 |
@ fourteen = 86400 * 14 |
112 |
@ nowtime_t = $endtime_t - $fourteen |
113 |
set nowtime = `time_convert zone=TAI s=$nowtime_t` |
114 |
set endtime = `time_convert zone=TAI s=$endtime_t` |
115 |
# /home/jsoc/pipeline/scripts/makeAnyMovie $nowtime $endtime 15 $Quant 1k $HERE/$14dMOVIES/$Quant"_14d.mp4" |
116 |
/home/jsoc/pipeline/scripts/makeAnyMovie $nowtime $endtime 15 $Quant 1k $HERE/$D14dMOVIES/$Quant"_14d.mp4" |
117 |
cd $WORKBASE |
118 |
rm -rf $THISWORK |
119 |
endif |
120 |
|
121 |
end |
122 |
|
123 |
cd $HERE |
124 |
ls -l $D14dMOVIES/ |
125 |
mv $D14dMOVIES/Ic_flat_14d.mp4 $D14dMOVIES/M_14d.mp4 /home/jsoc/hmi/movies/latest/ |
126 |
mv $D14dMOVIES/M_color_14d.mp4 /home/jsoc/hmi/movies/latest/ |
127 |
rm -rf $D14dMOVIES |
128 |
|