Création de thumbnails de vidéos uploadées, en PHP

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Création de thumbnails de vidéos uploadées, en PHP

par VaN » 07 nov. 2008, 00:46

J'ai enfin réussi à lancer ma commande :
D:\Program Files\eRightSoft\SUPER>ffmpeg -i "D:\Program Files\EasyPHP 2.0b1\www\
Projects\2008-11 - Project\site\medias\videos\22_21.avi" -an -ss 00:00:10 -an -
r 1 -vframes 1 -y "D:\Program Files\EasyPHP 2.0b1\www\Projects\2008-11 - Project\site\medias\videos\1.jpg"
qui me renvoie :
ffmpeg version 0.5.0-pre1,build 4743 Copyright (c) 2000-2005 Fabrice Bellard
configuration: --enable-mp3lame --enable-faac --enable-faad --enable-amr_nb -
-enable-amr_wb --disable-ffserver --disable-ffplay --enable-small --enable-memal
ign-hack --enable-gpl --enable-xvid --enable-dts --enable-a52 --enable-vhook --e
nable-pthread
built on Nov 13 2005 21:13:33, gcc: 3.3.1 (cygming special)
Input #0, avi, from 'D:\Program Files\EasyPHP 2.0b1\www\Projects\2008-11 - Project\site\medias\videos\22_21.avi':
Duration: 00:03:03.5, start: 0.000000, bitrate: 1937 kb/s
Stream #0.0: Video: mpeg4, 720x576, 25.00 fps
Stream #0.1: Audio: mp3, 48000 Hz, stereo, 128 kb/s
A>Unable for find a suitable output format for 'D:\Program Files\EasyPHP 2.0b1\w
ww\Projects\2008-11 - Project\site\medias\videos\1.jpg'
Recherche google qui ne donne pas grand chose : /

par @rthur » 07 nov. 2008, 00:35

Petit détour par le site du zéro pour apprendre les bases de la ligne de commande MS-DOS: ;)
http://www.siteduzero.com/tutoriel-3-90 ... s-dos.html

par VaN » 07 nov. 2008, 00:25

Le problème, c'est que je n'y connais absolument rien en ligne de commande (travailler sou windows, ça aide pas : / ).

Je viens d'essayer, j'arrive même pas à me placer dans le dossier contenant ffmpeg.exe.

j'essaye des
cd d:
, des
D:\Program Files\eRightSoft\SUPER
, on dirait que ça reste dans C:

par @rthur » 07 nov. 2008, 00:01

Fais d'abord tous tes tests en ligne de commande (Démarrer, Exécuter, "cmd" [OK] ).
A mon avis, il va te falloir des parenthèses pour le nom de tes fichiers car les espaces c'est jamais bien acceptés dans les chemins:

Code : Tout sélectionner

"D:\Program Files\eRightSoft\SUPER\ffmpeg.exe"
Une fois que ta commande fonctionne alors essaye de la lancer via PHP.
Il faut vraiment y aller par étape :)

par VaN » 06 nov. 2008, 23:50

Ah, je viens juste d'edit mon post, donc j'imagine que t'as du louper les infos :
Bon, je me bats depuis tout à l'heure avec ffpmeg et PHP :
$rPath = 'D:/Program Files/EasyPHP 2.0b1/www/Projects/2008-11 - Project/site/medias/videos/';
$command = 'D:\Program Files\eRightSoft\SUPER\ffmpeg.exe -i '.$rPath.$videoName.$extension.' -an -ss 00:00:10 -an -r 1 -vframes 1 -y '.$rPath.'a.jpg';
exec($command, $output, $return_val);
echo "\n";
echo "PATH:".$rPath.$videoName.$extension."\n";
echo "OUTPUT:".print_r($output)."\n";
echo "RETURN_VAL:".$return_val."\n";
me retourne :
PATH:D:/Program Files/EasyPHP 2.0b1/www/Projects/2008-11 - Project/site/medias/videos/24_23.avi
Array
(
)
OUTPUT:1
RETURN_VAL:1
Je ne sais pas si les "1' retournés dans les variables $output et $return_val vuelent dire Réussi ou Raté déjà.
Mais ce qui est sûr, c'est que je n'ai pas de fichier "a.jpg" dans mon dossier D:/Program Files/EasyPHP 2.0b1/www/Projects/2008-11 - Project/site/medias/videos/

Quelque chose qui cloche, à vue d'oeil ?
Il faut que FFMPEG soit installé sur le serveur qui contient tes vidéos.
Cela veut dire que pour un test local sur EasyPHP, je dois installer le logiciel dans quelquepart dans www/ ?

par @rthur » 06 nov. 2008, 23:42

Il faut que FFMPEG soit installé sur le serveur qui contient tes vidéos.

par VaN » 06 nov. 2008, 22:46

Et comment ça se passe pour que ça marche sur un serveur distant ?

On peut installer un logiciel sur un serveur distant, sans avoir un accès direct à la machine ? (juste un accès FTP).

Bon, je me bats depuis tout à l'heure avec ffpmeg et PHP :
$rPath = 'D:/Program Files/EasyPHP 2.0b1/www/Projects/2008-11 - Project/site/medias/videos/';
$command = 'D:\Program Files\eRightSoft\SUPER\ffmpeg.exe -i '.$rPath.$videoName.$extension.' -an -ss 00:00:10 -an -r 1 -vframes 1 -y '.$rPath.'a.jpg';
exec($command, $output, $return_val);
echo "\n";
echo "PATH:".$rPath.$videoName.$extension."\n";
echo "OUTPUT:".print_r($output)."\n";
echo "RETURN_VAL:".$return_val."\n";
me retourne :
PATH:D:/Program Files/EasyPHP 2.0b1/www/Projects/2008-11 - Project/site/medias/videos/24_23.avi
Array
(
)
OUTPUT:1
RETURN_VAL:1
Je ne sais pas si les "1' retournés dans les variables $output et $return_val vuelent dire Réussi ou Raté déjà.
Mais ce qui est sûr, c'est que je n'ai pas de fichier "a.jpg" dans mon dossier D:/Program Files/EasyPHP 2.0b1/www/Projects/2008-11 - Project/site/medias/videos/

Quelque chose qui cloche, à vue d'oeil ?[/quote]

par @rthur » 06 nov. 2008, 22:09

Bonjour,

Pour ma part, je l'ai déjà utilisé dans plusieurs projets pro, sous Linux et Windows et ça marche très bien.

Si tu veux faire des tests rapidement sans t'embêter, installe SUPER encoder il t'installera un FFmpeg fonctionnel directement dans son répertoire.
Ensuite il te suffira d'y faire appel en ligne de commande et via les fonctions PHP exec() ou system()

Création de thumbnails de vidéos uploadées, en PHP

par VaN » 06 nov. 2008, 20:27

Bonsoir la dedans,

Je souhaite pouvoir réaliser, en PHP, un thumbnail de vidéo, au moment ou celle-ci est uploadée sur le serveur.

J'ai déjà passé beaucoup de temps à chercher, à me documenter sur le sujet. A priori, la meilleure solution à l'heure actuelle est d'utiliser l'extension PHP ffmpeg, qui fait ça très bien. Le problème est que pour installer ça sur Windows, ça à l'air assez coton. (serveur local EasyPHP sous Windows) : version windows pas officiellement supportée par l'éditeur ("Sorry, I'm not a windows dude", dixit le propriétaire de l'outil : /), liens proposant une version windows morts, etc..

Alors peut être que certains d'entre vous ont déjà réalisé ce genre de fonctionnalité, et pourraient m'aiguiller.

Bref, toute aide est bienvenue pour m'aider à implémenter cette fonctionnalité.