Identification


Moi ... Moi ... et re Moi
« [LINUX] Compiler FFmpeg   Informatique  FLV et metadatas... »

[SPIP] Le plugin Spipmotion v.0.2

mardi 14 novembre 2006, modifié le 25 juillet 2009, par Quentin Drouet

Aucun tag n'est associé

Cet article n’est qu’un brouillon de documentation. Aucun support ne sera fait sur ce plugin tant que la première version stable ne sera sortie.

Objectifs :

Créer un plugin pour SPIP qui permette d’encoder vidéos et sons directement sur le serveur en formats utilisables sur Internet et ainsi d’éviter à l’utilisateur la maîtrise d’un logiciel tiers.

Les formats d’entrée autorisés pour l’instant sont configurables dans l’administration.

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 2.0.8 minimum.
  • 2. Avoir la main mise sur le serveur. Pour les gens en mutualisé, désolé, mais il n’y a 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.
  • 4. Certains autres plugins pour SPIP sont nécessaires :
    • CFG pour la configuration
    • SPIP-bonux pour les boucles POUR
    • Saisies pour les balises #SAISIE
    • getID3 : pour les récupérations d’informations sur les fichiers sonores

Fonctionnement

On upload une vidéo ou un son dans le dossier comme document joint dans SPIP.

Le maximum d’informations sont récupérées automatiquement comme la hauteur, la largeur, un logo...

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.

La configuration

La configuration du plugin est relativement complexe :

  • La première étape est la sélection des formats pris en charge. Ces formats sont ceux qui sont utilisés pour récupérer des informations et qui seront potentiellement activable pour un encodage dans un autre format. Le résultat est deux arrays récupérables en SPIP de la sorte :
    1. #CONFIG{spipmotion/fichiers_audios}
    2. #CONFIG{spipmotion/fichiers_videos}

Ou encore en PHP de la sorte :

  1. lire_config('spipmotion/fichiers_audios')
  2. lire_config('spipmotion/fichiers_videos')

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 :

Le code

<doc263>

insère le document habituel :

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.

Liens connexes

Documents joints

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 21 décembre 2009 17:36

    En effectuant une recherche sur internet, je suis tombé par hasard sur votre site et y ai trouvé la réponse à ma question. Merci beaucoup, toutes mes félicitations pour votre site et bonne continuation !

    Jeux - Citation - Blague

    Répondre à ce message

  • [SPIP] Le plugin Spipmotion v.0.2 26 août 2009 11:28, par Ari

    Bonjour,

    après installation, je n’arrive pas à afficher les formulaires d’ajout et d’encodage dans l’espace privé… Doit y avoir des fichiers à déplacer de /plugins/spipmotion vers /plugins/saisies mais là je patauge…

    Voir en ligne : http://rebellyon.info

    Répondre à ce message

    • [SPIP] Le plugin Spipmotion v.0.2 28 août 2009 23:24, par Quentin Drouet

      Le plugin tel qu’il éxistait n’offrait pas assez de pérennité ... il est en complête refonte... Mais comme le temps manque ... il n’y a pas de date de sortie prévue pour l’instant...

      Répondre à ce message

  • [SPIP] Le plugin Spipmotion v.0.2 5 mars 2009 15:16, par ludo

    bonjour,

    j’essaie la chose sur l’environnement suivant :
    - debian
    - installé ffmpeg comme indiqué (la commande ffmpeg renvoit "FFmpeg version SVN-r17824, Copyright (c) 2000-2009 Fabrice Bellard, et al.")
    - spip 2.0.3
    - installé les plugins : spipmotion et CFG

    je ne vois pas les mêmes formulaires que dans la vidéo de cette page, pas de "vidéo à encoder" ? je n’ai en fait aucun nouveaux formulaires ...

    j’ai oublié un truc ?

    Répondre à ce message

  • [SPIP] Le plugin Spipmotion v.0.2 15 septembre 2008 14:32, par faly

    Bonjour

    Si je comprends, il a fallut insérer les videos dans tmp/upload/, puis les encoder sur editer_article ... Je travaille avec thierry sur SPIP 2.0.0. En EasyPHP local, nous arrivons à obtenir le formulaire "VIDEO A ENCODER". Par contre, sur notre serveur d’évaluation debian, on n’arrive pas à obtenir ce formulaire alors qu’on a bien installé ffmpeg et rendre 777 le droit de spipmotion.sh. Merci d’avance pour ton aide

    A propos des To Do List, on souhaiterait que les fichiers avi, mov, mp4, mpeg soient converti en flv automatiquement après quelques secondes d’upload dans IMG. Dans ce cas là, il faut référencer le document flv nouveau à la place de l’ancien.

    A+

    Répondre à ce message

  • [SPIP] Le plugin Spipmotion v.0.2 5 septembre 2008 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 2008 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.10 SVN [15268]