Conception d'un clone youtube

Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics

Mitirapa
WRInaute accro
WRInaute accro
 
Messages: 1649
Inscription: Mer Juil 10, 2002 17:36

Conception d'un clone youtube

Message le Jeu Oct 19, 2006 16:43

ca fleurit en ce moment du coté des clone youtube et je suis sur que bcp d'entre vous possede une partie video dans leur site...

j'avais aussi ca à l'ancien systeme, cad on encode soit meme les videos et on les rajoute, et vu que j'en avais pas bcp j'ai voulu passé a un systeme youtube qui encode lui meme les videos des internautes (ou de l'admin selon votre script) afin d'avoir plus de videos
(au final j'ai fait ca http://www.surf4all.net/modules.php?nam ... &voircat=1 )
ATTENTION: merci de pas tester en uploadant vos videos, car je ne veux que du surf... sinon yen a qui vont pourrir mon truc :twisted:

je ne vais pas mettre tous mes codes sources (car apres c'est chacun sa sauce, mais detailler un peu ce qu'il faut en tout)

donc avant tout il faut:
-avoir un dédié
-connaitre le minimum en serveur linux (je suis un debutant pour ma part)
-connaitre tranquillos sont php/mysql

Premiere étape: avoir un logiciel sur le serveur pour encoder en flv les videos...
il existe pour ca ffmpeg (site officiel: http://ffmpeg.mplayerhq.hu/ )
si on fait directement, vous aurez ptetre des trucs genre codecs qui vont vous bloquer par la suite donc je vous conseille de suivre dans le meme ordre 98% de cette page:
http://www.funix.org/fr/linux/base-video.htm
les 2% restant seront les trucs que vous aurez pas reussi ou jugé pas utile
en tant que newbie, cette page est faisable et dedans vous aurez l'etape pour installer ffmpeg
puis tester en ssh une commande, exemple:
/usr/local/bin/ffmpeg -i mavideo.avi manouvellevideo.flv
(il existe des options comme redimmensionner, etc.., cf le site officiel de ffmpeg)

Seconde etape: Faire votre script d'upload
bon on a deja ffmpeg qui fonctionne, maintenant faut un script pour uploader des gros fichiers sur le serveur, il y a plusieurs solutions:

la mieux serait d'utiliser un script cgi, j'ai trouvé Uber-Uploader qui a l'air vraiment interressant
( http://uber-uploader.sourceforge.net/ )

Sinon perso,j'avais un prbl de cgi sur mon site, donc j'ai cherché autre, et j'utilise du flash+php
pour le flash j'ai trouvé un petit script tout simple, par contre j'ai perdu l'url de l'auteur, donc j'ai mis la le fichier: http://www.surf4all.net/up.zip
(il y a aussi la source .fla dedans)
il faudra aussi dans ce cas malheureusement modifier votre php.ini afin d'augmenter la taille d'envoi des fichiers vers votre serveur, et le timeout

Troisieme étape: faire encoder les fichiers uploadés
donc on upload les videos dans un dossier
on fait un cron qui va verifier par exemple toutes les 20 minutes le dossier, et qui encode en flv dans un autre dossier
mon cron:
Code: Tout sélectionner
#!/bin/sh
# script /home/ff

ls -R /home/web/surf4all.net/videoorigine/* | while read fichier
do

file "$fichier" |grep "video" 1>/dev/null &&
fichier2=${fichier/uploads/flvfinal}
fichier2=${fichier2/avi/flv}
fichier2=${fichier2/mpeg/flv}
fichier2=${fichier2/mpg/flv}
fichier2=${fichier2/wmv/flv}
fichier2=${fichier2/divx/flv}
fichier2=${fichier2/AVI/flv}
fichier2=${fichier2/MPEG/flv}
fichier2=${fichier2/MPG/flv}
fichier2=${fichier2/WMV/flv}
fichier2=${fichier2/DIVX/flv}
if /usr/local/bin/ffmpeg -i "$fichier" -s 320x240 -ar 22050 -b 600k "$fichier2"
rm "$fichier"
then echo "Conversion du fichier $fichier reussi."

else echo "Probleme de conversion du fichier $fichier"
fi


/usr/local/bin/ffmpeg -i "$fichier2" -vcodec mjpeg -vframes 1 -an -f rawvideo -s 160x120 "$fichier2.jpg"
done

attention, j'ai une ptite erreur dans mon cron (j'ai jamais codé en sh), cad, qu'il fait pas ma boucle comme il faut mais ca fonctionne qd meme un minimum et surement qu'il est mal fait dirons les codeurs... (donc si vous avez mieux je suis preneur)
(j'ai trouvé comment faire ce cron a partir d'une personne qui le faisait sur http://lea-linux.org/pho/read/7/298584 )

Quatrieme étape: bien penser vos script du debut de l'upload a sa conversion en flv, il faut arriver a trouver si la video est bien uploadé (dans une base de donnée je confirme l'upload), bien converti (en php je teste le fichier encodée si il existe) et faire une vignette (c mon cron qui fait avec ffmpeg si vous regardez bien)
Puis apres ben s'amuser à programmer votre script, et pour le lecteur flash celui la est le mieux que j'ai trouvé: http://www.jeroenwijering.com/?item=Flash_Video_Player

Options: il existe une extension ffmpeg-php pour php ( http://ffmpeg-php.sourceforge.net/ ) qui vous permet de connaitre la durée, et d'autres trucs sur la video, ou de generer une vignette...
pour mon cas, je n'arrivais pas a l'utiliser (segmentation fault dans apache) et c'est pour ca que ma vignette est fait dans le cron avec ffmpeg

et pour votre player, selon le navigateur faut cliquer 2 fois sur le flash pour l'avoir, pour eviter ca, il y a un petit script js sur http://www.tekool.net/javascript/backtothehtml (merci a julien-br pour cette info)

voila pour ceux qui veulent se lancer dedans, j'avais pas trouvé de bonne doc, donc j'ai perdu du tps à chercher un peu et faire plein de tests, mais en suivant a peu pres ca, ca prend 2 jours puis voila, le plus long à faire au final reste votre script php/mysql ...
Dernière édition par Mitirapa le Mer Déc 20, 2006 12:43, édité 1 fois.


Audiofeeline
WRInaute accro
WRInaute accro
 
Messages: 5178
Inscription: Jeu Oct 20, 2005 19:47

Message le Jeu Oct 19, 2006 19:44

Une remarque peut-être HS mais ça serait cool de pouvoir proposer directement les flv.. 8)


hebmaster
WRInaute accro
WRInaute accro
 
Messages: 1056
Inscription: Jeu Déc 22, 2005 12:35

Message le Jeu Oct 19, 2006 21:13

merci beaucoup pour avoir partager l'info , je suis entrain de developper un site de ce genre ...
Je vais essayé tes trucs mais ça me semble hyper compliqué ...


yazerty
WRInaute accro
WRInaute accro
 
Messages: 1682
Inscription: Dim Juin 19, 2005 19:47

Message le Jeu Oct 19, 2006 22:12

Si un peu de concurrence se développait je ne dirais pas non. Surout surtout si le code html fourni est compatible avec DotClear 2 :-) ! Très important ça ^^...

Mitirapa
WRInaute accro
WRInaute accro
 
Messages: 1649
Inscription: Mer Juil 10, 2002 17:36

Message le Jeu Oct 19, 2006 22:28

Audiofeeline a écrit:Une remarque peut-être HS mais ça serait cool de pouvoir proposer directement les flv.. 8)

dans ce cas, tu peux proposer directement des flv, tout ce qu'il fera, ca sera de redimensionner tes flv (cf cron, 320x240)

hebmaster> si tu suis la ligne c'est pas si dur, apres c'est seulement de tout mettre en relation qui est un peu chiant (car ma méthode n'est pas la meilleure vu que je ne connais pas trop le cron/sh, il y a bcp mieux mais je ne suis pas apte a donner une soluce, mais mon cas suffit sinon)


Audiofeeline
WRInaute accro
WRInaute accro
 
Messages: 5178
Inscription: Jeu Oct 20, 2005 19:47

Message le Ven Oct 20, 2006 4:19

Le plus compliqué, hors aspect technique, c'est la gestion d'un site comme ça.
Il faut modérer les vidéos, faire attention aux droits d'auteurs et surtout le coût que cela peut entrainer!


sietjp
WRInaute passionné
WRInaute passionné
 
Messages: 622
Inscription: Dim Déc 14, 2003 21:05

Re: Conception d'un clone youtube

Message le Ven Oct 20, 2006 8:11

Mitirapa a écrit:..donc avant tout il faut:
-avoir un dédié
...


Je dirais plutôt une centaine de dédié. A la première vidéo qui fait un petit carton, ton serveur explose...


AW
WRInaute accro
WRInaute accro
 
Messages: 2274
Inscription: Mar Mai 31, 2005 14:41

Message le Ven Oct 20, 2006 9:57

Merci pour le partage d'infos Mitirapa. C'est vrai qu'en cas de forte influence, ça peut exploser ton serveur après sur un domaine bien precis et un nombre raisonnable de video je pense que ça peut passer. Si tu peux nous faire un retour dans quelques temps voir comment ça se passe, ça serait hyper sympa ;-)


yborean
WRInaute impliqué
WRInaute impliqué
 
Messages: 309
Inscription: Mer Sep 06, 2006 9:33

Re: Conception d'un clone youtube

Message le Ven Oct 20, 2006 12:58

sietjp a écrit:
Mitirapa a écrit:..donc avant tout il faut:
-avoir un dédié
...


Je dirais plutôt une centaine de dédié. A la première vidéo qui fait un petit carton, ton serveur explose...


euh faut pas pousser non plus ^^ , chez le client ou je suis actuellement, ils sont a 5millions de visiteurs uniques par mois, et deux serveurs en load balancing leur suffisent, avec une bande passant qui avoisinne les 100M.


sietjp
WRInaute passionné
WRInaute passionné
 
Messages: 622
Inscription: Dim Déc 14, 2003 21:05

Message le Ven Oct 20, 2006 22:52

100 serveurs, j'exagère un peu, mais une vidéo, c'est autre chose qu'une page web avec quelques images en termes de débit.
En tout cas, j'aimerais bien savoir combien ils ont de serveurs chez youtube, on doit dépasser allégrement les 100 serveurs sans problème. Je parie plus sur 1000 serveurs que sur 100...


yborean
WRInaute impliqué
WRInaute impliqué
 
Messages: 309
Inscription: Mer Sep 06, 2006 9:33

Message le Ven Oct 20, 2006 23:50

ben je sais pas, mais a priori une règle de trois permet d'avoir un estimation, en rajoutant effectivement un peu de marge vu que c'est de la vidéo, mais un site qui subit une petite euphorie de clics, n'atteindra jamais le nb de visiteurs de youtube. A moins de lever des fonds, de faire de la communication sur tous les médias dans le monde, etc... donc..


Audiofeeline
WRInaute accro
WRInaute accro
 
Messages: 5178
Inscription: Jeu Oct 20, 2005 19:47

Message le Sam Oct 21, 2006 4:39

Dailymotion a bien du mal à se faire un place et avec le rachat de Youtube par Google, la concurrence est morte et enterrée avant même d'exister...
Ou alors il faut trouver quelque chose de novateur et mettre YT au niveau de ringard...


sietjp
WRInaute passionné
WRInaute passionné
 
Messages: 622
Inscription: Dim Déc 14, 2003 21:05

Message le Sam Oct 21, 2006 8:43

C'est vrai mais, Dailymotion devrait s'attaquer au marché non américain (eurpopéen entre autre), c'est à mon avis le créneau qu'ils devraient suivre car c'est le seul laissé un peu vacant (pour combien de temps?) par youtube. Car sur youtube on a beau dire mais quand on ne parle pas anglais et qu'on n'a pas la culture américaine, il y a beaucoup de 'top viewed' et 'top rated' vidéos qui nous échappent complètement.


Audiofeeline
WRInaute accro
WRInaute accro
 
Messages: 5178
Inscription: Jeu Oct 20, 2005 19:47

Message le Sam Oct 21, 2006 18:55

Il manque aussi un "Youtube Audio"...

benjiman
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 229
Inscription: Dim Oct 09, 2005 18:50

Message le Dim Oct 22, 2006 9:16

Merci beaucoup pour ce texte...
Depuis quelques temsp déja, je voulais avoir des videos en flv... mais ffmpeg n'arrivait pas à s'installer...
Maintenant, c'est chose faites, et donc, merci beaucoup ;)

Cependant, un probleme persiste:
Lorsque je tape (en ssh) :
/usr/local/bin/ffmpeg -i "monfichiersource.extension1" -s 320x240 "monnouveaufichier.flv" -b 600
Je devrais normalement avoir un bitrate à 600 kb/S ...
Or, quoi que je mette, FFMPEG m'écrit:


Input #0, asf, from '/home/monfichier.wmv':
Duration: 00:00:23.7, start: 1.579000, bitrate: 971 kb/s
Stream #0.0: Audio: wmav2, 44100 Hz, stereo, 160 kb/s
Stream #0.1: Video: wmv3, yuv420p, 720x576, 25.00 fps(r)
Output #0, flv, to '/home/monfichier2.wmv.flv':
Stream #0.0: Video: flv, yuv420p, 720x576, q=2-31, 200 kb/s, 25.00 fps(c)
Stream #0.1: Audio: mp3, 44100 Hz, stereo, 64 kb/s
Stream mapping:
Stream #0.1 -> #0.0
Stream #0.0 -> #0.1


Chose bizarre ... car à la fin de l'enregistrement, je trouve :
bitrate= 671.9kbits/s

Je regarde ma video ...
Qualité, horrible, impossible de la voir en une taille correcte (320x240 max pour que ce soit lisible sans voir de gros pixels)

Avez-vous une idée pour avoir une bonne qualitée d'image en flash?
Peut-etre que je me trompe, que le bitrate ne change pas la qualité d'image ...
Bref, si vous avez plus d'infos, ca serait sympade m'éclairer un peu ;)

Merci beaucoup!

Conception d'un clone youtube

Formation recommandée sur ce thème :

Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités