#!/bin/bash -e

. mp4tools

X264OPTS='partitions=all:frameref=3:me=umh:qcomp=0.8:subq=7:me_range=32:mixed_refs:trellis=2:level_idc=13'
TWIDTH=480
THEIGHT=272
VB=${3:-200}

[ "$#" -lt 1 ] && exec echo "usage: $0 <inputfile> [outfile] [bitrate]"

OUTFILE="${1%.*}.mp4"
[ "$#" -gt 1 ] && OUTFILE="$2"

analyse "$1"
scaleres $WIDTH $HEIGHT $TWIDTH $THEIGHT

if [ $HAS_AUDIO ]
then
	audiorip "$1" /tmp/audio.$$.wav lavcresample=44100 || clean_tmp

	normalize /tmp/audio.$$.wav || clean_tmp

	if [ -z $HAS_VIDEO ]
	then
		AQ='0.2'
		green "Audio only file, increasing quality a bit"
	fi
	aacenc /tmp/audio.$$.wav /tmp/audio.$$.aac $AQ || clean_tmp
	rm -f /tmp/audio.$$.wav
fi

if [ $HAS_VIDEO ]
then
	h264enc "$1" /tmp/video.$$.264 $X264OPTS $VB || clean_tmp
fi

avmux "$OUTFILE" || clean_tmp

clean_tmp 0
