Php + vidéo

Eléphant du PHP | 193 Messages

22 janv. 2007, 16:33

Bonjour à tous!

Est-il possible de gérer dynamiquement des vidéos avec php5?

Je m'explique:

J'ai une base de données avec des url de vidéos (pour l'instant en flash).

Je souhaite qu'au clic sur un des liens, la vidéo se charge dans une page HTML dans laquelle on aurait intégré un lecteur flash par exemple (parceque c'est le plus démocratisé). Ceci plutôt que de créer une nouvelle page HTML avec un lecteur flash pour chaque lien.

Merci de l'aide que vous pourrez m'apporter.

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

22 janv. 2007, 16:49

Effectivement, il est possible de donner des paramètres au flash pour qu'il les utilise en interne par la suite.

Mais il faut des compétences en PHP et en Flash pour cela ;)
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Eléphant du PHP | 193 Messages

22 janv. 2007, 17:08

Merci Zeus!!

Je suis persuadé que tu as des compétences en PHP et en flash et moi je ne demande qu'à apprendre.

Je sais faire un diaporama en dynamique avec flash, intégrer une vidéo flash dans du HTML (cf: http://develop.web.free.fr) et je sais générer dynamiquement les données en fonction url; cf:

http://develop.web.free.fr/template_gen ... _camping=3 = Pour la vidéo voir cadre "Informations" en bas à droite.

ça va suffire selon toi?

Merci!

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

22 janv. 2007, 17:16

Compétences en PHP, je pense me défendre. :-*
En Flash, par contre ... 8-|

Je sais que pour intégrer un objet Flash dans une page HTML, il faut utiliser la balise <object> ou <embed> et qu'il est possible de passer des paramètres au Flash.

Ensuite, il ne reste qu'au Flash à utiliser ces variables pour charger la bonne vidéo. Mais je ne sais pas comment faire cette dernière étape
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

ViPHP
AB
ViPHP | 5818 Messages

22 janv. 2007, 17:22

bonjour,

La première étape c'est de chercher dans google :Intégrer vidéo flash dans une page html.
Le code sera différent en fonction du lecteur flash utilisé.
Ensuite il te restera à passer les bons paramètres à l'aide de ta bdd.

Sinon la solution Divx Web player est maintenant disponible depuis quelque temps et semble promise à un bel avenir : lecteur et nombreux encodeurs libres de droits, excellente qualité. Et divx propose un générateur de code à insérer dans une page html http://labs.divx.com/WebPlayerCodeGenerator

EDIT le temps de poster je n'avais pas vu tes messages suivants.
Modifié en dernier par AB le 22 janv. 2007, 17:39, modifié 1 fois.

Eléphant du PHP | 193 Messages

22 janv. 2007, 17:37

Pour les sites, je code avec bloc notes, notamment pour XHTML et CSS, mais pour vidéo flash, je fais confiance à Dreamweaver, qui a l'aor de faire ça très bien...

C'est la dernière étape consistant à charger les éléments de la bdd dans flash qui n'est pas ...

Si je trouve, je vous fais suivre...

ViPHP
AB
ViPHP | 5818 Messages

22 janv. 2007, 17:44

Re

Il te suffit donc de trouver dans la balise objet, les endroits où sont insérés le nom de tes fichiers. Ensuite tu remplaceras l'adresse en fixe par
un
<?php echo 'nom de ton fichier issu de la requête mysql' ?>

Eléphant du PHP | 193 Messages

22 janv. 2007, 18:33

Salut AB: je ne sais pas si cela peut onctionner dans mon cas: en tout cas, je n'arrive pas à me le représenter.

Imaginons:

- Soit M. X cliquant dans le menu sur campings,
- L'ensemble des campings de la base s'affichent avec région répétée.
- Il choisit un camping et clique sur le lien pour afficher toutes les informations liées à ce camping, il obtient la page sur laquelle, il voit lien vers le site, adresse, photos,.. et vidéo.
- Il clique sur le lien vidéo qui envoit une requête sql pour aller chercher le chemin du fichier vidéo sur le ftp

Ce lien peut être récupéré par le ".swf" si on intègre le code (que tu as placé dans ton message) dans la balise <object> du fichier html???

Merci !

ViPHP
AB
ViPHP | 5818 Messages

22 janv. 2007, 19:12

A l'étape 3

- Il choisit un camping et clique sur le lien pour afficher toutes les informations liées à ce camping, il obtient la page sur laquelle, il voit lien vers le site, adresse, photos,.. et vidéo.

Le lien devrait comprendre une variable qui déclenche une requête mysql qui ira chercher dans la bdd le nom du fichier swf correspondant au camping.

Il te suffira ensuite d'intégrer le contenu de cette requête (nom du fichier swf) à l'endroit voulu dans ta balise objet.

C'est le même principe que d'afficher le résultat d'une requête dans une page. Sauf qu'ici tu l'affiches en lieu et place de l'adresse de ton fichier indiqué dans la balise objet.

Invité
Invité n'ayant pas de compte PHPfrance

22 janv. 2007, 20:09

J'essaie ça et je te dis si ça marche...

Croisons les doigts!

Invité
Invité n'ayant pas de compte PHPfrance

22 janv. 2007, 23:14

Un grand merci!!!

ça fonctionne nickel!!!

Eléphant du PHP | 193 Messages

22 janv. 2007, 23:16

Désolé pour les deux messages postés en tant qu'invité.

Je ne savais pas qu'un temps d'inactivité lançait la déconnexion.

Merci à tous pour votre participation!!

Eléphant du PHP | 193 Messages

02 févr. 2007, 16:56

Bonjour à tous!

Je viens de me rendre compte que si cela fonctionnait très bien sur ie; ce n'était pas le cas sous firefox (pour une fois que c'est dans ce sens): la vidéo semble ne pas se charger:

"En attente de develop.free.fr"

Il y a t-il une explication à cela? Connaissez-vous une solution? Merci par avance!!

La page est visible ici (enfin sur ie):

http://develop.web.free.fr/video_flash. ... _camping=1

Voici le code:

Code : Tout sélectionner

<?php require_once('connections/free.php'); ?> <?php $colname_rs_camping = "-1"; if (isset($_GET['num_camping'])) { $colname_rs_camping = (get_magic_quotes_gpc()) ? $_GET['num_camping'] : addslashes($_GET['num_camping']); } mysql_select_db($database_conn_develop, $conn_develop); $query_rs_camping = sprintf("SELECT * FROM tbl_camping WHERE num_camping = %s", $colname_rs_camping); $rs_camping = mysql_query($query_rs_camping, $conn_develop) or die(mysql_error()); $row_rs_camping = mysql_fetch_assoc($rs_camping); $totalRows_rs_camping = mysql_num_rows($rs_camping); ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>Video en flash sans streaming</title> </head> <body onload="MM_CheckFlashVersion('7,0,0,0','Le contenu de cette page nécessite une version plus récente de Macromedia Flash Player. Voulez-vous le télécharger maintenant ?');"> <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0" width="480" height="270" id="FLVPlayer"> <param name="movie" value="FLVPlayer_Progressive.swf" /> <param name="salign" value="lt" /> <param name="quality" value="high" /> <param name="scale" value="noscale" /> <param name="FlashVars" value="&MM_ComponentVersion=1&skinName=Corona_Skin_1&streamName=<?php echo $row_rs_camping['urlvideo_camping'] ?>&autoPlay=true&autoRewind=true" /> <embed src="FLVPlayer_Progressive.swf" flashvars="&MM_ComponentVersion=1&skinName=Corona_Skin_1&streamName=<?php echo $row_rs_camping['urlvideo_camping'] ?>'&autoPlay=true&autoRewind=true" quality="high" scale="noscale" width="480" height="270" name="FLVPlayer" salign="LT" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" /> </object> </body> </html>
Merci de votre aide!!

ViPHP
AB
ViPHP | 5818 Messages

02 févr. 2007, 17:22

Bonjour,

Cela vient du contenu de la balise objet.

Un exemple qui fonctionne avec ie et firerox

Code : Tout sélectionner

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="450" height="250" id="FLVPlayer2"> <param name="movie" value="FLVPlayer_Progressive.swf" /> <param name="salign" value="lt" /> <param name="quality" value="high" /> <param name="scale" value="noscale" /> <param name="FlashVars" value="&MM_ComponentVersion=1&skinName=Clear_Skin_3&streamName=VIDEO/Asmelloffox_capartenlive_1.flv&autoPlay=false&autoRewind=true" /> <embed src="FLVPlayer_Progressive.swf" flashvars="&MM_ComponentVersion=1&skinName=Clear_Skin_3&streamName=VIDEO/Asmelloffox_capartenlive_1.flv&autoPlay=false&autoRewind=true" quality="high" scale="noscale" width="450" height="250" name="FLVPlayer2" salign="LT" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" /> </object>

Eléphant du PHP | 193 Messages

02 févr. 2007, 18:45

Ok pour le code, mais où dois-je placer mon code php?

J'ai essayé ça et ça ne fonctionne pas:

Code : Tout sélectionner

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="450" height="250" id="FLVPlayer2"> <param name="movie" value="FLVPlayer_Progressive.swf" /> <param name="salign" value="lt" /> <param name="quality" value="high" /> <param name="scale" value="noscale" /> <param name="FlashVars" value="&MM_ComponentVersion=1&skinName=<?php echo $row_rs_camping['urlvideo_camping'] ?>'=VIDEO/Asmelloffox_capartenlive_1.flv&autoPlay=false&autoRewind=true" /> <embed src="FLVPlayer_Progressive.swf" flashvars="&MM_ComponentVersion=1&skinName=<?php echo $row_rs_camping['urlvideo_camping'] ?>'=VIDEO/Asmelloffox_capartenlive_1.flv&autoPlay=false&autoRewind=true" quality="high" scale="noscale" width="450" height="250" name="FLVPlayer2" salign="LT" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" /> </object>
Qu'en pensez-vous?

Merci par avance!