A chave -an acelera a primeira passagem de um codificador ffmpeg de 2 passagens?

1

Eu vi vários exemplos de codificação de duas passagens e eles geralmente usam o switch -an na primeira passagem. Isso parece ser porque, na primeira passagem, apenas dados de vídeo são amostrados para o arquivo de log usado pela segunda passagem para criar uma codificação mais eficiente. Eu notei essa opção novamente ao responder esta questão e eu estou querendo saber se existe algum efeito em usar esta opção na primeira passagem de uma codificação de 2 passagens.

    
por Elder Geek 09.02.2017 / 21:24

1 resposta

2

Algum efeito?

Sim. Usar o switch -an faz com que o ffmpeg pule o processamento do fluxo de áudio.

Qualquer benefício positivo?

Sim, há uma redução mensurável no tempo de processamento. Eu peguei um clipe fonte de 60 segundos do mp4 para testar e emiti o comando

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

Eu obtive a seguinte saída:

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

O arquivo de saída está vazio, nada foi codificado

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

e depois renomeou o arquivo de log resultante an.log para comparação posterior.

Eu executei o comando novamente sem o parâmetro -an, como em

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

A saída resultante foi:

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

Então parece que é um pouco mais rápido executar o primeiro passo com o -an

Alguma alteração no arquivo de registro da primeira passagem? Não. Como esperado, os arquivos de log são idênticos, pois a execução de diff sobre eles prova.

    
por Elder Geek 09.02.2017 / 21:24