Création vidéo pour Kinomap : La recette personnelle de Béni

… ou comment ne pas prendre le chemin le plus court

Mon bipède pédaleur et moi créons de petites vidéos pour Kinomap depuis maintenant un an. Presque tout ce temps, nous nous sommes contentés d’Avidemux pour extraire les bouts intéressants des fichiers mp4 enregistrés par la GoPro, parce que c’était relativement léger, efficace et rapide (puisque nous conservions le format initial H265, 1K, 30 i/s du fichier enregistré par la GoPro, ce qui évitait le temps de conversion de H265 à X264).

Avec le temps, nous nous sommes mis à ajouter de petits effets de fondu ici et là, à tripoter un peu le son, et Avidemux s’est avéré de plus en plus décevant. Il a fallu trouver une meilleure façon de procéder, en essayant de respecter les principes suivants : gratuité, légèreté, simplicité et efficacité.

Pour la vidéo, notre choix final s’est posé sur LossLessCut pour le visionnement et le découpage vidéo, sur ffmpeg et xfade pour les fondus et transitions, et finalement sur ShotCut pour la fusion des segments créés sous LossLessCut et ffmpeg/xfade.

À lui seul, ShotCut permet de faire toutes ces opérations, et bien plus encore, mais pour la simplicité et la légèreté, ça ne répondait pas vraiment à nos attentes et besoins. Et comme pour le vélo hors des sentiers battus, les petits détours procurent souvent bien du plaisir.


Étape 1 : Visionnement et découpage sous LossLessCut

Sur l’image ci-dessous, j’ai encerclé en bleu les trois premiers éléments à utiliser. J’y ai déplacé le curseur blanc, en bas à gauche, à peu près jusqu’à la quinzième seconde, pour éliminer ce qui précède (le paysage de départ était gâché par un affreux garde-fou). J’ai ensuite cliqué sur la clé de droite pour aller à l’image-clé suivante (16.016), puis sur l’icône d’appareil photo pour capturer cette scène de départ en fichier png (que je vais appeler début.png et utiliser à l’étape 2 pour un fondu entrant. J’ai aussi appuyé sur la touche « i » du clavier pour couper les 16 premières secondes de la séquence vidéo. (i = IN)

J’ai ensuite visionné la vidéo jusqu’à 6 minutes 7 secondes environ, où je suis arrivé dans un cul-de-sac où mon bipède, perdu dans ce qui semblait être un terrain privé, s’est arrêté pour consulter le GPS en marmonnant des trucs incompréhensibles (je crois avoir aussi entendu quelques jurons). Comme je ne voulais pas imposer cette scène pénible aux utilisateurs de Kinomap, j’ai cliqué sur l’icône d’image-clé et sur l’icône d’appareil-photo pour faire une image png de transition (1a.png), puis j’ai appuyé sur la touche « o » du clavier (o = OUT) pour couper le reste de la vidéo, qui s’est retrouvé temporairement dans la corbeille.

J’ai maintenant mon premier segment de balade, en brun ci-dessus sur la ligne de temps de LossLessCut. Je clique sur « Exporter », en bas à droite, et je sauvegarde ce segment exporté sous le nom 1.mp4.

Maintenant que j’ai mon premier segment mp4, je n’en ai plus besoin et peux donc le couper, mais seulement après avoir récupéré la suite de la vidéo que je viens d’effacer. Pour cela, je clique sur ctrl+z sur le clavier (où utilise le menu Modifier pour revenir à l’état précédent).

La suite est revenue sur la ligne de temps brune. Je peux maintenant cliquer sur la touche « i » du clavier pour supprimer mon premier segment.

↑Suite rétablie avec « ctrl+z »

↑Premier segment coupé avec « i »

Mon bipède est resté immobile de 6:08 à 6:21. J’aurais pu laisser cette courte pause telle quelle, mais effrayé par l’éventuelle réaction de colère ou de frustration des Kinomapiens, j’ai déplacé le curseur blanc jusqu’à environ 6:20 puis ai cliqué sur l’icône d’image-clé. Cette image étant celle où le bipède se remet à pédaler en sens inverse, je l’ai capturée avec l’icône d’appareil photo, l’ai appelée « 1b.png » et l’utiliserai à l’étape 2 pour faire une transition de « 1a.png » (moment où mon bipède est figé dans sa stupeur) et « 1b.png » (moment où il sort de sa torpeur et se remet à pédaler pour rebrousser chemin).

J’ai maintenant tout ce qu’il faut pour créer le premier segment de la balade. Pour les segments suivants, vous aurez compris, je fais la même chose (segment vidéo 2.mp4 et images de transition 2a.png et 2b.png, etc.).

Étape 2 : Création des transitions

En ligne de commande (terminal), j’utilise ffmpeg et xfade pour faire des fondus.

Pour le fondu entrant, je peux utiliser soit le fichier 1.mp4 pour un fondu simple, soit le fichier début.png pour un plus grand choix d’options.

Avec le fichier 1.mp4

ffmpeg -i 1.mp4 -vf fade=t=in:d=7 -c:a copy 1-avec-fondu.mp4

Concrètement, ça donne un fondu entrant noir d’une durée de 7 secondes, enregistré sous le nom « 1-avec-fondu.mp4 ».

Avec le fichier début.png

Je combine un fichier de couleur 1920x1080 à mon fichier « début.png » pour créer un petit fichier mp4 de début avec un fondu entrant de 7 secondes.

Pour ça, j’utilise un fichier de couleur créé en ligne de commande :

convert -size 1920x1080 xc:green green.png

(On peut remplacer « xc:green » par black, blue, etc., et même par un des quelque 16 millions de codes de couleur HEX.)

Pour faire un fondu entrant de 7 secondes du vert à mon image « début.png »…

ffmpeg -y -loop 1 -t 7 -i vert.png -loop 1 -t 7 -i début.png -filter_complex [0][1]xfade=transition=fade:duration=7,format=yuv420p Début-avec-fondu.mp4

J’obtiens un petit fichier mp4 de 7 secondes que j’utiliserai à l’étape du montage vidéo.

Je fais ensuite la même chose pour ma transition entre la séquence 1 et 2, en utilisant mes fichiers d’image 1a.png et 1b.png.

Disons, cette fois-ci, que je veux faire un fondu dans lequel l’image 1b.png remplace l’image 1a.png par un glissement latéral de 5 secondes.

ffmpeg -y -loop 1 -t 5 -i 1a.png -loop 1 -t 5 -i 1b.png -filter_complex [0][1]xfade=transition=slideleft:duration=5,format=yuv420p 1ab.mp4

J’ai maintenant un fichier mp4 de 5 secondes que je pourrai insérer entre les séquences 1 et 2 à l’étape du montage final.

Étape 3 : montage vidéo

Cette étape-là est toute simple : on importe tous les morceaux dans ShotCut et on exporte le fichier. Je n’entre pas dans les détails, mais il suffit d’importer les séquences dans la liste de lecture de ShotCut, de les ajouter l’une après l’autre dans la ligne de temps, puis d’exporter le fichier résultant.

Ci-dessus, l’exemple simple d’un autre projet, très simple, avec deux séquences vidéo d’une ballade (1a.mp4 et 1b.mp4) entre lesquelles j’ai inséré un fichier de transition (1ab.mp4) créé avec ffmpeg et xfade. ShotCut permet d’exporter ce qui se trouve sur la ligne de temps dans un nouveau fichier qui ne bousille pas le son après la transition, contrairement à Avidemux et LossLessCut (qui le font souvent d’après ma courte expérience).


Le fichier GPX

Pour éditer le fichier GPX, j’utilise GPSPrune, encore une fois parce qu’il est léger et efficace. Jusqu’en mai dernier, il n’était pas possible de l’utiliser pour modifier le temps sur les fichiers GPX, parce qu’il ne prenait en charge que les jours, les heures et les minutes. J’utilisais donc GPXMagic comme solution gratuite en ligne pour tripoter les secondes, mais maintenant que GPSPrune permet aussi de le faire, il fait parfaitement l’affaire et a l’avantage de fonctionner hors ligne.

Ci-dessus, pour revenir au premier projet expliqué ci-dessus, j’applique un décalage horaire de 7 secondes au deuxième point du tracé pour tenir compte du fondu entrant que j’ai créé avec ffmpeg et xfade sur le fichier « Début-avec-fondu.mp4 » qui précède le fichier « 1.mp4 » au montage (ce décalage n’est pas nécessaire si j’ai crée ce fondu directement sur le fichier 1.mp4, vous l’aurez compris).

On peut (et doit) évidemment faire la même chose à tous les points de transition entre les séquences vidéo découpées pour le montage, autrement la vidéo sera déphasée par rapport au tracé GPX (l’icône du cycliste sur la carte ne suivra pas correctement l’image de la vidéo sur Kinomap, personne ne visionnera plus mes vidéos et je sombrerai inévitablement dans la déprime). 🥴


👉 Vous pouvez laisser un commentaire anonyme (ou pas) en cliquant simplement sur « Post ».