Conception d'un clone youtube
- objectifweb
- WRInaute discret

- Messages: 130
- Inscription: 6 Oct 2004
Bonjour,
J'ai trouvé un script flash à $5 intéressant pour imiter justement la partie player de youtube, ha oui, les sources sont incluses
Toutes les données sont envoyées en écrivant un fichier xml simple, possibilité de donner un avis de 1 à 5, un lien pour partager la vidéo, une petite visu des films ... pour le moment les votes se placent dans un fichier texte mais une version mysql est en cours...
http://www.pvh.be/youtube.asp
catégorie 'flashvideo"...
Patrick
J'ai trouvé un script flash à $5 intéressant pour imiter justement la partie player de youtube, ha oui, les sources sont incluses
Toutes les données sont envoyées en écrivant un fichier xml simple, possibilité de donner un avis de 1 à 5, un lien pour partager la vidéo, une petite visu des films ... pour le moment les votes se placent dans un fichier texte mais une version mysql est en cours...
http://www.pvh.be/youtube.asp
catégorie 'flashvideo"...
Patrick
-

keroin - WRInaute passionné

- Messages: 2308
- Inscription: 29 Avr 2006
Hum...il en existe des gratuits....
=> http://www.*******/scripts.php
Edit : lien édité car le tld est devenu une farmlink
=> http://www.*******/scripts.php
Edit : lien édité car le tld est devenu une farmlink
Dernière édition par keroin le Mar Jan 02, 2007 17:03, édité 1 fois.
- guiguibcn
- Nouveau WRInaute

- Messages: 6
- Inscription: 30 Nov 2006
creation flv directement a la fin del upload
Salut,
je viens devoir le post avec creation des fichiers par un cron ttes les 20 minutes.
Voici comment je fais pour ma part: je lance en "tache de fond" des la fin de l upload (utilisatio d un cgi pour la barre de progression) la commande:
Dans le fichier exec_process.php je recup les 3 param passes dans la ligne de commande
Ce code lance donc en tache de fond la convertion de la video et supprime le fichier uploade tmp_file.
Des la fin de l upload vous pouvez donc naviguer sur le site. A vous ensuite de mettre une image intermediaire le temps que le process se termine et un check qd il est termine pour afficher la video et creer le lien pour la visualiser.
J espere que ca aidera des personnes...
Vous pouvez aller voir sur le site http://home.mixupmusic.com et faire des tests d upload.
Toute suggestion pour ameliorer le site est plus que bienvenue (tjs en phase de dev)
je viens devoir le post avec creation des fichiers par un cron ttes les 20 minutes.
Voici comment je fais pour ma part: je lance en "tache de fond" des la fin de l upload (utilisatio d un cgi pour la barre de progression) la commande:
- Code: Tout sélectionner
exec("/usr/bin/php ".$pathToFile."/exec_process.php ".$param1." ".$param2." ".$param3." > /dev/null &");
Dans le fichier exec_process.php je recup les 3 param passes dans la ligne de commande
- Code: Tout sélectionner
$param1 = $argv[1];
$param2 = $argv[2];
$param3 = $argv[3];
ini_set( "max_execution_time", "3600" );
$path_ffmpeg = "ffmpeg -y -i ".$pathInputFile." -s 320x240 -acodec mp3 -ab 96 -ar 22050 -f flv ".$pathOutputFile;
$tof_ffmpeg = "ffmpeg -an -y -ss 00:00:01 -i ".$pathOutputFile." -f image2 ".$pathImgVideo;
$inject_meta = "flvtool2 -U ".$pathOutputFile;
exec($path_ffmpeg);
exec($tof_ffmpeg);
exec($inject_meta);
unlink($pathInputFile);
Ce code lance donc en tache de fond la convertion de la video et supprime le fichier uploade tmp_file.
Des la fin de l upload vous pouvez donc naviguer sur le site. A vous ensuite de mettre une image intermediaire le temps que le process se termine et un check qd il est termine pour afficher la video et creer le lien pour la visualiser.
J espere que ca aidera des personnes...
Vous pouvez aller voir sur le site http://home.mixupmusic.com et faire des tests d upload.
Toute suggestion pour ameliorer le site est plus que bienvenue (tjs en phase de dev)
-

datch - WRInaute impliqué

- Messages: 987
- Inscription: 16 Juin 2006
bonjour,
voila j'ai installer ffmpeg et ffmpeg-php sur mon serveur.
j'essaye de faire un test pour encoder une video, mais je me retrouve avec cette erreur :
Nom du média : video-mov.mov (medias/video-mov.mov)
# Le fichier est un fichier vidéo
# Codec Video : svq3
# Codec Audio : mp2
# Duree : 65.724082
# Taille : 240x320
# BitRate : 460066
# commande : ffmpeg -i medias/video-mov.mov -acodec mp3 -b 256 -er 4 -ar 22050 -f flv -y flv/1165441979-video-mov.mov.flv
# Erreur lors de l'encodage flv/1165441979-video-mov.mov.flv
voila le script que j'utilise :
HELP,HELP,HELP,HELP,HELP,HELP
merci d'avance
voila j'ai installer ffmpeg et ffmpeg-php sur mon serveur.
j'essaye de faire un test pour encoder une video, mais je me retrouve avec cette erreur :
Nom du média : video-mov.mov (medias/video-mov.mov)
# Le fichier est un fichier vidéo
# Codec Video : svq3
# Codec Audio : mp2
# Duree : 65.724082
# Taille : 240x320
# BitRate : 460066
# commande : ffmpeg -i medias/video-mov.mov -acodec mp3 -b 256 -er 4 -ar 22050 -f flv -y flv/1165441979-video-mov.mov.flv
# Erreur lors de l'encodage flv/1165441979-video-mov.mov.flv
voila le script que j'utilise :
- Code: Tout sélectionner
<?php
/**
* Fichier demo FFMPEG/PHP
* montre le principe d'utilisation de FFMPEG/PHP pour :
* - créer un objet ffmpeg-php,
* - accèder à une vidéo,
* - faire la différence entre un fichier audio et un fichier vidéo
* - extraire des informations des médias.
* - encoder en flv si le fichier est une video
*
* @author Nicolas Cerisier <nicolas.cerisier@gmail.com>
*/
/**
* Init:
* - définition d'un emplacement pour les médias
* - présence de ffmpeg
*/
// définition de la collection de medias
$media_path = 'medias';
// Confirme que l'extension est presente
$extension = "ffmpeg";
$extension_soname = $extension . "." . PHP_SHLIB_SUFFIX;
$extension_fullname = PHP_EXTENSION_DIR . "/" . $extension_soname;
if (!extension_loaded('ffmpeg')) {
dl($extension_soname) or die("Impossible de trouver l'extension: $extension_fullname\n");
}
/**
* Traitements
* - on parcourt le repertoire,
* - on ouvre le média,
* - on test le média (type)
* - on extrait des informations
*/
if(is_dir($media_path) && $dir = opendir($media_path)) {
while (($media = readdir($dir)) !== false) {
if($media != '.' && $media != '..'){
$fullpath = $media_path.'/'.$media;
$HTML .= "<b> Nom du média : $media ($fullpath) </b>\n";
// Instanciation de ffmpeg_movie
if(is_object($mediaObj = new ffmpeg_movie($fullpath) )){
/**
* FFMPEG-PHP est normalement destiné à trater des vidéos.
* Mais les méthodes fournies permettent d'élargir aux fichiers audios si on considere qu'un fichier audio
* est une vidéo sans codec video mais avec codec audio ;)
*/
if($videoCodec = $mediaObj->getVideoCodec()) {
$HTML .= "<li> Le fichier est un fichier vidéo \n";
$HTML .= "<li> Codec Video : ".$videoCodec;
$HTML .= "<li> Codec Audio : ".$mediaObj->getAudioCodec();
$HTML .= "<li> Duree : ".$mediaObj->getDuration();
$HTML .= "<li> Taille : ".$mediaObj->getFrameHeight()."x".$mediaObj->getFrameWidth();
$HTML .= "<li> BitRate : ".$mediaObj->getBitRate();
/**
* -------------------------------------------------------------------------------------------------
* ENCODAGE
* Si le fichier est une vidéo valide,
* - nous allons lancer l'encodage via ffmpeg (en ligne de commande)
* - l'encodage se fera en FLV,
* -------------------------------------------------------------------------------------------------
*/
// Construction de la ligne de commande
$flv_path = "flv";
$target_name = preg_replace('/ /','_',$flv_path.'/'.time().'-'.$media.'.flv');
$ffmpeg_cli = "ffmpeg -i $fullpath -acodec mp3 -b 256 -er 4 -ar 22050 -f flv -y $target_name";
//print `$ffmpeg_cli`;
$HTML .= "<li> commande : $ffmpeg_cli \n";
passthru($ffmpeg_cli,$res);
if(!$res){
$HTML .= "<li> fichier flv disponible <a href=\"$target_name\"> ici </a>\n";
} else {
$HTML .= "<li> Erreur lors de l'encodage \n";
}
// -------------------------------------------------------------------------------------------------
} elseif($audioCodec = $mediaObj->getAudioCodec()) {
$HTML .= "<li> Le fichier semble etre un fichier audio: pas de frames, mais une piste audio\n";
$HTML .= "<li> Codec Audio : ".$audioCodec;
$HTML .= "<li> Artist (iD3) : ".$mediaObj->getArtist();
$HTML .= "<li> Album (iD3) : ".$mediaObj->getAlbum();
$HTML .= "<li> Artist (iD3) : ".$mediaObj->getArtist();
$HTML .= "<li> Genre (iD3) : ".$mediaObj->getGenre();
$HTML .= "<li> BitRate : ".$mediaObj->getBitRate();
} else {
$HTML .= "<b> PROBLEME </b> : le fichier n'a ni audio ni frames valides";
}
$HTML .= "\n\n";
} else {
$HTML .= "<b> ERREUR </b> : impossible d'instancier FFMPEG / Media invalide \n";
}
}
}
}
print nl2br($HTML);
?>
HELP,HELP,HELP,HELP,HELP,HELP
merci d'avance
- Mitirapa
- WRInaute passionné

- Messages: 1657
- Inscription: 10 Juil 2002
[--Eric--] a écrit:Mitirapa a écrit:as tu essayé en utilisant plus d'option pour convertir, par exemple j'ai trouvé sur le net cet exemple:
ffmpeg -i DSCN2114.MOV -acodec mp3 -ab 32 -f flv -s 320x240 -ar 22050 -aspect 4:3 -pass 1 -b 256 -r 15 -y jules.flv
Merci ça va bcp mieux !!
as tu testé cet exemple dans ton script avec ces options ?
- [--Eric--]
- WRInaute occasionnel

- Messages: 415
- Inscription: 6 Jan 2004
Bonsoir.
Petite question à propos de la génération de la vignette. Parfois certaines vidéos commencent par une image noire (j'ai l'impression que c'est quasi systématique avec ceux qui utilisent windows movie maker) et c'est donc une image noire qui ressort en vignette.
Bref dans :
comment modifier ou ajouter une otion qui ne prend pas la première image du film?
Merci.
@+
Eric
Petite question à propos de la génération de la vignette. Parfois certaines vidéos commencent par une image noire (j'ai l'impression que c'est quasi systématique avec ceux qui utilisent windows movie maker) et c'est donc une image noire qui ressort en vignette.
Bref dans :
- Code: Tout sélectionner
/usr/local/bin/ffmpeg -i "$fichier2" -vcodec mjpeg -vframes 1 -an -f rawvideo -s 160x120 "$fichier2.jpg"
comment modifier ou ajouter une otion qui ne prend pas la première image du film?
Merci.
@+
Eric
- Mitirapa
- WRInaute passionné

- Messages: 1657
- Inscription: 10 Juil 2002
- Code: Tout sélectionner
/usr/local/bin/ffmpeg -i "$fichier2" -y -ss 16 -s 160x120 -vframes 1 -an -sameq
-f mjpeg "$fichier2.jpg"
-ss 16 va chercher plus loin dans le tps
mais le mieux serait en fait d'utiliser le mod php ffmpeg pour recuperer la longueur de la video, et aller chercher au milieu l'image
- Mitirapa
- WRInaute passionné

- Messages: 1657
- Inscription: 10 Juil 2002
Discussion dédiée à la qualité d'encodage:
http://www.webrankinfo.com/forums/viewtopic_64654.htm
http://www.webrankinfo.com/forums/viewtopic_64654.htm
- [--Eric--]
- WRInaute occasionnel

- Messages: 415
- Inscription: 6 Jan 2004
Mitirapa a écrit:
- Code: Tout sélectionner
/usr/local/bin/ffmpeg -i "$fichier2" -y -ss 16 -s 160x120 -vframes 1 -an -sameq
-f mjpeg "$fichier2.jpg"
-ss 16 va chercher plus loin dans le tps
mais le mieux serait en fait d'utiliser le mod php ffmpeg pour recuperer la longueur de la video, et aller chercher au milieu l'image
Merci c'est impec !
- bozoleclown
- WRInaute impliqué

- Messages: 893
- Inscription: 24 Nov 2005
Voici qqs pistes à régarder :
problème de timing peut etre ton script se termine trop tot ?
quel est son max_execution_time ?
Tu travailles avec le php en mod apache ou en cgi ?
As tu mis les bonnes permissions sur les répertoires ? ton user qui execute le script php a-t-il le droit d'écrire dans ce répertoire ?
Quel est la taille limite de mémoire utilisable par ton script ?
--
David
problème de timing peut etre ton script se termine trop tot ?
quel est son max_execution_time ?
Tu travailles avec le php en mod apache ou en cgi ?
As tu mis les bonnes permissions sur les répertoires ? ton user qui execute le script php a-t-il le droit d'écrire dans ce répertoire ?
Quel est la taille limite de mémoire utilisable par ton script ?
--
David
- romulus
- Nouveau WRInaute

- Messages: 5
- Inscription: 2 Jan 2007
j'utilise php5.
le mod php? je ne connais pas cette expression... j'ai un serveur apache2...
Je trouve où cette info? et quel mod dois-je-utiliser?
max_execution_time = 30 seconde
memory_limit = 16Mo
Je fais des test sur des vidéos de quelques Ko, pas de quoi saturer le serveur
Les repertoires sont en chmod 775. Mais les vidéos uploadé sont en 644 ainsi que les .flv vide. c'est pas le top je pense!
T'as une idée pour qu'elles adoptent automatiquement le chmod du répertoire?
Merci d'avance!
le mod php? je ne connais pas cette expression... j'ai un serveur apache2...
Je trouve où cette info? et quel mod dois-je-utiliser?
max_execution_time = 30 seconde
memory_limit = 16Mo
Je fais des test sur des vidéos de quelques Ko, pas de quoi saturer le serveur
Les repertoires sont en chmod 775. Mais les vidéos uploadé sont en 644 ainsi que les .flv vide. c'est pas le top je pense!
T'as une idée pour qu'elles adoptent automatiquement le chmod du répertoire?
Merci d'avance!
- bozoleclown
- WRInaute impliqué

- Messages: 893
- Inscription: 24 Nov 2005
bon ok vu ce que tu dis tu dois être en mod apache
Bon déjà tu peux mettre le max_execution_time à infini
ca fonctionnera si ton serveur n'a pas le safe mode d'activé.
ensuite ajoute à la suite de ta commande ceci ">/dev/null 2>&1"
exemple, tu faisais
tu le rajoutes comme ceci :
Ca aura pour conséquence de rédiriger les eventuelles sorties de l'execution de la commande à la poubelle mais tu en as pas besoin.
Voila test c'est 2 solutions de manieres indépendantes et aussi jumelés
--
David
Bon déjà tu peux mettre le max_execution_time à infini
- Code: Tout sélectionner
set_time_limit(0)
ca fonctionnera si ton serveur n'a pas le safe mode d'activé.
ensuite ajoute à la suite de ta commande ceci ">/dev/null 2>&1"
exemple, tu faisais
- Code: Tout sélectionner
exec("tatatotototoato");
tu le rajoutes comme ceci :
- Code: Tout sélectionner
exec("tatatotototoato >/dev/null 2>&1");
Ca aura pour conséquence de rédiriger les eventuelles sorties de l'execution de la commande à la poubelle mais tu en as pas besoin.
Voila test c'est 2 solutions de manieres indépendantes et aussi jumelés
--
David
Lectures recommandées sur ce thème :
- Installation Youtube Clone
- autocad clone
- Script Clone AppTrackr
- Annuaires de type clône
- Clone Twitter sous Wordpress
- [Youtube] Evènement le 22/11/2008 à San Francisco : Youtube
- Création d'un clone de Digg...
- Trafiz clone. Aidez moi SVP
- Google rachète DailyDeal, le clone allemand de Groupon
- Google Checkout clone les frais Paypal
Consultez la description détaillée des produits ou services de Google suivants : YouTube Insight
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités
