ffmpeg redimensiona o vídeo, mas mantém a qualidade do áudio

0
ffmpeg -i input.mp4 -vf scale=640x360,setdar=16:9 -c:v libx264 -preset veryslow -profile:v main -crf 18 -b:a 189k output.mp4

Meu arquivo de vídeo de entrada: res: 720p e bitrate de áudio: 189kbps. Ouvi dizer que escolher a taxa de bits de áudio como a fonte faz com que a qualidade de áudio do arquivo de saída seja pior.

Minha pergunta é como manter a qualidade de áudio do arquivo de vídeo?

Minha sub pergunta é que o veryslow predefinido afeta qualquer coisa no áudio?

    
por user71169 07.11.2014 / 06:10

1 resposta

2

Cópia em fluxo (re-mux)

Você pode copiar o fluxo em vez de codificar. Pense nisso como copiar e colar. Seu comando seria então:

ffmpeg -i input.mp4 -vf scale=640x360,setdar=16:9 -c:v libx264 \
-preset veryslow -profile:v main -crf 18 -c:a copy output.mp4

Como o áudio está sendo copiado, não haverá perda de qualidade e será rápido porque não há codificação.

Codificar

Às vezes, você não consegue transmitir a cópia porque o formato de saída pode não suportar o formato da entrada, portanto, a codificação é necessária.

Como você está enviando para o MP4, mencionarei apenas a codificação de áudio AAC. ffmpeg pode suportar vários codificadores de áudio AAC, mas apenas dois são dignos de menção:

libfdk_aac

Este é o melhor codificador suportado por ffmpeg , mas sua licença não é compatível com o GPL, resultando em muito poucas compilações (se houver) distribuídas com suporte para este codificador. No entanto, você pode seguir o guia para compilar ffmpeg com suporte para este codificador.

ffmpeg -i input -c:a libfdk_aac -vbr 5 output.mp4

aac

O codificador FFmpeg AAC nativo está disponível em todas as compilações. É considerado experimental, mas com bits suficientes, deve soar bem na maioria dos casos.

ffmpeg -i input -c:a aac -strict experimental -b:a 192k output.mp4

Veja também

por 07.11.2014 / 08:09