|
@@ -1,17 +1,37 @@
|
|
|
-#!/bin/sh
|
|
|
+#!/bin/bash
|
|
|
# Bachir Soussi Chiadmi 06/2016
|
|
|
# https://trac.ffmpeg.org/wiki/Create%20a%20video%20slideshow%20from%20images
|
|
|
# needs ffmep and exiftool
|
|
|
|
|
|
-function convertVideo(){
|
|
|
+function convert {
|
|
|
+
|
|
|
+ now=$(date +"%Y-%m-%d--%T")
|
|
|
+ echo "Timelaps conversion | $now"
|
|
|
+
|
|
|
+ mkdir ~/hehe-rover/www/tmp_videos
|
|
|
+ mkdir ~/hehe-rover/www/tmp_metadata
|
|
|
+ mkdir ~/hehe-rover/www/tmp_pictures
|
|
|
+
|
|
|
+ rm -f tmp_pictures/*
|
|
|
+
|
|
|
+ x=1
|
|
|
+ for i in public_html/pictures/*.jpg; do
|
|
|
+ counter=$(printf %03d $x)
|
|
|
+ ln "$i" tmp_pictures/img"$counter".jpg
|
|
|
+ x=$(($x+1))
|
|
|
+ done
|
|
|
+
|
|
|
+ pf=12
|
|
|
+ vf=24
|
|
|
+
|
|
|
+ echo "pictframerate:$pf, videoframerate=$vf"
|
|
|
+
|
|
|
echo 'Video conversion'
|
|
|
- pf=$1
|
|
|
- vf=$2
|
|
|
echo "creating raw timelaps"
|
|
|
ffmpeg -y \
|
|
|
-framerate $pf \
|
|
|
- -pattern_type glob -i 'public_html/pictures/*.jpg' \
|
|
|
- -r $vf -pix_fmt yuv420p -c:v libx264 \
|
|
|
+ -i tmp_pictures/img%03d.jpg \
|
|
|
+ -r $vf -pix_fmt yuv420p -vcodec libx264 \
|
|
|
tmp_videos/timelaps-raw.mp4
|
|
|
|
|
|
echo "optimizing responsive videos"
|
|
@@ -23,17 +43,15 @@ function convertVideo(){
|
|
|
|
|
|
echo "updating production videos"
|
|
|
rsync -r tmp_videos/ public_html/videos/
|
|
|
-}
|
|
|
|
|
|
-function exportData(){
|
|
|
echo "metadata export"
|
|
|
- pf=$1
|
|
|
- vf=$2
|
|
|
f=0
|
|
|
|
|
|
- echo -e "{" > tmp_metadata/frames.json
|
|
|
+ echo -e '{' > tmp_metadata/frames.json
|
|
|
echo -e '\t"frames":[' >> tmp_metadata/frames.json
|
|
|
for pict in public_html/pictures/*.jpg; do
|
|
|
+ # SRC
|
|
|
+ src="${pict/public_html\/pictures\//}"
|
|
|
# TIME
|
|
|
# time="${pict/pictures\/hehe-/}"
|
|
|
# time="${time/.jpg/}"
|
|
@@ -43,7 +61,7 @@ function exportData(){
|
|
|
|
|
|
# FRAME
|
|
|
frame=$(((60/$vf)*$f))
|
|
|
- echo -e "\t\t{\"pict\":\"$pict\", \"time\":\"$time\", \"gps\":\"$gps\", \"frame\":\"$frame\"}," >> tmp_metadata/frames.json
|
|
|
+ echo -e "\t\t{\"src\":\"$src\", \"time\":\"$time\", \"gps\":\"$gps\", \"frame\":\"$frame\"}," >> tmp_metadata/frames.json
|
|
|
f=$(($f+1))
|
|
|
done
|
|
|
|
|
@@ -51,24 +69,8 @@ function exportData(){
|
|
|
echo -e "}" >> tmp_metadata/frames.json
|
|
|
|
|
|
rsync -r tmp_metadata/ public_html/metadata/
|
|
|
-}
|
|
|
-
|
|
|
-
|
|
|
-function convert(){
|
|
|
- now=$(date +"%Y-%m-%d--%T")
|
|
|
- echo "Timelaps conversion | $now"
|
|
|
-
|
|
|
-
|
|
|
- mkdir ~/hehe-rover/www/tmp_videos
|
|
|
- mkdir ~/hehe-rover/www/tmp_metadata
|
|
|
-
|
|
|
- pictframerate=12
|
|
|
- videoframerate=24
|
|
|
|
|
|
- echo "pictframerate:$pictframerate, videoframerate=$videoframerate"
|
|
|
|
|
|
- convertVideo $pictframerate $videoframerate
|
|
|
- exportData $pictframerate $videoframerate
|
|
|
}
|
|
|
|
|
|
|