FFMPEG : Convertir une cohorte de fichiers image *.jpg en une séquence video

L’objectif est de compiler une séries d’images prises par un webcam Ip à intervalle régulier en une seule video (Time_Lapse)

Prérequis :

  • Avoir Installé FFMPEG (voir les autres articles)
  • Les fichiers CMD sont des fichiers texte simple (notepad .txt) dont l’extension est changée en .cmd. Il sont modifiables par un clic droit « modifier » et sont exécutés par double clic dans une fenêtre DOS.
  • Accès DOS : dans la « Loupe » de windows chercher CMD. => Invite de Commandes

si FFMPEG a été ajouté dans les PATH alors « C:\ffmpeg » doit répondre.
sinon : https://fr.wikihow.com/installer-FFmpeg-sur-Windows

1/ Insertion du nom du fichier dans un bandeau en haut de l’image

  • 1er fichier .cmd : master.cmd
    • forfiles /p "C:\Users\Yves\Documents\WIFI_CAM\images" /m "*.jpg" /c "cmd /c ..\Slave.cmd @file @fname
  • 2eme fichier cmd : Slave.cmd
    • ffmpeg -i "%~1" -vf "drawtext=text=%~2: fontcolor=white: fontsize=20: box=1: boxcolor=black@0.6: x=0:y=0: fontfile=c\\:\\\\Windows\\\\Fonts\\\\Verdana.ttf" "%~1" -y

2/ Renommage des fichiers avec 4 chiffres (respect de l’ordre chronologique des noms) => un fichier cmd à utiliser UNIQUEMENT à partir du dossier image.

  • 3éme fichier cmd : Rename.cmd
@echo off
setlocal EnableDelayedExpansion

set filename=image_
set suffix=10000
for /F "delims=" %%i in ('dir /B *.jpg') do (
   set /A suffix+=1
   ren "%%i" "%filename%!suffix:~1!.jpg"
)

3/ Création du film (attention dans le fichier cmd les % d’origine de la commande ffmpeg doivent être DOUBLES => %03d devient %%03d)

  • 4eme fichier cmd : MakeFilm.cmd
    • ffmpeg -f image2 -i C:\Users\Yves\Documents\WIFI_CAM\images\image_%%04d.jpg -vcodec libx264 -crf 25 -pix_fmt yuv420p test.avi
  • où %04d => format du nom image = image_0000.jpg (format %0nd ou n est le nombre de chiffres (0 à 4))

 

Résultat : 1 photos / 30 secondes