X-Git-Url: https://zdv2.bktei.com/gitweb/BK-2020-03.git/blobdiff_plain/2920ba112e388bacf46e94e3d6df0d0ece0c254f..refs/heads/develop:/user/mp4_make_small.sh?ds=sidebyside diff --git a/user/mp4_make_small.sh b/user/mp4_make_small.sh index 75346f4..fbe79e2 100755 --- a/user/mp4_make_small.sh +++ b/user/mp4_make_small.sh @@ -5,21 +5,22 @@ # arg2 dir output dir (optional) # Output: dir ./out/ # file ./out/[files]_small.mp4 -# Version: 0.0.1 +# Version: 0.0.3 # Depends: GNU parallel 20231122, ffmpeg 6.1.1 # Ref/Attrb: declare -g dir_in dir_out; check_input() { dir_in="$1"; + if [[ ! -d "$dir_in" ]]; then echo "FATAL:Not a dir:$dir_in" 1>&2; exit 1; fi; if [[ $# -le 0 ]]; then echo "FATAL:Insufficient args:$#" 1>&2; exit 1; fi; if [[ $# -eq 2 ]]; then dir_out="$2"; else - dir_out="./out_small"; + dir_out="${dir_in}/out_small"; fi; export dir_out; - if [[ ! -d "$dir_in" ]]; then echo "FATAL:Not a dir:$dir_in" 1>&2; exit 1; fi; + mkdir -p "$dir_out"; declare -p dir_in dir_out; # debug }; @@ -31,16 +32,21 @@ job_ffmpeg() { path_in="$1"; path_out="$2"; file_in="$(basename "$path_in")"; - path_out=./"$dir_out"/"${file_in%.[mM][pP]4}"_small.mp4; + path_out="${dir_out}/${file_in%.[mM][pP]4}"_small.mp4; - declare -p path_in path_out file_in dir_out path_out opt_scale; + declare -p path_in path_out file_in dir_out path_out; ffmpeg -nostdin -i "$path_in" -c:v libx264 -preset veryslow -crf 26 -pix_fmt yuv420p "$path_out"; }; export -f job_ffmpeg; main() { + SECONDS=0; + ti="$(date -Is)"; check_input "$@"; convert_video; + tf="$(date -Is)"; + printf "%s\n" "STATUS:Finished in $SECONDS seconds with status $?."; + printf "%s\n%s\n%s\n" "STATUS:Job start and end times:" "$ti" "$f"; }; main "$@";