summaryrefslogtreecommitdiff
path: root/metrics.sh
diff options
context:
space:
mode:
Diffstat (limited to 'metrics.sh')
-rwxr-xr-xmetrics.sh32
1 files changed, 32 insertions, 0 deletions
diff --git a/metrics.sh b/metrics.sh
new file mode 100755
index 0000000000..af29b8ad13
--- /dev/null
+++ b/metrics.sh
@@ -0,0 +1,32 @@
+set -x
+
+if [ -z "$1" ]; then
+ echo "Usage: $0 <filename> [<encoder>] [<container>]"
+ exit 1
+fi
+
+ENCODER=${2:-h264}
+CONTAINER=${3:-matroska}
+
+METRICS_SCRIPT="$(dirname "$0")/metrics.script"
+[ -z "$METRICS_SCRIPT" ] && exit 1
+
+SCALE_SCRIPT="$(dirname "$0")/scale.script"
+[ -z "$SCALE_SCRIPT" ] && exit 1
+
+./ffmpeg_g -y -v verbose \
+ -i "$1" \
+ -/filter_complex "$SCALE_SCRIPT" \
+ -f "$CONTAINER" -c:v "$ENCODER" -enc_time_base demux -fps_mode vfr -map '[1080_for_enc]' out_1080p.mkv \
+ -f "$CONTAINER" -c:v "$ENCODER" -enc_time_base demux -fps_mode vfr -map '[720_for_enc]' out_720p.mkv \
+ -f "$CONTAINER" -c:v "$ENCODER" -enc_time_base demux -fps_mode vfr -map '[540_for_enc]' out_qhd.mkv \
+ -f null -c:v wrapped_avframe -enc_time_base demux -fps_mode vfr -map '[1080_for_metrics]' - \
+ -f null -c:v wrapped_avframe -enc_time_base demux -fps_mode vfr -map '[720_for_metrics]' - \
+ -f null -c:v wrapped_avframe -enc_time_base demux -fps_mode vfr -map '[540_for_metrics]' - \
+ -/filter_complex "$METRICS_SCRIPT" \
+ -dec 0:0 -dec 1:0 -dec 2:0 -dec 3:0 -dec 4:0 -dec 5:0 \
+ -map '[out_1080_1080]' -map '[out_1080_720]' -map '[out_1080_540]' \
+ -map '[out_720_1080]' -map '[out_720_720]' -map '[out_720_540]' \
+ -map '[out_540_1080]' -map '[out_540_720]' -map '[out_540_540]' \
+ -fps_mode vfr -enc_time_base filter \
+ -f null -