Pocket script para George Lucas // correção de cores a sério

george_lucas

Ano novo, cabeça um pouco mais fresca. Tudo está mais ou menos em seu devido lugar – umas coisas mais, outras menos, mas fato é que é hora de voltar a trabalhar no Floresta.

Para quem está chegando agora, no ano passado fizemos um happening de lançamento no Serralheria, com o Mamma Cadela fazendo a trilha sonora ao vivo. Depois, em dezembro, eles gravaram a trilha oficial na casa do Ismael e passaram o áudio para o Renato.

Nesse meio tempo, comecei a me preparar para o que deve ser o próximo projeto. Vou fazer uma breve digressão mas volto ao ponto. Depois do Floresta, fica difícil voltar atrás e ceder em algumas demarcações que fizemos – gravar em RAW, fazer filme para cinema, a resolução alta acima do 2k… Ou seja, para a próxima empreitada, o mínimo que se espera é que avancemos mais por este mesmo território. E parte disso é estabelecer um sistema de correção de cores plausível em linux.

Para o Floresta, nos baseamos muito na capacidade de usarmos as ferramentas existentes e interligá-las por scripts para chegar a este resultado. O processo pode ser melhorado, mas ele possui uma limitação intrínsica que vem do modo como foi pensado. A qualidade de imagem com os TIFs finais a 8 bits ficou excelente; o processo de achar a tonalidade certa usando o UFRaw a partir de frames stills é um pouco sofrido mas dá para ser feito; e o processo inteiro é incrivelmente veloz, o que é um ponto bastante positivo se considerarmos o tamanho da bronca. Porém, nada mudará o fato de que trabalhar com frames parados nos impede de fazer máscaras animadas usando os arquivos RAW como base.

Certo, não se percam, ainda estamos na digressão, e ela é importante. Neste vídeo aqui, este técnico colorista apresenta o DaVinci Resolve, uma ferramenta fechada e cara para colorização de cinema. Não por acaso, a Blackmagic acabou desenvolvendo a sua própria câmera 2.5k de cinema e dá a licença do software junto com ela. No Apertus, estamos discutindo duas coisas principais no momento – a criação da Axiom Alpha, que é o protótipo da Axiom, e o desenvolvimento do tal “Open Cine” (nome provisório – meu desejo manifesto é trazer esse desenvolvimento para o Brasil). O “Open Cine” seria o DaVinci Resolve versão código aberto.

Bom, vendo o link do vídeo que mostra o programa, qual não foi a minha surpresa em perceber que o Blender já faz basicamente tudo o que o DaVinci Resolve faz! Com o desenvolvimento feito junto do Tears of Steel, as máscaras estão muito fáceis de fazer (usamos a rodo no Floresta), há o câmera tracking e os compositing nodes – exatamente as três ferramentas de base dos caras!

A digressão está quase acabando. Já falei por aqui do projeto Kinoraw, que são uns membros do Apertus baseados na Espanha e que estão desenvolvendo uma cadeia de edição baseada no Blender. Digamos que o Floresta e o Kinoraw são projetos praticamente irmãos e se complementam – nosso workflow se baseia no Cinelerra e na velocidade; o deles em fazer algo que não seja tão gambiarra. A ideia deles é converter os negativos digitais (DNGs) em arquivos de imagem HDR, no formato livre OpenEXR. Sabe quem abriu esse código? A Industrial Light and Magic. Sim, ela mesma, a do George Lucas.

Como falei ao começo do post, é preciso voltar a trabalhar no nosso querido filme. Como também mencionei, as imagens ficaram incríveis. O que deixei de falar é que a abrangência de contraste (o grande motivo para se usar RAW, no fim das contas) merece uma revisão a sério agora, revisão esta que só pode ser feita pelo Blender e pelo método do Kinoraw, porque as imagens em HDR juntas com as funções de máscara, nodes e camera tracking vão permitir realizar um tratamento de cores a sério. E que era o motivo da escolha por uma câmera que gravasse em RAW. Fim da digressão.

Bom, eu havia tentado testar os scripts em python do Carlos Padial como uma alternativa para o Floresta, mas havia empacado. Hoje, sentei com calma e descobri o ponto que não estava funcionando. Havíamos mencionado que o grande lance em usar linux é adaptar as coisas ao nosso gosto, na hora. E foi exatamente isso que fiz. Achei a parte que interessava no trabalho do Carlos e fiz rapidinho um script em bash que faz a conversão dos DNGs em OpenEXR – e de quebra resolvendo o motivo pelo qual o script do Carlos estava empacando. Aparentemente, a conversão pelo qtpfsgui não aceita mais arquivos do que o número de núcleos de processamento, no meu caso, 8 por vez. Então, em vez de jogar tudo no qtpfsgui, fiz um loop usando ‘while’ que joga os 8 arquivos por vez. =)

Enquanto escrevo, deixei convertendo uma sequência de 3.679 frames, ou cerca de 2m30s de vídeo. Ele levou 36min para fazê-la, ou 12x o tempo-real de filme. Uma conversão lenta, mas que valerá a pena. E, como eu dizia, para o próximo projeto, é melhorar este processo usando mais máquinas e fazendo uma render farm com o Blender, botando todo um ambiente de trabalho com diversos computadores para processar a mesma coisa. Um passo à frente, e não estaremos mais no mesmo lugar. =)

Aí vai o código (em imagem, porque em texto a identação ficou uma porcaria – a versão em texto está no fórum do Apertus):

pocket_script_for_george_lucas

E, como não podia deixar de ser, a música dos últimos dias. Ainda mais porque eu tenho me sentido igualzinho a esse cara aí.

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s