]> git.phdru.name Git - audio-cdr-video.git/blobdiff - video/ff_encode
Add `cat-playlists`
[audio-cdr-video.git] / video / ff_encode
index cb20f956c2e9d162fe3f71ba4dc6610cd28ac4f8..e5afed8d9f36ce4d4291f1af8187222a8c5a5968 100755 (executable)
@@ -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