From 979ce211c872b79106eae331ba14da0d128b94c9 Mon Sep 17 00:00:00 2001 From: yosh Date: Sun, 14 Apr 2024 00:29:29 -0400 Subject: [PATCH] coalesce ffmpeg and imgtools into one script --- ffmoovcheck | 2 -- ffvmaf | 19 -------------- ffwrap.sh | 41 +++++++++++++++++++++++++++++ imgtools.sh | 75 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 116 insertions(+), 21 deletions(-) delete mode 100755 ffmoovcheck delete mode 100755 ffvmaf create mode 100755 ffwrap.sh create mode 100755 imgtools.sh diff --git a/ffmoovcheck b/ffmoovcheck deleted file mode 100755 index 8d9b840..0000000 --- a/ffmoovcheck +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/sh -ffprobe -v trace -i "$1" 2>&1 | rg -e type:\'mdat\' -e type:\'moov\' diff --git a/ffvmaf b/ffvmaf deleted file mode 100755 index 863e0e4..0000000 --- a/ffvmaf +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/sh -set -ef - -while getopts :s:t:T: OPT; do - case "$OPT" in - s) start="$OPTARG" ;; - t) time="$OPTARG" ;; - T) to="$OPTARG" ;; - *) : ; - esac -done -shift $((OPTIND - 1)) - -exec ffmpeg ${start:+-ss "$start"} ${to:+-to "$to"} \ - -i "$1" -i "$2" ${time:+-t "$time"} \ - -lavfi "[0:v] setpts=PTS-STARTPTS [ref]; \ - [1:v] setpts=PTS-STARTPTS [dis]; \ - [dis][ref] libvmaf=log_fmt=xml:log_path=/dev/stdout:n_threads=$(nproc)" \ - -f null - \ diff --git a/ffwrap.sh b/ffwrap.sh new file mode 100755 index 0000000..c44eae4 --- /dev/null +++ b/ffwrap.sh @@ -0,0 +1,41 @@ +#!/bin/sh +set -euf + +errecho() { echo "$*" >&2 ; } + +vmaf() { + while getopts :s:t:T: OPT; do + case "$OPT" in + s) start="$OPTARG" ;; + t) time="$OPTARG" ;; + T) to="$OPTARG" ;; + *) : ; + esac + done + shift $((OPTIND - 1)) + + exec ffmpeg ${start:+-ss "$start"} ${to:+-to "$to"} \ + -i "$1" -i "$2" ${time:+-t "$time"} \ + -lavfi "[0:v] setpts=PTS-STARTPTS [ref]; \ + [1:v] setpts=PTS-STARTPTS [dis]; \ + [dis][ref] libvmaf=log_fmt=xml:log_path=/dev/stdout:n_threads=$(nproc)" \ + -f null - \ +} + +moovcheck() { + ffprobe -v trace -i "$1" 2>&1 | grep -F -e "type:'mdat'" -e "type:'moov'" +} + +cmd=$1; shift +case "$cmd" in + vmaf) vmaf "$@" ;; + moovcheck) moovcheck "$@" ;; + help|-h) cat >&2 <<-EOF + available commands: + * vmaf $1 $2 - get vmaf of $1 (ref) to $2 (distorted) + options: -s -t