#! /usr/bin/env bash

# compress video to small size
# based on https://gist.github.com/kuntau/a7cbe28df82380fd3467
# note: this is slow. about 0.1x to 0.5x
# note: here we do no resizing/scaling. example: 720p input -> 720p output

input="input.mp4"
output="output.mp4"

ffmpeg \
-i "$input" \
-c:v libx264 -crf 27 \
-x264-params cabac=1:ref=5:analyse=0x133:me=umh:subme=9:chroma-me=1:deadzone-inter=21:\
deadzone-intra=11:b-adapt=2:rc-lookahead=60:vbv-maxrate=10000:vbv-bufsize=10000:qpmax=69:\
bframes=5:b-adapt=2:direct=auto:crf-max=51:weightp=2:merange=24:chroma-qp-offset=-1:\
sync-lookahead=2:psy-rd=1.00,0.15:trellis=2:min-keyint=23:partitions=all \
-c:a aac -ar 44100 -b:a 128k \
-map 0 \
"$output"
