Nota: Esta informação é baseada na codificação FFmpeg Wiki na VP9 . Consulte esse artigo para obter mais informações - ele será mantido e estendido continuamente. Para obter os melhores resultados, você deve usar o uma versão recente do ffmpeg
por download a partir do seu site (uma compilação estático será suficiente, que contém o libvps-vp9
encoder).
Taxa de bits variável
A codificação VBR oferece a melhor qualidade geral, pois o codificador pode escolher livremente quantos bits atribuir a um quadro. Escolha este modo, a menos que esteja preparando vídeos para streaming com taxa de bits constante.
Opção 1: Codificação de qualidade constante
Normalmente, se você não deseja segmentar um tamanho de arquivo específico, deixe a taxa de bits variar livremente, pois isso levará à mais alta qualidade. Você pode fazer isso definindo a taxa de bits como 0 e o fator de taxa constante ( CRF ) no nível de qualidade desejado:
ffmpeg -i input.mp4 -c:v libvpx-vp9 -crf 30 -b:v 0 output.webm
O valor do CRF pode ser de 0 a 63. Valores mais baixos significam melhor qualidade. Os valores recomendados variam de 15 a 35, sendo 31 recomendados para vídeo HD 1080p. O Google tem um guia com mais informações sobre isso .
Opção 2: codificação de duas passagens com uma taxa de bits de destino
Se você deseja que seu arquivo tenha uma taxa de bits ou tamanho de arquivo específico, é necessário especificar a taxa e usar a codificação de duas passagens (que garantirá uma distribuição de qualidade ideal). Aqui estamos escolhendo 5 MBit / s, o que deve ser suficiente para conteúdo em 1080p.
ffmpeg -i input.mp4 -c:v libvpx-vp9 -b:v 5M -pass 1 -f webm /dev/null && \
ffmpeg -i input.mp4 -c:v libvpx-vp9 -b:v 5M -pass 2 output.webm
Os usuários do Windows precisam usar em NUL
vez de /dev/null
e em ^
vez de \
.
Taxa de bits constante
Primeiro, a libvpx oferece modos de codificação de taxa de bits constante e taxa de bits variável . A taxa de bits constante deve ser evitada sempre que possível (a menos que você direcione um tamanho de arquivo específico ou cenário de streaming), pois a qualidade média por tamanho de arquivo será pior. Ainda assim, você pode tentar definir uma taxa de bits constante se nada mais funcionar para você, por exemplo, com 1 MBit / s:
ffmpeg -i input.mp4 -c:v libvpx-vp9 -minrate 5M -maxrate 5M -b:v 5M output.webm
Observe a saída e aumente ou diminua a taxa de bits ao seu gosto (ou restrições de tamanho de arquivo). Por exemplo, você pode usar 500K
or 5M
, etc.
Você tem que especificar -minrate
, -maxrate
e a taxa de bits -b:v
para que o codificador para usar CBR. Todos eles precisam ter o mesmo valor - caso contrário, ele escolherá uma taxa de bits de destino diferente e fará a codificação VBR, mas com qualidade ruim.
Áudio
O codec de áudio atual escolhido para a codificação VP9 é o Opus. O FFmpeg escolherá o codificador necessário e suas opções por padrão. Se você deseja definir explicitamente -c:a libopus
, também pode fazer isso. Consulte a libopus
documentação para mais opções.