Maintenance du plugin Charlie's Contents de Piwigo

  • dec 2018: la bibliothèque getid3 était antédiluvienne, je l'ai remplacée par la version d'octobre 2018.
  • dec 2016: je n'utilise plus que le mp4 comme format video - toujours avec Charlie's (Doc.UsingHtml5)
  • En Avril 2014, j'ai proposé de reprendre la maintenance du plugin Charlie's Contents qui permet, entre autres, de gérer les vidéos avec Piwigo.
  • Juin 2015: je n'ai pas eu le temps de travailler dessus, pardon :-(, mais j'ai vérifié que le plugin est compatible avec piwigo 2.7...

Charlie's Change Log page in english

Modifier le numéro de version dans Charlie's

Ca semble se trouver dans main.inc.php

 define('CHARLIES_VER' , '3.2.1');

Liens utiles:

Le site de test

Usage des vidéos avec Charlies

Je vous décrit ici mon propre usage, qui n'est pas forcément le votre :-(.

Pour fixer les idées, j'utilise Linux (openSUSE), aussi bien sur mon poste de travail que sur mes serveurs. J'utilise donc beaucoup de scripts pour gérer tout mon travail Voir ici.

Le script principal

#!/bin/bash
# echo usage: movtopiwi.sh *.mp4
# Faire d'abord detox -s utf_8 *
#mkdir piwigo ;
#mkdir piwigo/pwg_representative ;	

rep=$(basename `pwd`) ;
mkdir $rep ;
mkdir $rep/pwg_representative ;

for a ; do
	b=`echo "$a" | cut -d'.' -f1` ;
	ffmpeg -i $a -s 640x360 -b 1000k -aspect 16:9 -ar 44100 $rep/$b.flv ;
	ffmpeg -i $a -r 1 -t 00:00:01 -ss 0:0:05 -s 640x360 -f image2 $b.jpg ;

	convert -resize 128x128 $b.jpg $rep/pwg_representative/$b.jpg ;
	rm $b.jpg ;
done
exit

Le but de ce script est de réduire la video à un format de bonne qualité compatible Charlie's puis de créer l'imagette. J'ai une version identique pour le 4x3.

Ce script demande comme source les videos à mettre en ligne sous n'importe quel format lisible par ffmpeg (c'est à dire n'importe quel format :-), il crée un fichier flv de 640x360 pixels, puis extrait l'image située à 5s dans la video et la réduit au format imagettes. Il copie toutes ces vidéos dans un répertoire ayant le même nom que le répertoire courant mais situé à un niveau inférieur.

Je m'explique. Je travaille en général dans un répertoire ayant comme nom la date de tournage suivi d'un mnémonique du contenu. Mon dernier tournage était 20140329-craq.

Après usage du script, je retrouve donc un répertoire 20140329-craq contenant tous les fichiers utiles et prêt à être recopié sur le serveur par ftp (ou dans mon cas fish:// avec Dolphin). Une synchronisation de piwigo rends ces fichiers accessibles.

SVN

La page de SVN sur piwigo: http://piwigo.org/doc/doku.php?id=dev:core:subversion

Le manuel complet

Pour créer la copie locale, se placer dans le répertoire où on veut la placer (par exemple /data/mesdocs-jdd/piwigo/charlies/svn/) et lancer:

 svn checkout http://piwigo.org/svn/extensions/charlies_content

cela crée un répertoire charlies_content

A partir de là il est plus simple de se placer dans le répertoire charlies_content, on n'a plus à répéter le nom du répertoire dans la ligne de commande.

Avant chaque usage, mettre à jour avec

 svn update

on obtient par exemple:

 Mise à jour de 'charlies_content' :
 À la révision 28968.

Pour ajouter ou supprimer un fichier dans le répertoire du plugin, il faut le faire avec svn

 svn move FICHIER DESTINATION
 svn copy FICHIER DESTINATION
 svn delete FICHIER
 svn add FICHIER

Pour mettre à jour le répertoire distant:

 svn commit

On se retrouve alors dans vi pour entrer un commentaire. Sortir par :wq

Normalement on est alors logé avec son login (modifiable??) et on recoit la demande de mot de passe, en tout cas ma première fois. La mise a jour est alors faite et on reçoit un numéro de version. Au besoin le nom d'utilisateur peut être donné avec l'option --username.

Avant que j'ai commencé à faire quoi que ce soit, la révision semblait être "29043".

D'après le manuel subversion:

$ svn export http://svn.exemple.com/svn/depot1 # Exporte la dernière révision
…
$ svn export http://svn.exemple.com/svn/depot1 -r 1729
# Exporte la révision r1729

Donc

 svn export http://piwigo.org/svn/extensions/charlies_content -r 29043

doit vous donner la version utilisable stable 2.5.a de Charlies content avant toute modification de ma part.

Remarque de travail: à mon deuxième commit, svn m'a demandé un mot de passe dans une fenetre graphique. Sans doute un mot de passe local? j'ai mis un peu n'importe quoi, il faut voir comment le modifier.

Pour que la page du plugin continue à marcher (en proposant la version stable), j'ai chargé cette version stable comme fichier zip, le svn étant réservé à la version 3-beta.