diff options
Diffstat (limited to 'metrics.sh')
-rwxr-xr-x | metrics.sh | 32 |
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 - |