PhilFlash

Vidéo FLV en PHP Streaming avec le JW FLV Player de Jeroen Wijering

Mise à jour /Updated - 14 octobre 2008

Traduire/Translate : English - Deutsch (by Google)

Pour visualiser cette vidéo, vous devez activer Javascript et avoir installé la dernière version Adobe Flash Player.
Téléchargez gratuitement Flash Player maintenant.

Téléchargez Flash Player

Obtenir les sources Sources - version 1.35 - Mise à jour/Updated - 2 mai 2008

FAQ (in English)

Obtenir les sources Exemples sans video - Sample applications without video file (238 ko) - Mise à jour/Updated - 14 Octobre 2008

Obtenir les sources Exemples avec videos - Sample applications with video files (57 774 ko) - FTP - Mise à jour - 14 Octobre 2008

Autre exemple de vidéo avec sous-titres

Demo 2 : Autre exemple : Elephants dreamCliquez-ici pour un autre exemple de vidéo en PHP Streaming avec sous-titres

Elephants dream

 

Introduction

Avec le format vidéo Flash flv, il existait deux modes : le mode progressif et le mode streaming.

L'inconvénient du mode progressif est qu'il faut attendre le chargement complet de la vidéo si on veut se positionner à un endroit précis dans la vidéo.

L'inconvénient du mode streaming est qu'il faut utiliser un serveur spécialisé (et donc cher) tel que Flash Media Server par exemple.

Depuis la fin 2005, il existe un 3ème mode : le PHP Streaming. Le grand intérêt du PHP Streaming est de se positionner à n'importe quel endroit dans une vidéo. Et il suffit d'avoir un serveur PHP "tout simple".

Pour une introduction sur le PHP Streaming, consultez la FAQ (in English).

Dans un précédent article, nous utilisions le FLVplayback pour visualiser des vidéos en PHP Streaming.
Mais, il existe des bugs bloquants avec le player 9.
Dans certains cas, le FLVPlayback avec le PHP Streaming casse les navigateurs (avec Internet Explorer ou FireFox) avec le player 9.
Nous avions donc besoin d'un autre player pour le PHP Streaming.
Notre choix s'est porté sur le Flash Video Player de Jeroen Wijering.

JW FLV Player de Jeroen Wijering

Le JW FLV Player de Jeroen Wijering est un lecteur de vidéo dont les sources sont disponibles.

Le lecteur est disponible sous licence Creative Commons License
Il peut-être utilisé et modifié pour des applications non-commerciales.
Pour un usage commercial, le prix d'une licence est de 20 Euros.
Pour des informations supplémentaires sur les licences, consulter la page sur les licences sur le site de Jeroen Wijering.

PHP Streaming avec le JW FLV Player

En standard, le lecteur Flash Video Player a une option pour visualiser des vidéos en PHP streaming (Jeroen utilise le terme Http Streaming).
Il suffit de positionner une variable streamscript avec un script PHP et d'ajouter des metadatas (avec par exemple, le FLV MetaData Injector de Burak Kalayci : http://www.buraks.com/flvmdi/).

Malheureusement, cette option 'Http streaming' a de nombreux bugs.
Par exemple, si on effectue un saut dans la vidéo et lorsque le player arrive en fin de vidéo, le player revient à la position du dernier saut (et pas au début de la vidéo).

Ayant une bonne expérience du PHP Streaming (et des nombreux problèmes rencontrés avec le FLVPlayback), nous avons décidé de créer une version spéciale pour le PHP Streaming avec des fonctions supplémentaires :

Comment ajouter une vidéo en PHP Streaming avec le FLash Video Player

Voici la marche à suivre :

  1. Encoder votre vidéo
  2. TRÈS IMPORTANT
    Injecter les metadata. Pour ceci, utiliser le produit gratuit FLV MetaData Injector de Burak Kalayci
  3. Uploader votre vidéo sur votre serveur PHP
  4. Uploader les 4 fichiers : phpsflvplayer.swf, flvprovider.php, playerProductInstall.swf et swfobject.js
    Ces fichiers sont disponibles dans les exemples (répertoire scripts)
  5. Ajouter dans le fichier HTML le code suivant (Mise à jour octobre 2008 pour SWFObject 2.1)
    (les scripts dont swfobject.js dans la partie head puis un div flashcontent dans la partie body) :

    <head>
    <script type="text/javascript" src="swfobject.js"></script>
    <script type="text/javascript">
    var attributes = {};

    var params = {};
    // for fullscreen
    params.allowfullscreen = "true";

    var flashvars = {};
    // the video file or the playlist file
    flashvars.file = "myvideo.flv";

    // the PHP script (1.5 is a recommended value for PHP Streaming for bufferlength)
    flashvars.streamscript = "flvprovider.php";
    flashvars.bufferlength = "1.5";

    // width and height of the player (h is height of the video + 20 for controlbar)
    // required for IE7
    flashvars.width = "320";
    flashvars.height = "260";
    // width and height of the video
    flashvars.displaywidth = "320";
    flashvars.displayheight = "240";
    flashvars.autostart = "true";
    flashvars.showdigits = "true";

    // for fullscreen
    flashvars.showfsbutton = "true";

    // 9 for Flash Player 9 (for ON2 Codec and FullScreen)
    swfobject.embedSWF("phpsflvplayer.swf", "flashcontent", "320", "260", "9.0.0",                    "playerProductInstall.swf", flashvars, params, attributes);
    </script>
    </head>
    <body>
    <div id="flashcontent">
    </div>
    ...
    </body>

  6. Uploader le fichier HTML.
  7. C'est fini. Vous pouvez tester votre vidéo en PHP Streaming avec votre navigateur.

La vidéo de l'exemple : Rouler à l'huile

La vidéo est une vidéo en Creative Commons license: Lipopropulsion de Radhanath Gagnon, Mathieu Poulin, Raphael Lorand et David Chabot.

Vous pouvez la télécharger en différents formats ici : http://www.archive.org/details/collectifLipopropulsion

C'est une vidéo de 7:32 minutes. Elle a été encodée avec l'encoder Flix Pro d'ON2 à 420K avec les paramètres suivants :

FAQ

Consulter la FAQ (in English).

Version et release

Historique des versions

version 1.35r2 du 14 octobre 2008

- Utilisation de SWFObject 2.1 pour les démonstrations

version 1.35 du 2 mai 2008

- Portage sur la version 3.16 du JW FLV Player

version 1.32 du 17 novembre 2007

- corrections pour le cas : une vidéos avec playlist et différents chapitres

Sources 1.32

version 1.31 du 10 novembre 2007

- corrections mineures + nouveaux exemples

version 1.3 du 14 octobre 2007

- Portage sur la version 3.12 du JW FLV Player

version 1.2 du 2 juin 2007

- Changement sur hauteur du texte dans playlist pour pourvoir mettre des titres sur plusieurs lignes
  Exemple : <title><![CDATA[La voiture qui fonctionne <br/>à l'huile à patate.]]></title>

version 1.1 du 27 mai 2007

- Correction sur démarrage par un chapître sur playlist
- correction sur la position des sous-titres en fullscreen

version 1.0 du 17 mai 2007

Cette version utilise la version 3.8 du Flash Video Player.
Les sources sont livrées. Les lignes modifiées sont préfixées par PhilFlash.
Les modifications importantes sont dans le fichier com/jeroenwijering/players/FLVModel.as

 

Me connaître  |  Me contacter