parent
98b9a03c42
commit
0be58cabb4
|
@ -0,0 +1,100 @@
|
|||
#!/bin/env bash
|
||||
|
||||
set -e
|
||||
|
||||
LONG_ARGUMENTS=(
|
||||
"output:"
|
||||
"debug"
|
||||
"help"
|
||||
)
|
||||
SHORT_ARGUMENTS=(
|
||||
"o:"
|
||||
"d"
|
||||
"h"
|
||||
)
|
||||
OPTS=$(getopt \
|
||||
--longoptions "$(printf "%s," "${LONG_ARGUMENTS[@]}")" \
|
||||
--options "$(printf "%s," "${SHORT_ARGUMENTS[@]}")" \
|
||||
--name "$(basename "${0}")" \
|
||||
-- "${@}"
|
||||
)
|
||||
|
||||
eval set -- "${OPTS}"
|
||||
|
||||
### Utility functions ###
|
||||
print_help() {
|
||||
echo "$(basename "${0}") [FLAGS...] FOLDER
|
||||
|
||||
<description>
|
||||
|
||||
Parameters:
|
||||
-d --debug Enable debug output
|
||||
-h --help This very help
|
||||
"
|
||||
}
|
||||
|
||||
err() {
|
||||
echo "${@}" >&2
|
||||
}
|
||||
|
||||
create_demuxer_file() {
|
||||
local demuxer_file="$(mktemp)"
|
||||
local entry_template=<<EOF
|
||||
file '${FILE_PATH}'
|
||||
duration ${DURATION_SECOND}
|
||||
EOF
|
||||
local last_entry_template=<<EOF
|
||||
file '${FILE_PATH}'
|
||||
duration ${DURATION_SECOND}
|
||||
file '${FILE_PATH}'
|
||||
EOF
|
||||
local last_img=""
|
||||
for img_to_demux in "${INPUT_FOLDER}"/*.jpeg "${INPUT_FOLDER}"/*.jpg "${INPUT_FOLDER}"/*.png
|
||||
do
|
||||
last_img="${img_to_demux}"
|
||||
local random_duration=$((${RANDOM}%${MAX_PHOTO_DURATION_SECONDS}))
|
||||
echo <<EOF >> "${demuxer_file}"
|
||||
file '${img_to_demux}'
|
||||
duration ${random_duration}
|
||||
EOF
|
||||
done
|
||||
|
||||
echo "file '${last_img}'" >> "${demuxer_file}"
|
||||
}
|
||||
########################
|
||||
|
||||
|
||||
### Config ###
|
||||
VIDEO_TITLE="output"
|
||||
MAX_PHOTO_DURATION_SECONDS=10
|
||||
##############
|
||||
|
||||
|
||||
while [[ $# -gt 0 ]]; do
|
||||
case "${1}" in
|
||||
--debug)
|
||||
set -x
|
||||
shift 1
|
||||
;;
|
||||
-d)
|
||||
set -x
|
||||
shift 1
|
||||
;;
|
||||
--help)
|
||||
print_help
|
||||
exit 0
|
||||
;;
|
||||
-h)
|
||||
print_help
|
||||
exit 0
|
||||
;;
|
||||
--)
|
||||
shift 1
|
||||
break
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
INPUT_FOLDER="${1}"
|
||||
shift 1
|
||||
|
Loading…
Reference in New Issue