Identifiants personnels


Moi ... Moi ... et re Moi
« [TRAC] Tuner trac   Informatique  [SPIP Plugin] XSPF plugin »

[SPIP] Le plugin Spipmotion v.0.2

mardi 14 novembre 2006, modifié le 11 juin 2008, par Quentin Drouet

Objectifs :

SPIP-ZONE: Révisions de Spipmotion Créer un plugin pour SPIP qui permette d’encoder les vidéos directement sur le serveur au format streamable flash FLV et ainsi d’éviter à l’utilisateur la maîtrise d’un logiciel tiers.

Les formats d’entrée autorisés pour l’instant sont : *.mp4 - *.mpg - *.mov - *.avi

Ce plugin évite donc aux utilisateurs de se préoccuper de l’encodage dans un format qui n’est généralement pas proposé par les logiciels de montage vidéo.

Préalable

1. Spip bien entendu. En version 1.9.3 SVN révision 9810 minimum.

2. Avoir la main mise sur le serveur. Pour les gens en mutualisé, sorry, pas moyen que cela fonctionne chez vous.

3. Installer sur le serveur le logiciel d’encodage ffmpeg. La méthode est décrite dans cet article.

Fonctionnement

On upload une vidéo dans le dossier tmp/upload de spip, qui nous permet ensuite de la récupérer dans les formulaires adéquats pour l’insertion dans les articles.

Un nouveau formulaire d’insertion de vidéos est présent lors de la modification d’un article.

Ce formulaire est divisé en 2 :

  • La première partie récupère dans le dossier upload tous les fichiers qui sont "encodables" et propose de les encoder au format qui nous intéresse... Le nouveau fichier au format .flv sera nommé de la sorte "ancien_nom_de_fichier.ext.flv" et sera alors disponible dans le répertoire upload en plus de l’original.
  • La seconde partie du formulaire récupère quant à elle dans le dossier upload uniquement les fichiers insérables en streaming, donc tout fichier dont l’extension est ".flv". Il donne alors la possibilité de les insérer dans le corps de l’article de cette manière "
    <video1|center>

" qui fait appel au modèle "video.html"

Il est toujours possible d’uploader la vidéo originale sans l’encoder ou en plus pour des podcasts par exemple avec le formulaire classique d’insertion de documents.

Mise en Oeuvre

1. Récupérer le plugin en bas de cet article ou directement dans le dépot des plugin de spip.

2. Installer le plugin comme tout autre plugin de spip.

3. Aller à la page de configuration CFG qui va permettre de gérer l’ensemble des options nécessaires.

Il est ainsi donné la possibilité à l’administrateur du site de modifier :

  • le chemin de l’exécutable ffmpeg : par défaut /usr/local/bin/ffmpeg
  • le bitrate de la vidéo (option -b) : par défaut 448kbps
  • le format de la vidéo (option -s) : par défaut 320x240 px
  • l’aspect de la vidéo (option -aspect) : par défaut 4:3
  • le nombre d’images par seconde (option -r) : par défaut 15
  • la fréquence d’échantillonnage audio (option -ar) : par défaut 22050
  • le bitrate audio (option -ab) : par défaut 64kbps

3. Pour l’encodage, on utilise un script bash "spipmotion.sh".

Ce script doit être exécutable. Vous pouvez le rendre exécutable directement avec votre logiciel ftp ou en utilisant cette commande directement sur le serveur (s’il est sous linux) :

  1. chmod +x plugins/spipmotion/script_bash/spipmotion.sh

Ainsi, le bouton encodage du formulaire adéquat doit renvoyer cette commande :

  1. script_bash/spipmotion --e video-entree.avi --s video-sortie.flv --bitrate XXX --audiobitrate XX --audiofreq XXXXXX --fps XX  --p /usr/local/bin/ffmpeg

qui correspond à peu près à ceci :

  1. /usr/local/bin/ffmpeg -i fichier_entrée.ext -acodec mp3 -f flv -s 320x240 -ar 22050  -b 448kb -r 15 -y fichier_sortie.flv

Le résultat :

Le code

<video263|center>

insère automatiquement ceci :

John Resig : Digg Firebug Jquery...
Video en Flv encodée par SPIPmotion

Le code

<doc263>

insère le document habituel :

Flash Video - 46.9 Mo
John Resig : Digg Firebug Jquery...
Video en Flv encodée par SPIPmotion

Vous pouvez utiliser d’autres plugins afin de gérer au mieux l’affichage public de vos vidéos comme par exemple :

  • Le plugin XSPF
  • Le plugin Lecteurs Multimedias
  • ...

L’original :

MPEG4 - 59.4 Mo
John Resig : Digg Firebug Jquery...
Video originale en mp4

La démo?


To Do List

Le plugin est dorénavant fonctionnel.

Pour l’instant je réfléchis à faire :

  • La possibilité dans la boite d’encodage directement de choisir le format final d’encodage
  • La possibilité d’encoder des fichiers sonores (MP3/OGG/AIFF) dans un autre format
  • La possibilité d’encoder n’importe quel document d’ores et déjà inséré dans SPIP
  • Possibilité de fonctionnement depuis l’espace public
  • un filtre à passer avant l’encodage des vidéos afin de remplacer les espaces dans les noms de fichiers par des underscores tout comme les caractères accentués. Les espaces dans les nos de fichiers ne passent pas dans le script.
  • une fonction async_encode qui permettrait d’afficher un message d’attente lors de l’encodage, et de ne pas regénérer toute la page lorsque l’encodage est terminé.

J’attends les avis de testeurs pour l’améliorer.

Répondre à cet article


Un message, un commentaire ?
  • (Pour créer des paragraphes, laissez simplement des lignes vides.)

Lien hypertexte (optionnel)
  • (Si votre message se réfère à un article publié sur le Web, ou à une page fournissant plus d'informations, vous pouvez indiquer ci-après le titre de la page et son adresse.)

Qui êtes-vous ? (optionnel)
Connexion


  • [SPIP] Le plugin Spipmotion v.0.2 5 septembre 09:18, par thierry

    salut, j’ai installé le plugin dans 1.9.2d est il ne me propose pas l’encodage du fichier video .mov ou .avi puis je n’ai pas trouvé comment intaller la 1.9.3 mais j’ai installé spip 2.0.0 svn hier et j’ai les problème suivant maintenant : dans la création d’article il n’y pas de proposition d’upload de document, donc j’ai mis dans tmp/upload mais rien ne se passe.

    dans la 2.0.0beta j’ai installé les plugins cfg, spipmotion, xspf avec l’installateur automatique.

    Merci d’avance pour ton aide

    Répondre à ce message

  • [SPIP] Le plugin Spipmotion v.0.2 15 mai 11:03, par freechelmi

    Salut il serait aussi interressant d’utiliser ffmpeg2theora pour pouvoir inclure des Fichier Ogg grace a au model SPIP pour Itheora ... A suivre...

    Répondre à ce message

  • [SPIP 1.9.2 SVN] Le plugin Spipmotion v.0.1 5 avril 2007 02:40, par Jules Y

    Merci pour ce fantastique plugins.

    Je ne peux pas encore l’intégrer à mon site qui est en developement avec la version 1.9.2

    J’espère cependant que le developpement se poursuit. Y a-t-il une date de sortie pour la version 1.9.2 ?

    Répondre à ce message

  • Premier test 13 décembre 2006 07:52, par Aris

    Installation réussie avec un Spip 1.9.2 (finalement)... seul souci : il fallait rendre le fichier de "conf" (in/spipmotion_conf.php) accessible en écriture... ce qui n’était prcisé nullepart.

    L’encodage d’une première vidéo (.avi) placée dans le répertoire tmp/upload se passe aussi sans peine :)) Jusqu’ici tout va bien !

    Par contre, une fois la vidéo placée dans l’article les choses se corsent : le player apparaît bien, mais impossible de jouer la vidéo (qui a bien été copiée dans le répertoire IMG/flv) :(( Fichier .flv qui fonctionne parfaitement lorsque je le télécharge en local.

    Détail trivial peut-être indicatif : dans la fenêtre "document" de l’interface Spip elle annonce une taille de 0x0 (?)

    Pour info je suis sur un serveur en Fedora Core 3.

    Sinon très beau boulot !!!!

    Répondre à ce message

  • Cul de sac 10 décembre 2006 22:16, par Aris

    J’ai testé le plugin et tenté d’encoder une vidéo de mon répertoire "uoload" et là j’ai un beau message d’erreur : Fichier inc/securiser_action introuvable

     :((

    Répondre à ce message

    • Cul de sac 10 décembre 2006 22:39

      tu as bien une version 1.9.2svn ... Si oui, donnes moi son numéro de version... Sinon le passage y sera obligé...

      C’est un fichier de la distribution de spip... pas un fichier du plugin

      Répondre à ce message

Propulsé par : SPIP 2.0.0 dev SVN [12309]