Oct 13, 2023
Obtenha exportações extremamente rápidas no Davinci Resolve com os codificadores duplos da série Nvidia RTX 4000 de Nick Lear
Exporte até 6 vezes mais rápido alterando uma configuração! Tendo feito recentemente um
Exporte até 6 vezes mais rápido alterando uma configuração!
Tendo feito recentemente um conjunto completo de testes da minha nova placa gráfica Nvidia RTX 4080 em uma variedade de NLEs e aplicativos gráficos intensivos, eu queria me aprofundar no novo Codificador Nvidia de 8ª geração (NVENC) que vem com a série 4000 que acelera o codificação de AV1, H.265 (HVEC) e H.264 (AVC). Eu queria descobrir como aproveitar ao máximo o hardware, especialmente os codificadores duplos - a Nvidia incluiu dois chips codificadores desta vez.
Costuma-se dizer: "Bom, rápido, barato - escolha dois" e se encaixa muito bem na pós-produção. A codificação tem uma relação semelhante entre qualidade, velocidade e tamanho do arquivo.
Por exemplo, se você corrigir o tamanho do arquivo corrigindo a taxa de bits, como é comum, poderá ter maior qualidade demorando mais para fazer a codificação. Se você corrigir a qualidade (usando, digamos, o controle deslizante de qualidade constante no Handbrake), poderá reduzir o tamanho do arquivo demorando mais tempo com a codificação. A maneira de fazer isso é escolher uma predefinição diferente - vista aqui para o codificador x264 no Handbrake, por exemplo.
Uma predefinição é definida da seguinte forma:
Uma predefinição é uma coleção de opções que fornecerá uma determinada velocidade de codificação para a taxa de compactação. Uma predefinição mais lenta fornecerá melhor compactação (a compactação é de qualidade por tamanho de arquivo). Isso significa que, por exemplo, se você segmentar um determinado tamanho de arquivo ou taxa de bits constante, obterá melhor qualidade com uma predefinição mais lenta. Da mesma forma, para uma codificação de qualidade constante, você simplesmente economizará a taxa de bits escolhendo uma predefinição (fonte) mais lenta.
A verdadeira questão, porém, é se vale a pena dedicar esse tempo extra para você. Algumas pessoas simplesmente escolherão a predefinição mais lenta sabendo que desejam a mais alta qualidade e estão preparadas para esperar por ela. Pessoalmente, eu sempre gostaria de saber se vale a pena fazer algo mais devagar – e se você esperar 10 minutos extras todos os dias por uma melhoria de 0,01% que ninguém jamais verá? Bem, acontece que é exatamente assim – não apenas para codificadores de software como x264, mas também para a nova série RTX 4000, da qual falarei mais tarde.
Há algum tempo, encontrei uma ótima pesquisa de Jan Ozer chamada "Escolhendo uma predefinição x264", que mostra claramente que você não ganha quase nada usando qualquer coisa mais lenta do que a predefinição "mais rápida" em termos de qualidade, mas custa um bom tempo se você fizer.
O codificador de hardware Nvidia (NVENC) também possui predefinições - oficialmente chamadas de P1 (mais rápido) a P7 (mais lento) que, de acordo com a Nvidia, "determinam, por exemplo, estrutura GOP, quadros B, codificação antecipada e assim por diante" - coisas que a maioria de nós não tenho tempo para entender, mas é a mesma coisa – gastar um pouco mais de tempo para obter um pouco mais de qualidade ou um arquivo menor.
E acontece que o tempo de exportação é muito diferente nessas predefinições. Fiz alguns testes no RTX 4080 exportando um clipe DNxHR UHD 25fps de 5 minutos para todas as três opções de saída (H.264, H.265 e AV1) em todas as 7 predefinições. Para H.265 e AV1,a predefinição mais rápida foi cerca de 6 vezes mais rápida que a mais lenta, indo de cerca de 50 FPS para cerca de 300 FPS. Para colocar isso em algum contexto,se você tiver uma linha do tempo de 30 minutos, a predefinição "Muito lento" levará mais de 15 minutos e a predefinição "Muito rápido" levará 2,5 minutos. Esse tipo de tempo aumenta se você estiver fazendo isso todos os dias. Para obter essa velocidade de exportação, o codec de entrada precisa ser ProRes ou DNxHR (ou codec mezanino equivalente) com efeitos já armazenados em cache/renderizados – caso contrário, o codificador não é alimentado rápido o suficiente.
Há também uma razão pela qual a velocidade de codificação aumenta acentuadamente para as duas predefinições mais rápidas – é aqui que os codificadores duplos entram em ação. Aparentemente, sob certas condições, os novos cartões podem dividir um vídeo em duas metades e passar cada metade para cada codificador e depois recombiná-los. Para usar os codificadores duplos na nova série RTX 4000, você precisa que o seguinte seja verdadeiro:
Também só consegui isso no Davinci Resolve (não no Premiere Pro ou no Shutter Encoder, por exemplo). É interessante que a codificação H.265 seja agora mais rápida do que a H.264 – acho que é hora de começar a usá-la, caso ainda não esteja.