macOS 14.5, FFmpeg 7.0.1. Para gravar a tela, se eu usar o código do Wiki, ou seja,
ffmpeg -f avfoundation -i 1 output.mp4
a taxa de quadros parece ser tão alta que quando pressiono q
para parar a gravação, a seguinte mensagem persiste até que meu MacBook Pro comece a emitir ruído no cooler: "Comando [q] recebido. Saindo."
Minha solução atual é adicionar -r
depois -i
:
ffmpeg -f avfoundation -i 1 -r 24 output.mp4
Mas ouvi dizer que uma solução mais correta é substituir -r
por -framerate
e colocar antes em vez de depois -i
:
ffmpeg -f avfoundation -framerate 24 -i 1 output.mp4
Observe que usei
-framerate
como uma opção de entrada em vez de-r 24
uma opção de saída, então estou dizendo ao avfoundation para gravar a 24fps em vez de gravar no fps padrão e então forçar o FFmpeg a descartar ou duplicar quadros para fornecer os 24 desejados.
Isso não funciona para mim atualmente e parece ser o mesmo que eu não uso -r
.
E então, qual é a maneira correta de corrigir o problema de “taxa de quadros muito alta” ao gravar a tela no macOS? Precisamos -r
ou em vez disso -framerate
, e onde colocá-lo, antes ou depois -i
?
Por precaução, aqui está o log de ffmpeg -f avfoundation -i 1 output.mp4 -v verbose
:
A partir do log, é aparente que inicialmente não foram recebidos quadros suficientes para que o ffmpeg detecte a taxa de quadros de entrada.
Tudo bem, você pode simplesmente usar quadros de entrada de passagem sem qualquer ajuste.