Applying multiple filters at once in ffmpeg
I have a video that I am trying to apply two filters to. I want to rotate the video 90 degrees clockwise followed by scaling it down from 1280 x 720 to 720 x 576 with letterboxing.
I also want to rotate the input file, then put the output file in a temporary folder for the other filter to use the file in the temporary folder to scale and pad, then overwrite it.
Below are the commands I am currently trying:
-i "<FullSourceFileName>" -vf "transpose=1" -r 30 -qscale 0 -acodec copy -f avi "C:\FfmpegTemp\Temp.avi"
And:
-i "C:\FfmpegTemp\Temp.avi" -filter:v "scale=1280*min(720/1280\,576/720):720*min(720/1280\,576/720), pad=720:576:(720-1280*min(720/1280\,576/720))/2:(576-720*min(720/1280\,576/720))/2" -vcodec rawvideo -y "<OutputFileName>.avi"
Solution 1:
You already use two filters in your second example. They are separated by a comma.
Adding all three into the -vf
parameter it looks like this:
-i "<FullSourceFileName>" -vf "transpose=1, scale=1280*min(720/1280\,576/720):720*min(720/1280\,576/720), pad=720:576:(720-1280*min(720/1280\,576/720))/2:(576-720*min(720/1280\,576/720))/2" -r 30 -qscale 0 -acodec copy -f avi -vcodec rawvideo -y "<OutputFileName>.avi"