most of program1 is done, shape of program2, actual app to be started
This commit is contained in:
@@ -2,6 +2,8 @@
|
||||
set -euo pipefail
|
||||
IFS=$'\n\t'
|
||||
|
||||
SCRIPTS_DIR=$(dirname `realpath ${BASH_SOURCE[0]}`)
|
||||
|
||||
# === CONFIGURATION ===
|
||||
export DOSSIER_SOURCE="${HOME}/Downloads"
|
||||
export DOSSIER_DESTINATION_RAW="${HOME}/Documents/.DanceVideos/raw"
|
||||
@@ -42,19 +44,84 @@ import_downloaded_file
|
||||
|
||||
export DOSSIER_DESTINATION_MP4="$(dirname $DOSSIER_DESTINATION_RAW)/videos"
|
||||
|
||||
## DB utilities
|
||||
export DANCE_VIDEOS_DB="$(dirname $DOSSIER_DESTINATION_RAW)/db.sqlite"
|
||||
export MODEL_DIR=$(realpath $SCRIPTS_DIR/../model)
|
||||
|
||||
cat $MODEL_DIR/videos.sql | sqlite3 $DANCE_VIDEOS_DB
|
||||
|
||||
source $MODEL_DIR/register_video.sh
|
||||
# register_video \
|
||||
# file_name raw_file duration mp4_file \
|
||||
# rotated_file thumbnail_file record_datetime day_of_week \
|
||||
# lat long address
|
||||
|
||||
source $SCRIPTS_DIR/metadata.sh
|
||||
source $SCRIPTS_DIR/rotation.sh
|
||||
|
||||
mp4_dir() {
|
||||
local raw="$1" weekday="$2" address="${3:-wherever}"
|
||||
address=$(sed 's/[^a-zA-Z0-9]/_/g' <<< $(sanitize_name "$address") | tr -s '_' '_')
|
||||
local dir=$DOSSIER_DESTINATION_MP4
|
||||
dir=$dir/$(date -jf "%Y-%m-%dT%H:%M:%S" "$(get_creation_time $raw)" +%Y%m%d_%H%M%S)
|
||||
dir=${dir}_${weekday}_${address}
|
||||
mkdir -p $dir
|
||||
echo $dir
|
||||
}
|
||||
export -f mp4_dir
|
||||
|
||||
write_thumbnail() {
|
||||
set -x
|
||||
local raw="$1"
|
||||
local thumbnail="$2"
|
||||
ffmpeg -ss 00:00:03 -i $raw -vframes 1 $thumbnail 2>/dev/null
|
||||
set +x
|
||||
}
|
||||
export -f write_thumbnail
|
||||
|
||||
write_mp4() {
|
||||
local src="$1"
|
||||
local dst="$2"
|
||||
[ -e "$dst" ] || reencode_with_rotation $src $dst
|
||||
}
|
||||
export -f write_mp4
|
||||
|
||||
process_raw_file() {
|
||||
local raw="$1"
|
||||
|
||||
local ct weekday duration lat lon address
|
||||
IFS="|" read -r ct weekday duration lat lon address <<<"$(process_video "$raw")"
|
||||
|
||||
local dir=$(mp4_dir $raw $weekday "$address")
|
||||
|
||||
local thumbnail=${dir}/thumbnail.jpg
|
||||
$(write_thumbnail $raw $thumbnail)
|
||||
|
||||
local mp4=${dir}/video.mp4
|
||||
$(write_mp4 $raw $mp4)
|
||||
|
||||
register_video $(basename $raw) "$raw" "$duration" "$mp4" \
|
||||
"$mp4" "$thumbnail" "'$ct'" "$weekday" \
|
||||
"$lat" "$lon" "$address"
|
||||
}
|
||||
export -f process_raw_file
|
||||
|
||||
iphone_video() {
|
||||
local raw="$1"
|
||||
echo iphone $raw
|
||||
process_raw_file $raw
|
||||
}
|
||||
export -f iphone_video
|
||||
screen_video() {
|
||||
local raw="$1"
|
||||
echo screen $raw
|
||||
process_raw_file $raw
|
||||
}
|
||||
export -f screen_video
|
||||
whatsapp_video() {
|
||||
local raw="$1"
|
||||
echo whatsapp $raw
|
||||
process_raw_file $raw
|
||||
}
|
||||
export -f whatsapp_video
|
||||
|
||||
|
||||
Reference in New Issue
Block a user