ffmpeg fator de taxa constante para diferentes qualidades de webm

0

Então eu me deparei com a seguinte pergunta Qual é o caminho certo para calcular a qualidade 1080p 720p 360p 240p? Mas isso é para arquivos MP4 H264.

Para arquivos MP4, defino o fator de taxa constante -crf como 18 para todos os tipos de qualidade.

Mas no webm, o que deve ser definido para os vários tipos de qualidade. 360 p 480p 720p 1080p

Esta é a minha linha de comando atual do webm.

"C:/server/ffmpeg/bin/ffmpeg.exe" -y -i Z:/server/websites/ps/public_www/media/com_hwdmediashare/files/84/1a/33/f941f37ad1ee7645bdd1d9773a53f286.mpg -s 528x360   -vcodec libvpx -g 120 -rc_lookahead 16   -qmax 51 -qmin 11  -vb 2M  -b 500k -bufsize 1000k -pass 1 -an -f webm Z:/server/websites/ps/public_www/media/com_hwdmediashare/files/84/1a/33/24bbec26dd3a2dc0809d996ea816bfbe.webm 2>&1

"C:/server/ffmpeg/bin/ffmpeg.exe" -y -i Z:/server/websites/ps/public_www/media/com_hwdmediashare/files/84/1a/33/f941f37ad1ee7645bdd1d9773a53f286.mpg -s 528x360   -vcodec libvpx -g 120 -rc_lookahead 16   -qmax 51 -qmin 11  -vb 2M -maxrate 24M -minrate 100k   -b 500k -bufsize 1000k -pass 2 -acodec libopus -ab 90k -f webm Z:/server/websites/ps/public_www/media/com_hwdmediashare/files/84/1a/33/24bbec26dd3a2dc0809d996ea816bfbe.webm 2>&1

Eu não tenho um conjunto crf, mas as saídas de vídeo, independentemente do tamanho, parecem ligeiramente em bloco e pixeladas, então acho que devo definir uma.

    
por C0nw0nk 04.01.2015 / 12:12

1 resposta

2

Se a saída parece muito blocky ou pixelizada, isso é devido a uma taxa de bits muito baixa. Vejo que você define 500 kBit / s, mas isso é muito baixo para alcançar uma qualidade razoável com vídeos em 720p ou acima.

O Guia de codificação do VP8 lista algumas opções que você tem ao usar o codificador libvpx. Eu concordo com você que usar um fator de taxa constante é a abordagem correta para alcançar o mesmo nível de qualidade visual, independentemente da resolução do vídeo.

Você estava usando o CRF 18 para o codificador x264, que é considerado de alta qualidade (talvez não seja visualmente sem perdas, mas a perda de qualidade não deve ser perceptível). Para libvpx, o intervalo de CRF é um pouco diferente. 10 é um bom padrão (seria 23 para x264) e, portanto, eu provavelmente recomendaria usar algo como CRF 6-7 para libvpx.

Observe que o parâmetro -qmin deve ser definido como igual ou inferior ao CRF que você está escolhendo. Caso contrário, não pode codificar.

Lembre-se de que a taxa de bits resultante tem seu limite superior definido no que você especificar com -b:v . Portanto, se o seu CRF estiver muito baixo e sua taxa de bits estiver definida como -b:v 2M , sua taxa de bits final será de 2 MBit / s.

Mas, na verdade, não há nada melhor do que apenas experimentar valores diferentes. Tudo depende da aparência da sua entrada ou do aplicativo de destino dos vídeos. Se você está apenas fazendo algum streaming na Web, não precisa de vídeo de alta qualidade. Se você quiser armazenamento offline, então um CRF mais baixo seria, naturalmente, melhor.

    
por 04.01.2015 / 17:16