summaryrefslogtreecommitdiff
path: root/metrics.sh
blob: af29b8ad13641b0de36825c7d40dd418956e63d6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
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 -