DLFP - Dépêches - Pitivi 1.0 (en fait : 2020.09) est sorti, après 16 ans de développement !
- Octobre 2020 -
Pitivi, logiciel de montage vidéo pour GNOME, basé sur GStreamer, et qui se veut simple et puissant, est enfin sorti, le 30 septembre 2020, dans sa flambante version 1.0…
… Bon, sauf qu’elle a été annoncée seulement le 11 octobre 2020 et qu’elle est finalement numérotée 2020.09 !
L’occasion d’un coup d’œil dans le rétroviseur.
- lien nᵒ 1 : Site officiel
- lien nᵒ 2 : Comment installer la version Flatpak (préconisée), sur le wiki officiel
- lien nᵒ 3 : Journal des changements, sur gitlab.gnome.org
- lien nᵒ 4 : Billet d’annonce officielle de Pitivi 2020.09 « Hocus focus »
- lien nᵒ 5 : Blogue officiel depuis 2014
- lien nᵒ 6 : Blogue d’Alexandru Băluț couvrant la période depuis 2015
- lien nᵒ 7 : Blogue de Jean‑François Fortin Tam couvrant la période 2008-2016
- lien nᵒ 8 : Blogue d’Edward Hervey couvrant la période 2004-2010
- lien nᵒ 9 : Les bases du montage vidéo avec Pitivi, sur Libre et ouvert
- lien nᵒ 10 : Tutoriel vidéo par Jean‑François Fortin Tam (20 minutes, sur YouTube)
Sommaire
- Sous le capot : les défis techniques relevés par les développeurs
- Dans l’habitacle : l’enrichissement des fonctionnalités
- Derrière les manettes : une poignée d’individus
- Conclusion… en attendant la suite
(en réalité l’interface n’est déjà plus celle‑ci…)
Sous le capot : les défis techniques relevés par les développeurs
Né en 2004, Pitivi a connu de nombreuses réécritures, dont la première a eu lieu en mars 2005 lors de l’abandon du langage C au profit de Python. Le temps de sa maturation, il a eu l’occasion de côtoyer GStreamer dans ses versions 0.8 (2004-2005), 0.10 (2005-2012) et 1 (depuis 2012)… Les derniers chantiers ont, quant à eux, complètement chamboulé les fondations du logiciel : ce sont ceux‑ci que nous allons détailler.
Ainsi, au début de la décennie, la petite équipe de développeurs (lire ci‑après) a scindé le logiciel en deux pour rendre son moteur indépendant sous la forme d’un composant réutilisable par tous (GES, pour GStreamer Editing Services), avant de gérer le Big Bang du passage simultané (les trois technologies étant intriquées) à PyGObject, GTK 3 et GStreamer 1 ! La version 0.91, sortie en septembre 2013, concrétise ce travail qui aura duré rien de moins que trois années.
C’est la raison de ce « trou » visible dans cette frise chronologique (inachevée) du développement de Pitivi :
Il faudra attendre encore un an et la version 0.94 pour que soit réalisé le portage du logiciel — qui n’est désormais plus, grosso modo, qu’une interface graphique à GES — vers Python 3.
Dans le même temps, la piste de montage, initialement implémentée à l’aide de GooCanvas, a été portée vers Clutter (version 0.91), avant d’être à nouveau réécrite, cette fois en pur GTK (version 0.95).
Sans oublier le lecteur, qui était basé sur ClutterSink, et qui a été rebasé sur glimagesink, le nouveau module de sortie GL de GStreamer (version 0.94).
Et que dire de l’outil de transformation graphique qui a été implémenté une première fois en 2012 (« a hacky solution where the sink and cairo drew in the same GTK drawing area, acquired for GStreamer with the Gst Overlay API »), avant d’être réécrit en 2014 (« still using Gst Overlay API, but this time with the glimagesink » et finalement en 2016 (« now we have the almighty GtkSink in Pitivi ») ?
Ensuite, la version 0.95, sortie fin 2015, incorpore le travail de réécriture du mélangeur vidéo de GStreamer pour le rendre thread‑safe (NLE, pour Non Linear Engine, vient donc remplacer GNonLin). Une dépêche LinuxFr.org vous narre cette histoire dans le détail et avec panache.
L’occasion de souligner, à travers ces deux exemples (GES et NLE), que les développeurs ont toujours travaillé à enrichir (et corriger) GStreamer pour en faire un outil adapté au montage vidéo, au bénéfice de tous.
Depuis, l’architecture de Pitivi est restée essentiellement la même :
Les versions suivantes ont surtout apporté des corrections et optimisations, mais aussi quelques nouvelles fonctionnalités particulièrement intéressantes, comme l’édition vidéo en mode proxy (qui consiste à faire le montage avec des versions intermédiaires des vidéos en basse résolution et/ou simplement dans des formats de fichier adaptés au montage ; et, devinez quoi : Pitivi 2020.09 implémente les deux cas de figure !).
Dans l’habitacle : l’enrichissement des fonctionnalités
Petite sélection :
- version 0.1.1 (décembre 2004) : première version de Pitivi ;
- version 0.13.1 (mai 2009) : piste de montage multi‑couche, affichage sous forme d’onde des éléments audio et sous forme de vignettes des éléments vidéo ;
- version 0.13.2 (août 2009) : annuler/refaire, mixage audio, modes d’édition Ripple et Roll ;
- version 0.13.4 (mars 2010) : la transparence des séquences vidéo est modifiable ;
- version 0.13.5 (septembre 2010) : fondu enchaîné automatique en cas de chevauchement de deux séquences ;
- version 0.14 (mai 2011) : outil d’ajout d’effets audio et vidéo, les onglets et le lecteur sont détachables ;
- version 0.91 (septembre 2013) : visualisation en temps réel lors du redimensionnement d’une séquence (démonstration), agencement assisté des séquences sur la piste de montage (qui se comportent comme si elles étaient aimantées), outil d’ajout de transitions, outil de titrage ;
- version 0.96 (juin 2016) : édition vidéo en mode proxy, retour de l’outil de transformation graphique (troisième version) :
Cette version apporte également, parmi d’autres choses :
- un écran d’accueil repensé ;
- un gestionnaire de greffons ;
- la possibilité d’apposer des marqueurs sur la piste de montage ;
- une gestion plus complète des pistes ;
- la refonte de la bibliothèque des effets et de celle des médias.
Derrière les manettes : une poignée d’individus
L’histoire de Pitivi, c’est aussi celle de ses mainteneurs successifs
Edward Hervey a lancé le projet en 2004 dans le cadre de son projet de fin d’études à l’EPITECH. L’année suivante Edward rejoint Fluendo où il travaille sur GStreamer et Pitivi (il raconte lui‑même cette période dans ce billet). En 2007, il poursuit son travail au sein de Collabora. À partir de décembre 2008, le développement du projet s’accélère à l’initiative de Collabora qui recrute deux autres développeurs : Alessandro Decina qui travaillera deux ans sur le projet, et Brandon Lewis qui travaillera trois ans dessus. Un quatrième développeur, Thibault Saunier, est ensuite recruté en novembre 2010 (et fait toujours partie des mainteneurs).
Parallèlement au développement de Pitivi, les développeurs contribuent activement à GStreamer : nombreux correctifs voire carrément création de modules comme GES (développé initialement par Edward Hervey avec le soutien financier de Nokia dans le cadre du projet MeeGo) mis à disposition fin 2009, ou NLE publié fin 2015.
À partir de la deuxième moitié de 2010, tandis qu’Edward Hervey commence à prendre du champ pour se consacrer exclusivement à GStreamer, il est à noter que, nonobstant un financement participatif entre 2014 et 2015 et les travaux d’étudiants sponsorisés (principalement dans le cadre du GSoC : Brandon Lewis, Thibault Saunier ou Mathieu Duponchelle ont d’ailleurs commencé à travailler sur le projet dans le cadre du Google Summer of Code ! – mais aussi via le GWOP), le développement régulier de Pitivi n’est assuré que par des bénévoles, principalement (par ordre d’ancienneté dans le projet) : Jean‑François Fortin Tam qui est arrivé sur le projet fin 2004, Thibault Saunier, en 2010, Mathieu Duponchelle, en 2011, et Alexandru Băluț, arrivé lui aussi en 2011.
Suite au retrait de Jean‑François et Mathieu autour de 2016 pour raisons professionnelles, les mainteneurs actuels sont Thibault Saunier et Alexandru Băluț.
Les rôles techniques de chacune des personnes évoquées sont détaillés à cette page du wiki officiel.
Aujourd’hui, Edward Hervey et Mathieu Duponchelle travaillent pour Centricular (et vivent tous deux en France). Jean‑François Fortin Tam propose ses conseils en tant que consultant indépendant en gestion d’entreprise et via l’agence créative idéemarque (il vit au Canada).
Quant aux deux mainteneurs actuels : Thibault Saunier travaille pour Igalia (et vit au Chili), tandis qu’Alex Băluț travaille pour Daedalean AG (et vit en Suisse).
N. D. L. A. : N’ont été cités ici que les mainteneurs successifs du projet, mais que l’ensemble des contributeurs soit vigoureusement remercié et félicité.
Galerie de portraits pris à différentes occasions
Les ressources ci‑après proviennent du blogue de Jean‑François Fortin Tam.
Pitivi+GES Hackfest 2011 à Berlin
Voir aussi la vidéo incluant la présentation de quelques protagonistes.
De g. à dr. : Lubosz Sarnecki (étudiant GSoC), Luis de Bethencourt Guimera (de dos), Thibault Saunier et Mathieu Duponchelle (alors étudiant GSoC, de trois quarts).
Edward Hervey.
Thibault Saunier.
Les deux mêmes.
De g. à r. : Thibault Saunier et Mathieu Duponchelle.
De g. à dr. : Thibault Saunier, Alex Băluț (tous deux au fond) et Lubosz Sarnecki (au premier plan) cachant Mathieu Duponchelle.
Alex Băluț et Thibault Saunier (de dos).
En haut, et de g. à dr. : Thibault, Alex, Thibault, Mathieu, Luis et Alex ; en bas : les mêmes.
GStreamer Hackfest 2012 à Málaga
De g. à dr. : Thibault Saunier, Antigoni Papantoni (étudiante GWOP) et Edward Hervey.
GStreamer Hackfest 2013 à Milan
Voir aussi la vidéo.
Des gens (!), dont Edward Hervey (au fond), Thibault Saunier (sur la droite, de profil et casqué) et Alex Băluț (à droite au premier plan).
Jean‑François en haut, Edward et Alex (dans cet ordre) en bas.
Répartis un peu partout : Jean‑François, Mathieu, Thibault et Alex (dans cet ordre dans la photo en haut à gauche).
Campagne de financement 2014
Jean‑François en pleine campagne !
GUADEC 2016 à Karlsruhe
De g. à dr. : Alex Băluț, Jakub Steiner et Mathieu Duponchelle.
Conclusion… en attendant la suite
La version 1.0 2020.09 représente une sorte d’achèvement, et les personnes qui ont participé au développement du logiciel ou l’ont suivi peuvent légitimement en être émues.
Pour le futur, différentes fonctionnalités sont d’ores et déjà prévues comme l’ajustement de la vitesse des séquences (les fondations sont prêtes depuis trois ans dans GStreamer)… tout cela à suivre sur Planet Pitivi. ;)
Commentaires : voir le flux Atom ouvrir dans le navigateur
par antistress, Davy Defaud, Jean-François A., M5oul, Benoît Sibaud, Ysabeau, BAud
DLFP - Dépêches
LinuxFr.org
Tribune April : Techsoup et Solidatech, instruments d'influenceAprès une première position sur Solidatech en 2020, l'April a passé à nouveau du temps pour étudier et comprendre la place des structures Solidatech (...)
TuxRun et le noyau Linux
Il y a quelques années, je vous avais présenté TuxMake, un utilitaire pour faciliter la (cross-)compilation du noyau Linux supportant une grande (...)
Retour d’expérience sur l’utilisation de GrapheneOS (ROM Android libre)
Suite à la dépêche Comparatif : GrapheneOS vs LineageOS, je souhaitais faire part d’un retour d’expérience sur l’utilisation de GrapheneOS sur un (...)
Ubix Linux, le datalab de poche
Ubix Linux est une distribution Linux libre et open-source dérivée de Debian.Le nom « Ubix » est la forme contractée de « Ubics », acronyme issu de (...)
Open Food Facts : récit d’un contributeur
Récit de mon aventure en tant que contributeur pour le projet Open Food Facts, la base de donnée alimentaire ouverte et collaborative, où je suis (...)