1

I've seen a number of 2-pass encode examples and they often use the -an switch on the first pass. This seems to be because on the first pass only video data is sampled for the log file used by the second pass to create a more efficient encoding. I noticed this switch again when answering this question and I'm wondering if there is any effect whatsoever in using this switch on the first pass of a 2 pass encode.

2

Any effect at all?

Yes. Using the -an switch causes ffmpeg to skip processing the audio stream.

Any positive benefit?

Yes there is a measurable decrease in processing time.. I took a 60 second mp4 source clip to use for testing and issued the command

time ffmpeg -i input.mp4 -y -an -c:v libvpx -quality best -b:v 225k -qmin 10 -qmax 42 -maxrate 300k -bufsize 1000k -threads 4 -pass 1 -f webm /dev/null

I obtained the following output:

frame= 1799 fps=174 q=0.0 Lsize=       0kB time=00:00:00.00 bitrate=N/A    
video:0kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown

Output file is empty, nothing was encoded

real    0m10.477s
user    0m12.972s
sys 0m0.188s

and then renamed the resulting log file an.log for comparison later.

I ran the command again without the -an switch as in

time ffmpeg -i input.mp4 -y -c:v libvpx -quality best -b:v 225k -qmin 10 -qmax 42 -maxrate 300k -bufsize 1000k -threads 4 -pass 1 -f webm /dev/null

The resulting output was:

frame= 1799 fps=165 q=0.0 Lsize=     505kB time=00:01:00.01 bitrate=  68.9kbits/s    
video:0kB audio:483kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 4.367473%

    real    0m11.088s
    user    0m13.792s
    sys 0m0.156s

So it looks like it's a little bit faster to run the first pass with the -an

Any change to the 1st pass log file? No. As expected the log files are identical as running diff on them proves.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.