From d96b6693179f508c7c245ab3ad2dd6db6539e2b1 Mon Sep 17 00:00:00 2001 From: Oleg Broytman Date: Tue, 4 Nov 2014 03:17:13 +0300 Subject: [PATCH] Do high-quality MPEG-4 encoding --- video/ff_encode | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/video/ff_encode b/video/ff_encode index ccf9165..990e5c3 100755 --- a/video/ff_encode +++ b/video/ff_encode @@ -32,12 +32,17 @@ fi input="$1" shift +if [ "$vcodec" = mpeg4-hq ]; then + vcodec=mpeg4 + vopts="-mbd rd -flags +mv4+aic -trellis 2 -cmp 2 -subcmp 2" +fi + if [ "$pass" -eq 1 ]; then - exec ffmpeg $input_opts -i "$input" -f avi -c:v "$vcodec" $vscale -b:v "$vbitrate" -g 300 -bf 2 -c:a "$acodec" -b:a "$abitrate" $output_opts output.avi + exec ffmpeg $input_opts -i "$input" -f avi -c:v "$vcodec" $vopts $vscale -b:v "$vbitrate" -g 300 -bf 2 -c:a "$acodec" -b:a "$abitrate" $output_opts output.avi elif [ "$pass" -eq 2 ]; then - ffmpeg -pass 1 $input_opts -i "$input" -f avi -c:v "$vcodec" $vscale -b:v "$vbitrate" -g 300 -bf 2 -an -f rawvideo -y /dev/null $output_opts && - exec ffmpeg -pass 2 $input_opts -i "$input" -f avi -c:v "$vcodec" $vscale -b:v "$vbitrate" -g 300 -bf 2 -c:a "$acodec" -b:a "$abitrate" $output_opts output.avi + ffmpeg -pass 1 $input_opts -i "$input" -f avi -c:v "$vcodec" $vopts $vscale -b:v "$vbitrate" -g 300 -bf 2 -an -f rawvideo -y /dev/null $output_opts && + exec ffmpeg -pass 2 $input_opts -i "$input" -f avi -c:v "$vcodec" $vopts $vscale -b:v "$vbitrate" -g 300 -bf 2 -c:a "$acodec" -b:a "$abitrate" $output_opts output.avi else echo "Can only do 1 or 2 passes." >&2 -- 2.39.5