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