Extraindo quadros em resolução superior às configurações do projeto
Às vezes, você pode precisar trabalhar em seus projetos do Kdenlive com imagens estáticas extraídas da sua filmagem original. Agora isso é fácil, graças aos itens “Extrair quadro…” e “Extrair quadro para projeto…” no menu de contexto do monitor de clipes. Veja também o capítulo Extrair quadro para projeto.
Atenção
O Kdenlive atualmente extrai os quadros de acordo com as configurações do seu projeto. Isso significa que, se a sua filmagem original tiver uma resolução maior do que as configurações do seu projeto e até mesmo uma orientação diferente, o frame extraído estará no formato de quadro do projeto. Consequentemente, a qualidade do quadro extraído pode ser visivelmente diferente da mesma filmagem original quando usada lado a lado no seu projeto.
Perfil do projeto e imagens com diferenças de perfil
Em alguns projetos, você pode se deparar com imagens de origem que não correspondem em nada ao perfil do projeto. Por exemplo, ao trabalhar com certas gravações de tela, especialmente quando gravadas em tablets e smartphones. As gravações podem até estar em uma orientação diferente[1].
Para dar um exemplo concreto: gravar a tela de um tablet Android, digamos, um Samsung Galaxy Tab S3, gera imagens brutas com uma resolução de 1536x2048 pixels e proporção de 2:3 (devido à orientação retrato). Mesmo gravando na orientação paisagem, a proporção de 3:2 não é ideal. E você provavelmente vai querer gravar na resolução original para não perder essa qualidade posteriormente, durante a pós-produção, quando precisar da resolução inversa na gravação bruta.
Nota
A taxa de quadros exibida pelo Kdenlive para esta gravação (veja a captura de tela) está muito longe da realidade. Na verdade, esta gravação apresenta uma taxa de quadros bastante variável (não confundir com uma taxa de bits variável), e o Kdenlive/MLT/ffmpeg parecem estar fazendo estimativas aleatórias, talvez baseadas na faixa de cores da TV indicada para o fluxo de vídeo. Mas uma taxa de quadros de 23500/1001 é usada pelo NTSC (National Television Standard Committee - sistema de TV usado nos Estados Unidos, Japão e muitos outros países), e esta gravação foi feita com cromaticidades PAL (Phase Alternating Line - um sistema de codificação de cores para televisão analógica) em um dispositivo PAL.
Infelizmente, se você precisa trabalhar com imagens estáticas extraídas de gravações de vídeo, provavelmente já se deparou com uma surpresa desagradável: o mecanismo de mídia MLT do Kdenlive extrai os quadros estáticos sempre de acordo com as configurações do projeto. Imagine que você tenha um projeto FullHD de 1920x1080 pixels com proporção 19:6. E a gravação de vídeo tem 1536x2048 pixels com proporção 2:3 (retrato). Nesse caso, você obterá frames extraídos de 1920x1080 pixels com proporção 16:9 (paisagem) e muito espaço transparente, em vez dos esperados 1536x2048. Ou seja, não apenas a resolução foi alterada, mas também a proporção.
Não é bem o que você procura, como mostra nossa captura de tela detalhada. Ao comparar esta captura de tela do monitor de clipe com a captura de tela do monitor de clipe feita a partir da gravação original, você notará as diferenças de qualidade. Não importa qual você prefira, o importante é que elas diferem visivelmente.
Isso é inaceitável quando precisamos usar tanto a filmagem original quanto os quadros extraídos no mesmo projeto, especialmente quando estão lado a lado na linha do tempo. As diferenças ficam claramente visíveis, a menos que você comprima o vídeo resultante ao extremo, a ponto de parecer um episódio falso de Barbapapa.
Extração de quadros em resolução original
Claro, depois que todos os cortes da linha do tempo estiverem praticamente definidos com os quadros extraídos necessários para as imagens estáticas, podemos então (re)extrair manualmente os quadros em sua resolução original. Naturalmente, essa é uma tarefa não apenas árdua, mas também propensa a erros.
Felizmente, existe um caminho fácil usando o script bash extract-frames (cortesia do autor da postagem original no blog, TheDiveO). Baixe o script bash (arquivo ZIP), extraia-o e torne-o executável ($ chmod u+x extract-frames).
Aviso
Um aviso importante: antes de fazer qualquer alteração no diretório do seu projeto Kdenlive, certifique-se de fazer um backup do seu projeto primeiro. Você foi avisado. Não nos responsabilizamos por qualquer perda de dados ou outros prejuízos que você possa sofrer.
Agora execute o script dentro do diretório do seu projeto, onde estão localizados os arquivos PNG das imagens dos quadros, juntamente com os arquivos de vídeo correspondentes dos quais os quadros foram extraídos. Você sempre precisa especificar o nome do arquivo do projeto Kdenlive para executar o script:
$ extract-frames myproject.kdenlive
É só isso! Agora você deverá ver a pasta “bin” do projeto Kdenlive, notando que os arquivos de imagem foram atualizados. Portanto, você pode executar o script com o seu projeto Kdenlive aberto.
O que este script faz exatamente? Primeiro, ele procura por imagens PNG de quadros com nomes de arquivo no formato xxx-f000000.png. Aqui, xxx é o nome do arquivo (sem extensão) do vídeo correspondente do qual o quadro foi extraído. Neste momento, o script procura apenas por arquivos de vídeo correspondentes com extensões .mp4 e .MP4.
A parte f000000 identifica o número do quadro a partir do qual a imagem estática foi extraída. Isso levanta uma questão interessante: em qual sistema de referência esses quadros foram contados?
Lembra que mencionamos acima que o Kdenlive extrai quadros dos clipes usando as propriedades do projeto? Portanto, o sistema de referência para a contagem dos quadros extraídos é o seu projeto. E é por isso que você precisa informar ao extract-frames qual é o seu projeto: o script aprende a taxa de quadros do projeto para lidar corretamente com a contagem de quadros. Sem essa informação, extrairíamos quadros incorretos caso a filmagem original tivesse uma taxa de quadros diferente e, consequentemente, a contagem de quadros fosse diferente da do seu projeto.
Nota
Os arquivos de imagem dos quadros podem estar localizados não apenas no diretório do projeto, mas também em subdiretórios. O script não encontrará nenhum arquivo PNG de quadro extraído fora da subárvore do diretório do seu projeto, pois ele não verifica seu projeto Kdenlive em busca de quadros extraídos.
Atenção
Não altere a taxa de quadros do projeto posteriormente, ou a extração dos quadros ficará comprometida. Isso ocorre porque os números dos quadros nos nomes dos arquivos não correspondem mais às configurações do projeto.
Após executar o script extract-frames, você deverá notar no painel de propriedades do clipe do Kdenlive que os PNGs dos quadros extraídos agora possuem o tamanho e a proporção originais corretos. Para completar: o monitor de pré-visualização do clipe agora exibe a mesma qualidade de imagem da filmagem original. Portanto, você está pronto para finalizar e renderizar seu projeto.
Se você notar alterações de cor nesta etapa, consulte nosso outro capítulo do guia sobre Inferno das cores: Transcodificação com ffmpeg e preservação de BT.601.
Fluxo de trabalho em poucas palavras
Seu fluxo de trabalho geral não muda muito; basta executar o script extract-frames no diretório do seu projeto Kdenlive sempre que precisar atualizar os arquivos de imagem dos quadros com imagens em resolução total da sua filmagem original. Você pode executar o script quantas vezes quiser enquanto trabalha no seu projeto.
Mas lembre-se de não alterar a taxa de quadros do projeto enquanto estiver trabalhando nele, pois isso fará com que os números de quadros codificados nos nomes dos arquivos fiquem dessincronizados.
Notas
- Fontes
O texto original foi enviado pelo usuário TheDiveO para o blog kdenlive.org, agora extinto. Para esta documentação, ele foi extraído do kdenlive.org, atualizado e adaptado para corresponder ao estilo geral.