X-Git-Url: https://git.phdru.name/?a=blobdiff_plain;f=video%2Fff_encode;h=e5afed8d9f36ce4d4291f1af8187222a8c5a5968;hb=HEAD;hp=cb20f956c2e9d162fe3f71ba4dc6610cd28ac4f8;hpb=2afadf768679bd3a1592ecb34412d51a8d2c02b7;p=audio-cdr-video.git diff --git a/video/ff_encode b/video/ff_encode index cb20f95..e5afed8 100755 --- a/video/ff_encode +++ b/video/ff_encode @@ -1,7 +1,7 @@ #! /bin/sh if [ -z "$1" ]; then - echo "Usage: [vcodec=s] [vbitrate=n] [vscale=s] [acodec=s] [abitrate=n] [ascale=s] [pass=n] [input_opts=input_opts] [output_opts=output_opts] $0 input [output]" + echo "Usage: [vcodec=s] [vbitrate=n] [vscale=s] [acodec=s] [abitrate=n] [ascale=s] [pass=n] [input_opts=input_opts] [output_opts=output_opts] [output=output.avi] [crop=w:h:x:y] $0 input1 [input2...]" exit 1 fi @@ -29,13 +29,17 @@ if [ -z "$pass" ]; then pass=1 fi -input="$1" -shift +if [ -n "$crop" ]; then + crop="-vf crop=$crop" +fi -if [ -n "$1" ]; then - output="$1" - shift +if [ $# -eq 1 ]; then + input="$1" else + input=concat:"`echo \"$@\" | sed 's/ /|/g'`" +fi + +if [ -z "$output" ]; then output=output.avi fi @@ -67,11 +71,11 @@ else fi if [ "$pass" -eq 1 ]; then - exec ffmpeg $input_opts -i "$input" -c:v "$vcodec" $vopts $vscale -b:v "$vbitrate" -c:a "$acodec" -b:a "$abitrate" $output_opts "$output" + exec ffmpeg -threads auto $input_opts -i "$input" -c:v "$vcodec" $vopts $vscale -b:v "$vbitrate" -c:a "$acodec" -b:a "$abitrate" $output_opts $crop "$output" elif [ "$pass" -eq 2 ]; then - ffmpeg -pass 1 $input_opts -i "$input" -c:v "$vcodec" $vopts $vscale -b:v "$vbitrate" -an -f rawvideo -y /dev/null $output_opts && - exec ffmpeg -pass 2 $input_opts -i "$input" -c:v "$vcodec" $vopts $vscale -b:v "$vbitrate" -c:a "$acodec" -b:a "$abitrate" $output_opts "$output" + ffmpeg -pass 1 -threads auto $input_opts -i "$input" -c:v "$vcodec" $vopts $vscale -b:v "$vbitrate" -an -f rawvideo -y /dev/null $output_opts $crop && + exec ffmpeg -pass 2 -threads auto $input_opts -i "$input" -c:v "$vcodec" $vopts $vscale -b:v "$vbitrate" -c:a "$acodec" -b:a "$abitrate" $output_opts $crop "$output" else echo "Can only do 1 or 2 passes." >&2