vue Vidéos en streaming (PHP)
Kommunauty
Connexion
Inscription

Vidéos en streaming (PHP)


jack83 Messages : 6

Bonjour,

je suis débutant en PHP et je rencontre un souci bien entendu.

Voilà, je doit intégrer dans un site (PHP) existant, une page permettant de visionner une trentaine de vidéos en streaming (ce sont des cours à disposition des élèves).

le format des vidéos sera du FLV, mon principal souci et dans un premier temps l'organisation (répertoire, upload, schmod 777 sur le serveur racine du site?? ou pas) et dans un deuxième temps la page elle même contenant les liens pour sélectionner la vidéo souhaité et normalement le lecteur. J'utilise Flash CS3 pour encoder les vidéos, et que faire, enveloppe ou pas? et ensuite comment intégrer ce lecteur dans la page de lecture(les élèves ont une page d'accès "login - pass" pour accéder à la page de lecture).

Voilà en gros, j'espère ne pas avoir irrité les spécialistes par un gros amas de conneries, si tel est le cas je m'en excuse, et si quelqu'un a un peu de temps pour m'éclairer et m'indiquer la façon de procéder ce serais génial, merci à tous.

samedi 11 juin 2011

SiMax Messages : 7572

Salut ! Mais noon, il faut pas avoir peur, il n'y a pas de spécialistes irritables sur Kommunauty, que des passionnés

J'ai tout compris sauf une chose : est-ce que tu as déjà toutes les vidéos à mettre d'un coup ou est-ce que c'est des vidéos qui vont être produites au fur et à mesure ?

Si c'est le cas, est-ce que c'est toi qui va t'occuper de produire les vidéos, les convertir et les mettre sur le site ?

Et aussi : les vidéos doivent-elle être accompagnées d'un titre, d'une description, d'une date ? Un peu façon Youtube avec chacune une page destinée ?

samedi 11 juin 2011 (Dernière édition samedi 11 juin 2011)

Dawlin Messages : 3381

Alors c'est pas super bien construit (tu nous parles des "élèves" tout d'un coup ) mais bon on est là pour aider

Donc, ton problème qui se voit clairement dans ton message, c'est l'organisation. Il faut que tu mettes les choses au clair.

Donc tu fais une petite fiche :

  • But : plateforme de streaming simple (ça a l'air d'être une plateforme pour des élèves, donc pas besoin de recréer youtube)
  • Mise en oeuvre :

    • Une page PhP qui écrit une liste de liens pour visionner les vidéos
    • Une page qui visionne les vidéos
    • Un lecteur de FLV (donc en flash )
    • Un dossier de vidéos.

  • Programmation : PhP, car on dirait que tu ne maîtrises pas le flash

Puis tu approfondis, encore et encore, jusqu'à arriver à ton résultat.

Pour ça tu te divises le travail en deux étapes :

L'accès aux vidéos

qui comprendra la liste des vidéos, des liens pour cliquer dessus, etc... bref tout ce qui est en dehors de la lecture à proprement parler.

Première étape, dresser un tableau (avec la méthode des Arrays en PhP) de toutes les vidéos, comprenant une unique colonne :

Adresse de la vidéo

Deuxième étape, demander à PhP de lire le tableau de de te faire une lise de liens :


<?php
// On déclare notre grosse variable
$monArray = array("Chat_dans_toilettes.flv","Vivent_Les_Maths.flv","Kommunauty.flv");

// On fait une boucle qui va lire le tableau
for($i=0; $i<count($monArray);$i++){
  // Donc à chaque ligne du tableau j'écris :
print '<a href="pagelecture.php?v='.$monArray[$i].'">'.$monArray[$i].'</a><br />';
}
?>

Bon, maintenant on va décortiquer ça :

  • La déclaration de variable c'est assez simple, tu tapes juste le nom de la vidéo et on s'en débrouillera
  • La boucle, c'est une boucle qui se répète de 0 à la longueur du tableau
  • < a href=""></a> veut dire "lien"
  • <br /> c'est un retour à la ligne
  • $monArray
  • [$i] ça veut dire l'enregistrement n°i du tableau. Cool non ?

  • pagelecture.php c'est la page où se trouvera le lecteur
  •  ?v=$monArray
  • [$i] on se sert de ce code pour envoyer le nom de la vidéo à "pagelecture.php" quand on cliquera sur le lien. ça s'appelle une variable GET.

ça c'est fait pour la liste de vidéos

Troisième étape, on crée un fichier pagelecture.php

Dessus on marque ce qu'on veut, "bonjour ici on peut lire la vidéo", mais surtout on marque ce code :


<?php
$video = $HTTP_GET_VARS['v'];
$AdresseComplete = "http://www.monsite.fr/dossier/encoreDossier/blabla/".$video;
?>

Ce qui aura pour effet de récupérer le nom de la vidéo dans la variable "v" qu'on a créée avec la liste de liens ci-dessus, et de faire une grosse variable avec l'adresse totale de la vidéo (on peut aussi faire une adresse partielle, mais on va dire que tu as dit que tu débutais )

Quatrième étape : utiliser le lecteur en lui injectant cette adresse de vidéo à charger. c'est là qu'intervient :

La lecture à proprement parler

5ieme étape, trouver un lecteur de vidéos flash (alors on en trouve pour les MP3s comme le Dewplayer, il doit y en avoir sur internet, sinon tu me demandes je t'en codes un j'en ai déjà fait)

6ieme étape : l'installer sur la page grâce aux instructions que te fournira ton distributeur de lecteur de vidéo. C'est en général propre à chaque lecteur.

7ieme étape : lui injecter la vidéo. De même, c'est propre au lecteur.

Voilà, j'espère que ça pourra t'aider. Je reste dispo pour tout approfondissement, question, etc... Et si tu veux un player il y en a de base dans flash

Salutations,

Dawlinouchet.

[EDIT] : SiMax m'a devancé pendant que j'écrivais, le fourbe !

J'avais oublié : le SCHMOD 777 ça veut dire que tu autorises la terre entière à Lire, modifier, remplacer, détruire tes vidéos XD pas besoin ici et surtout dangereux !

P-S : sur Kommunauty, je pense que personne ne se considère comme un spécialiste, et par conséquent, personne ne se sentira irrité par d'éventuelles questions, on est là pour y répondre

samedi 11 juin 2011 (Dernière édition samedi 11 juin 2011)

jack83 Messages : 6

Merci SiMax et merci Dawlin,

Pour répondre aux questions de SiMax, oui, j'ai toutes les vidéo elles étaient en .avi et je les aient encodées dans FLASH en FLV.

j'ai donc le dossier vidéo qui est complet pour chaque vidéo un FLA un FLV et un swf.

Dans le temps certaines d'entres elles seront amenées à être supprimées et de nouvelles à être ajoutées sur le sites et effectivement je suis chargés d'effectuées ces tâches (pas gagné l'affaire).

Ensuite, l'idée que j'avais étais qu'une fois l'accès (login - pass) effectué, ont arrive sur la page avec le lecteur en place (un peu comme youtube) et de disposer de la liste des vidéos que l'on souhaite consulter. En faite le titre de la vidéo sera le lien, pas de date, descriptif...

Pour Dawlin, merci, ta description morcelle un peu la couche nuageuse au dessus de ma tête et laisse apparaitre un peu de soleil je comprends un peu, mais juste un peu mieux les grandes lignes. Concernant les lecteur j'ai trouvé un site qui en propose, mais je ne suis pas sur du tout de réussir l'intégration voilà l'adresse si cela t'interresse http://www.kommunauty.fr/article-608-8-player-video-web-gratuits-pour-votre-site.

Voilà, je ne sais pas si mon message est bien plus clair que le précédent, je répondrais à toutes les précisions qui pourront vous aidez à mieux comprendre mon souci, je vous remercie encore pour votre cordialité et la qualité de vos réponses, à très bientôt.

samedi 11 juin 2011 (Dernière édition samedi 11 juin 2011)

SiMax Messages : 7572

Donc tout devrait pouvoir loger sur la même page !

On va appeler la page videos.php

La configuration

Tu fais déjà un array des vidéos qui associe le nom des fichiers vidéo ("cours1.flv" par exemple) avec les titres ("La biodiversité marine à Poudlard").

Le menu

Puis tu fais un foreach pour te faire un petit menu des vidéos, avec pour chaque enregistrement de l'array quelque chose du style :

<a href='videos.php?nom=$nom'>$titre</a>

Avec $nom le nom du fichier ("cours1.flv") et $titre son titre.

Comme ça, on a un menu qui se met tout seul à jour selon l'array du début.

L'affichage

Tu récupère sur ta page le $_GET["nom"] : s'il n'existe pas, tu lis la première vidéo (le premier élément de l'array). S'il existe, tu lis la vidéo demandée.

Pour lire la vidéo, tu insère un des lecteurs que tu as trouvé en mettant comme URL une variable qui change selon la vidéo en lecture.


C'est un résumé de ce qu'a dit Dawlin, je sais pas si ça peut t'aider à mieux comprendre. Si tu as la moindre question le moindre problème : demande

samedi 11 juin 2011 (Dernière édition samedi 11 juin 2011)

Dawlin Messages : 3381

Oui mais mon code marchait et il était fonctionnel

Au passage, l'adresse que tu nous donnes sur les player de vidéos c'est un article ... d'ici écrit par Simax

Je te conseille d'y télécharger le Dewtube, parce qu'il est fun. Tu le mets dans le même dossier que ta page "pagelecture.php" que nous avons créée tout à l'heure.

Cette page contient donc le code suivant (ainsi que des petites broutilles si tu veux) :


<?php
$video = $HTTP_GET_VARS['v'];
$AdresseComplete = "http://www.monsite.fr/dossier/encoreDossier/blabla/".$video;
?>
<object type="application/x-shockwave-flash" data="dewtube.swf" width="384" height="288" id="dewtube">
<param name="allowFullScreen" value="true" />
<param name="movie" value="dewtube.swf" />
<param name="quality" value="high" />
<param name="bgcolor" value="#000000" />
<param name="flashvars" value="movie=<?php print $AdresseComplete; ?>" />
</object>

Et voilà, tu as deux pages qui peuvent lire les vidéos d'une liste

samedi 11 juin 2011

jack83 Messages : 6

ok, merci à tout les deux, je test ça demain matin, ou plus tard dans la soirée et je vous tiens au courant du "résultat", bonne soirée à tout les deux

samedi 11 juin 2011

SiMax Messages : 7572

@Dawlin : Oui mais c'était pour ré-expliquer d'une autre manière, parce qu'une fois qu'on a compris le fonctionnement ça passe mieux

@Jack : De rien, tiens nous au courant

samedi 11 juin 2011

jack83 Messages : 6

Bonjour à tout les deux,

Me revoilà, et à nouveau dans la panade "alors ça c'est étonnant".

Voilà, je ne saisi pas bien , j'ai fais l'array dans lequel je mentionne le nom de la vidéo, mais où et comment dans ce même array je mentionne le titre.

ensuite dans le foreach, j'ai pour le moment cette ligne que j'ai copier dans le code de Dawlin

print '<a href="pagelecture.php?v='.$monArray[$i].'">'.$monArray[$i].'</a><br />';

Faut il que je la conserve et ensuite je fais une ligne

print ' <a href='cours_videos.php?nom=$IMAG0157.flv'>$Jeu de serviette DOS SC</a>

pour chacune des vidéo????

La troisiemme embrouille se situe dans la partie lecteur, alors là, je n'en sais rien, je vous propose de regarder ce foutoir que j'ai fais, svp, ne vous enfuyez pas définitivement, je ne sais pas si c'est à mourir de rire ou si ça fait pleurer mais bon, j'espère qu'après cela ils vous retera un peu de courage pour me venir en aide.

merci beaucoup, à très bientôt, Jack.

achtung, c'est maintenant :

<!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">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Document sans titre</title>
<script src="Scripts/AC_RunActiveContent.js" type="text/javascript"></script>
</head>

<body>
<?php
// On déclare notre grosse variable
$video_2 = array("IMAG0157.flv","IMAG0161.flv","IMAG0162.flv","IMAG0163.flv","IMAG0165.flv","IMAG0166.flv","IMAG0167.flv","IMAG0168.flv","IMAG0169.flv","IMAG0170.flv","IMAG0171.flv","IMAG0172.flv","IMAG0173.flv","IMAG0174.flv","IMAG0175.flv","IMAG0176.flv","IMAG0177.flv","IMAG0178.flv","IMAG0179.flv","IMAG0180.flv","IMAG0181.flv","IMAG0184.flv","IMAG0185.flv","IMAG0186.flv","IMAG0187.flv","IMAG0188.flv","IMAG0190.flv","IMAG0192.flv","IMAG0193.flv","IMAG0194.flv","IMAG0195.flv","IMAG0196.flv","IMAG0197.flv","IMAG0198.flv","IMAG0199.flv","IMAG0200.flv","IMAG0201.flv","IMAG0202.flv","IMAG0203.flv","IMAG0204.flv","IMAG0206.flv","IMAG0208.flv","IMAG0209.flv","IMAG0210.flv","IMAG0213.flv","IMAG0214.flv","IMAG0215.flv","IMAG0216.flv");

// On fait une boucle qui va lire le tableau
for($i=0; $i<count($video_2);$i++){
  // Donc à chaque ligne du tableau j'écris :
print '<a href="cours_video.php?v='.$video_2[$i].'">'.$video_2[$i].'</a><br />';
}
?>

<?php
$video_2 = $HTTP_GET_VARS['IMAG0157.flv'];
$AdresseComplete = "http://localhost/institut_hypovideo_2/".$video_2;
?>
<script type="text/javascript">
AC_FL_RunContent( 'codebase','http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,28,0','width','320','height','240','title','lecteur','src','video_2/template_maxi_1.6.0/template_maxi/player_flv_maxi','quality','high','pluginspage','http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash','movie','video_2/template_maxi_1.6.0/template_maxi/player_flv_maxi' ); //end AC code
</script><noscript><object classid="clsid27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,28,0" width="320" height="240" title="lecteur">
  <param name="movie" value="video_2/template_maxi_1.6.0/template_maxi/player_flv_maxi.swf" />
  <param name="quality" value="high" />
  <param name="flashvars" value="movie=<?php print $AdresseComplete; ?>" />
  <embed src="video_2/template_maxi_1.6.0/template_maxi/player_flv_maxi.swf" quality="high" pluginspage="http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash" type="application/x-shockwave-flash" width="320" height="240"></embed>

</object></noscript>
</body>
</html>
jeudi 16 juin 2011 (Dernière édition jeudi 16 juin 2011)

SiMax Messages : 7572

Attention quand tu balance du code, pense à mettre des balise code autour, c'est le bouton dans la barre de code.

Le principe de l'array c'est justement que tu as pas besoin de recopier ta ligne plein de fois. Tu décide d'un seul "modèle" qui sera répété pour tous les objets stockés dans l'array.

Tu fais un array :

$videos = array(
array("IMAG0157.flv","Titre de la vidéo 0157"),
array("IMAG0161.flv","Titre de la vidéo 0161")
)

Et ensuite quand tu parcoures cet array :

for($i=0; $i<count($videos); $i++) {
echo '<a href="cours_videos.php?nom='.$videos[$i][0].'">'.$videos[$i][1].'</a><br />';
}

Ca veut dire qu'on va prendre toutes les lignes de l'array $videos. Les lignes c'est la valeur de $i, qui augmente toute seule : 0, 1...

Et pour la première ligne :

array("IMAG0157.flv","Titre de la vidéo 0157"),

On prend d'abord la première partie $videos[$i][0] (l'url) puis la deuxième $videos[$i][1] (le titre de la vidéo)

jeudi 16 juin 2011 (Dernière édition jeudi 16 juin 2011)

Page suivante »