Eu já tinha descrito como usar aceleração de hardware pra juntar imagens jpeg e criar um vídeo em usando a GPU para renderizar vídeo.  Mas o texto todo abordou apenas os testes que fiz no laptop que tinha na época, com GPU integrada Intel.

E como fazer o mesmo com NVIDIA?

Aqui está a receita de bolo direta:

ffmpeg -hwaccel cuda -hwaccel_output_format cuda -r 1 -i G%04d.JPG -c:v h264_nvenc -b:v 5M -pix_fmt cuda output.mp4

Simples assim ele gera uma grande image output.mp4, que depois eu uso no kdenlive.

Claro que não é assim tão simples.  É preciso ter os arquivos da GoPro gerados no padrão G0000.JPG, G0001.JPG, etc.

O que faço então é copiar todos os arquivos que vou precisar dentro do mesmo diretório (uso Gwenview pra isso).  E depois eu rodo o seguinte script:

#! /usr/bin/env bash

counter=0
for img in G*.JPG
do
  serial=$(printf "%04d" $counter)
  new_name="G${serial}.JPG"
  echo "$img => $new_name"
  mv $img $new_name
  counter=$((counter++))
done

ffmpeg -hwaccel cuda -hwaccel_output_format cuda -r 1 -i G%04d.JPG -c:v h264_nvenc -b:v 5M -pix_fmt cuda output.mp4

E pronto.  Imagem gerada em output.mp4 pra ser usada no kdenlive.

Como eu não consegui fazer o kdenlive funcionar bem com a placa NVIDIA, é mais rápido fazer essa primeira geração assim via ffmpeg mesmo.

O script está disponível no GitHub:

https://github.com/helioloureiro/homemadescripts/blob/master/render-video-from-gopro-photos.sh

We use cookies

We use cookies on our website. Some of them are essential for the operation of the site, while others help us to improve this site and the user experience (tracking cookies). You can decide for yourself whether you want to allow cookies or not. Please note that if you reject them, you may not be able to use all the functionalities of the site.