# Pitivi

Pitivi (anciennement PiTiVi) est un logiciel libre de montage vidéo non linéaire, conçu pour fonctionner (prioritairement) sur GNU/Linux en général et pour s'intégrer au bureau GNOME en particulier.
Il est développé par différents contributeurs, intervenant soit sur Pitivi lui-même soit sur son moteur (GStreamer). Un support commercial pour le logiciel est proposé par la société Collabora (en).
Pitivi peut lire et encoder tous les formats supportés par GStreamer. Notamment Pitivi se trouve être le premier logiciel libre de montage vidéo supportant le Material Exchange Format (MXF), format destiné aux professionnels.

## Présentation
### Architecture

Pitivi utilise :
* le langage Python et la boîte à outils GTK+ pour son interface,
* la bibliothèque multimédia GStreamer pour les opérations de lecture et de rendu audio−vidéo (à travers les greffons GStreamer Editing Services et Non Linear Engine).

### Interface

L'interface est composée principalement de quatre éléments :
* panneau de gauche : dans un onglet la bibliothèque des médias (où vous stockez les séquences que vous utiliserez pour le montage et qui, comme telles, rejoindront la piste de montage), dans l'autre la bibliothèque des effets (listant tous les effets audio et vidéo disponibles, dont ceux que vous choisirez de faire glisser dans l'onglet Séquence du panneau central pour les activer) ;
* panneau du centre : la fenêtre de configuration des effets, transitions et titres ;
* panneau de droite : la fenêtre de prévisualisation, ici appelé le lecteur ;
* en bas : la piste de montage (en anglais : timeline) où vont s'effectuer les opérations de montage.
Ces quatre éléments sont redimensionnables et les trois panneaux sont détachables (les deux premiers en tirant leur onglet, et le lecteur via le bouton ad hoc situé dessous. Utiliser ensuite la croix de fermeture située en haut à droite du panneau détaché pour lui faire regagner sa place).

## Historique du développement
### Contributions

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 (en) où il travaille sur GStreamer et Pitivi. En 2007, il poursuit son travail au sein de Collabora (en). À 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 et Brandon Lewis. Un quatrième développeur, Thibault Saunier, est ensuite recruté en novembre 2010.
Parallèlement au développement de Pitivi, les développeurs enrichissent GStreamer d'outils facilitant la réalisation ultérieure d'autres logiciels de montage non linéaires comme GES (GStreamer Editing Services) (développé initialement par Edward Hervey avec le soutien financier de Nokia dans le cadre du projet MeeGo) qui aujourd'hui intègre en outre, sous la forme d'un composant nommé NLE (Non Linear Engine), les fonctions précédemment présentes dans GNonLin.
Depuis 2010 jusqu'à ce jour d'avril 2016, il est à noter que, nonobstant le financement participatif évoqué ci-après, 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-Francois Fortin Tam, Thibault Saunier susnommé, Mathieu Duponchelle et Alexandru Băluț.
Pitivi a également reçu du soutien dans le cadre du Google Summer of Code (GSoC) (Brandon Lewis, Thibault Saunier ou Mathieu Duponchelle ont commencé à travailler sur le projet dans ce cadre).
En février 2014, un financement participatif est lancé pour soutenir et accélérer le développement du logiciel qui, à la date de fin octobre 2015, a permis de récolter 24 000 €. Cette somme couvre seulement une partie du financement prévu (35 000 € pour le premier palier), de sorte que le développement se poursuit mais à un rythme moindre qu’espéré.

### Étapes importantes du logiciel

La version 1.0 concrétisera le travail effectué pour porter Pitivi sur GStreamer Editing Services (GES), permettant de réduire fortement la taille du code du logiciel (de plus de 20 000 lignes) mais aussi de gagner en robustesse et performance. Le passage à GTK+ 3, Python 3 et GStreamer 1 (ainsi que l'abandon de GooCanvas au profit de GTK+ pur pour le dessin de la piste de montage, et le passage de glimagesink à gtk(gl)sink pour alimenter le lecteur) se fera également à cette occasion. Les versions préparatoires démarrent avec la 0.91, sortie en septembre 2013, avec notamment la 0.95 sortie en novembre 2015 qui concrétise très perceptiblement les efforts de stabilisation du logiciel et la 0.96 sortie en juin 2016 qui améliore la fiabilité et les performances avec les formats non conçus pour le montage vidéo au moyen de proxies.
À partir de mi-avril 2014, un exécutable autonome, comprenant toutes les dépendances, est généré et mis en ligne quotidiennement, intégrant les derniers développements. Celui-ci est remplacé par un paquet Flatpak à partir du deuxième trimestre 2016.
La version 2020.09, baptisée « Hocus Focus », sortie en octobre 2020, refait une importante partie de l'interface, en y intégrant plusieurs années de développement d'ajouts au sein GSOC et intègre différents moteurs du logiciel, telle que la gestion de la ligne de temps (timeline), l'interface d'effet ou le lecteur vidéo. Cela résout un nombre important de problèmes et améliore sensiblement l’ergonomie de l'interface. Un moteur de greffons est intégré, ainsi qu'une console python est également ajoutée permettant d'apporter dynamiquement des modifications à la vidéo$^,$.