php et streaming vidéo

Download php et streaming vidéo

Post on 07-Jun-2015

1.040 views

Category:

Documents

2 download

Embed Size (px)

DESCRIPTION

PHP SOLUTIONS

TRANSCRIPT

Votre propre GoogleVideo : streamingvideo en PHPNiveau de difficult : oRafal Malinowski

commentfonctionnait Vousvous tesdemands la lecturede films partirdu Web ? Aimez-vousGoogleVideo? Faites en video (diffusion du connaissance streaming flux continu des vidos)et crezvotre propre galerieWeb de films. ll suffit de connatreles basesde PHPet c'est tout !ublier les films sur Intemet en se basantsur Flash Playercomprendtroisoprations : . . le convertir film au formatFlashVideo par (FLV)support FlashPlayer, crer le lecteur (Media Player) qui chargerale film depuisle serveuret le prsentera clientdansle navigateur, au publierun site Web o vous placerez le lecteur. d'exploitation du dpendants systme la fonctionnera galerie, aveclequel troisimepartie: nous nous baseacquirons sur les connaissances ses dans la deuximepartie ainsi que sur le code que nous y aurons cr pour raliserune versionfinale du service: une galerie de films et fonctionnelle universelle.

.

.

rapide Dmarragetroistapes: tape 1 Vousallezeffectuer - convertirle fichiervido;tape2 - rali" vidoen Flash;tape 3 - inser un lecteur en tgrerle lecteur HTML.

ci{essus, Afin de dcrireles oprations : en nousavonsdivisI'article troisparties . Rafal Mallnowskl esl prcgnmmeur et npteur d'applitionsrseau en PHe JAUAet AdionSaipt.Pendantson temps libre, il cre des bibliothques pur Flash pafticip plusieursproiets et il Open Source.Aduellernent, tnvaille sur chez SUPERMEDIA le poste de concepteur/prcgnmmeurJava. @ntad: malinr@wp.pl premire partie: dmanage rapide comment o nousvous prsenterons, publier film sur Internet. seraun Ce un pourla plate-forme Windows, exemple partie: nousdvelopperons deuxime ensemble l'exempledcrit dans la premirepartie et nous prsenterons les commentautomatiser oprations dcriteset commentvous rendrein-

Ge qu'il faut savoir...Avoir les bases de PHP sera trs utile.

.

Getarticleexplique...Vous apprendrez comment crer votre prc,preGoogle Video: une galerie complte de films avec Media Player Flash sur Intemet qui permettrade charger les films et de les lire en continu.

www.phpsolmag.org

PHP SolutionsN" 5/2006

En fonction du systme d'exploitation et des solutionsutilises,il est possible d'effectuer chacune de ces tapes de p l u s i e u r sm a n i r e s . D a n s u n p r e m i e r temps, ralisez une prsentationprte atteindre rapidement l'objectif. Pour ce faire, utilisezdes programmes commerciaux (version d'essai), disponibles uniquement(hlas) pour la plate-forme Windows. Toutes les tapes seront prsentesI'une aprs I'autre. Dans la partie suivante de I'article, nous vous prsenterons les solutions indpendanqui tes du systme d'exploitation ncesplus de travail. toutefois sitentj

Flla

[ar6.u4,c

? - , Online Hclp -. Forum

f VAh.rInpulVideo

'*+FLv EN..DER

,;h

lf,deonleb

Presel D5[,xml

,' 8rrc u.lo, fiovic Skc

Mdco

I

tmagcO'

'et6-r Fnmcrrtc

'

{Deinterlace Bltrtc

OrfFf OutputDirectoryE:\documents\adminVny-documcntsll\oje widco Destinetion Yideo tile Brotsc

Gonversion d'un fichier vidoFlash Player travaille avec les fichiers vido au format Flash Video (FLV). Ce format est rarement rencontr et il est donc ncessaire de le convertir. Pour ce faire, utilisez le programme Riva FLV Encoder (http://www.rivavx.com/? encoder). Comme vous le voyez sur la Figure 1, Riva FLV Encoder vous permetde : . . . . configurer rsolution film initial(1), la du configurer les paramtres de compression fichier (2), du couper correctement les images du film(3), configurer paramtresdu son (4). les

Roeult

fl r|rotF{f6

fffi

llIE rd rfvrf,tr

Figure 1. Riva FLV Encoder - convertisseurde fichiersvido au format FLV document, par exemple, testplayer.fla et dplacez le composant MediaPlayback (1) sur la scne (2) (en anglais Sfage, zone de travail du document). Ensuite, lancez Component lnspektor(3) o il faut saisir le chemin d'accs (URL) au fichier FLV (4) prpar au pralable.L'URL peut avoir la forme d'un chemin relatif ou absolu (qui commence soit par file:\ soit par http:\). Pour simplifier, nous admettons que aussi bien Media Player que le film se trouveront dans le mme dossier et donc qu'il suffitde saisirle nom du fichier vido : videotest.flv.

De plus, ce programme vous permet de rcuprer seul cadre du film et l'enun registrer sous forme de fichier graphique JPEG ongletlmage(5). Afin d'effectuerla conversion,paramtrezle chemindu fichierinitialet du fichier de sortie et cliquez sur le bouton FLV Encode(6). Enregistrezle premier fichier FLV. Appelez-le videote st.flv.

Lecteur vido FlashMacromedia Flash, programmeque vous utiliserezpour raliser le premier clip flash,disposed'un Media Player lgant. Macromedia Flash est payant mais pour les besoins de prsentation,nous utiliseronssa version d'essai tlcharger depuis le site: http://www.adobe.com/ produ cts/flash/fIashp ro/. Une fois cette version installe,vous pouvez raliser un lecteur vido Flash attrayant avec minimum de travail. Lancez Flash (Figure 2), crez un nouveau Figure 2. Macromedia Flash- zone de travailde l'application

PHP Solutions 5/2006 N"

www.phpsolmag.org

r,Ete E $ew Ep Eodqks lodr SF

-ltrlIlI

Publication MovieClip deEnsuite, il faut crer un fichier HTML o vous placerez Movie Player de sorte que les autres puissent le regarder. En ce qui conceme le tlchargement fichiervido du et sa lecturedans le navigateur, c'est Movie Playerqui s'en charge. MacromediaFlash vous facilite ici considrablement tche. la Slectionnezla commande File -> Publish Seffings dans le menu (Figure 3). Dans la nouvelle fentre, dans I'onglet Flash, configurez les paramtres de la publica-

t " . l |3

#] tr

@

IGI + 6lr*e'///e'/oocuncnts/ac

((

tion et slectionnezla version 7 de Flash Player (1). Cliquezsur le bouton Publish; deux nouveaux fichiers: fesfp/ayer.svvf et testplayer.html apparaissent dans le rpertoire o vous aviez enregistrle fichier

Figrrre 4 Composant MediaPlaybackde Macromedia prsentant un film dans le navigateur lnternet

testplayer.fla.Si vous plaz prsent ces fichiers avec le fichier vido sur le serveur et si vous ouvrez la page testplayer.html, vous devriezvoirle film publidans le navigateurIntemet(Figure 4).

Crrrer*profle: loefaUt Fsmats Fl$ l**

gJ + lqlo | ::r I:J

C'est prt !Nous finissons ainsi cette introduction. La page cre sera visible dans tous les

I

7 lerdon: lrbsh Player

up leottom

:lsctthEp,..I

navigateurs Internet dots d'un plug-in Flash Player7 ou suprieur. Comme vous pouvez le constater,raliserune publication de fichiersvido est trs simple. Malheureusement,les solutions utilises ne rpondent pas nos besoins. Premirement, elles sont commerciales(elles cotent cher) et ne sont disponiblesque pour la plate-formeWindows. Deuximement, il faut effectuer toutes les oprations la main. prsent,nous essayeronsensemble d'automatiser processusde converle sion de films, nous insisteronssur le ct universel en nous rendant indpendants du systme d'exploitation en plus, nous et que des logiciels gratuits. n'utiliserons

2.0 ftiotSsbt vursion: lRctionscript :JOptbne: l- gencr*a dzefepgt

JfIFl-

Er*t fromirport or* irc ectinrs ocUugfig pcrn*tcd Conprcss rnovbOptnnizef FlashPlaver 165 or 6

Pswsd: I

0l Audo tlcsn: AJdo gva*: lfil, 16 kbps, iltrp

l'1P3,16 kbps, 'lono l- Ovtrlridcsflnd scfiftgt l- expo* dcrdcasdrxk

ll est temps de le dvelopperSi vous voulez permettre I'utilisateur de tlcharger vos propres fichiers vido, il faut offrir une conversion automatique de films. Standard Flash Video (FLV) est un format destin aux fichiers vido, invent par Macromedia; il permet une difiusion en continu (en anglais streaming) des films du serveur I'aide de Macromedia Flash Player (version 6 ou suprieure).

LCdrybd,scilt:

cd lFigure 3. Macromedia Flash- Publish Seffings

Le streaming permet de montrer le film lors de son tlchargement.Flash Player dispose galement d'autres mthodes, permettant de foumir les films au navi-

www.phpsolmag.org

PHP Solutions 5/2006 N'

gateur, par exemple, le tlchargement progressif (en anglais progressive) ou I'enregistrement fichier vido dans le du corps Flashde Movie Clip. Ces mthodes ontdes avantagesmais il est recommand d'utiliser difiusion en continu pour les la filmslongs. Dans le premier exemple, vous avez utilis programmeRiva FLV Encoderpour le efiectuer conversionde fichiersvido : ce la programme utilisedeux programmesOpen pourconvertirles fichiers: FFMPEG Source (http mpeg. so urcefo rg e.n eUin dex. p hp) ://ff et I-AME (httpl/lame.sourceforge.nett). Le premierd'entre eux est un convertisseur pour les fichiersvido et audio et universel le secondn'estdestinqu'auxfichiersaudio et permetde les enregistrerau format MP3 (MP3est pour I'instantle seul format audio lu parFlashPlayer).

Voici un exemplede commande,charge de convertirle film du format AVI au FLV (en dterminantla taille du film et la qualitdu son) :ffmpeg -ar -y -i tmp\test.avi -acodec mp3

-ab 32 -f

fLv -s 160x120

tmp\test.flv

o: -ar rare - configure la frquence

22050

d'chantillonnage Hz, en

mrngfrffdfnrf ftrshn brynf,bl8d

.3b6lsl

ffmpeg

FFMPEG conversion defichiersvidoSi vous dcidez de compiler vous-mmes les sources du programme FFMPEG sur le serveur, n'oubliezpas I'option-mp3lame. Elle permet de convertir les pistes audio des fichiersvido au format MP3. Si vous ne le faitespas, lors de la lecture par Flash Player, votre vido sera dpourvuedu son (si, lors de compilation,vous obtenez un messaged'absence de bibliothquesncessaires, nous vous recomman