ENCODAGE ET TRAITEMENT DE AUTOMATIQUE DE VIDÉOS EN UPLOAD

Yaug Messages postés 35 Date d'inscription jeudi 16 septembre 2004 Statut Membre Dernière intervention 3 septembre 2010 - 11 avril 2005 à 14:28
Sishare Messages postés 2 Date d'inscription mardi 13 mars 2007 Statut Membre Dernière intervention 20 juillet 2010 - 20 juil. 2010 à 13:35
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/30674-encodage-et-traitement-de-automatique-de-videos-en-upload

Sishare Messages postés 2 Date d'inscription mardi 13 mars 2007 Statut Membre Dernière intervention 20 juillet 2010
20 juil. 2010 à 13:35
Re
Bon j'apporte des lumières si elles peuvent être utile.
Donc la commande systeme na l'aire de fonctionné qu'avec des .exe dans le même dossier que se trouve le fichier dans lequel fout executé system. Donc
Test_upload.php-
ffmpeg.exe_|
tmp2(dossier)_|
flv_film(dossier)_|

dans le code il faut donc modifier la variable path_ffmpeg et dans commande mettre "ffmpeg.exe ..." au lieu de "./ffmmpeg/ffmpeg"
Une fois ces étapes faites aucuns problème ne devrait etre trouvée mis à part lors de la supression ou de la réupload de la même vidéo.
Pour cela il faut bien sur faire des controle sur le nom vidéo et modifier en conséquence quand à la supression voire du coté des droits utilisateurs.
Sishare Messages postés 2 Date d'inscription mardi 13 mars 2007 Statut Membre Dernière intervention 20 juillet 2010
20 juil. 2010 à 10:38
Salut tous le monde,
Merci pour ce taf car il n'existe pas beaucoups d'exemple d'utilisation de ffmpeg et de php
bon ba comme tout le monde je galère!
bon alors pour les erreurs "Notice: Undefined index: fichier1" vous avez mal lancer votre formulaire (par exemple chargé la page html dans votre navigateur directement et non par votre server) pour moi c'était le cas.
Ensuite j'ai eu aussi "Warning: fwrite(): supplied argument is not a valid" vous devez créez plusieurs dossier à l'endroit du test_upload.php nommé : "log" "tmp2" "film_flv"
Ensuite je suis bloqué, l'execution de la commande system ne fonctionne pas chez moi. Je pense fortement que mon installation de ffmpeg n'est pas complète. c'est pourquoi Yaug il aurait était cool que tu nous mettes un petit descriptif de l'install de ffmpeg.
Pour ma part de ce que j'ai vus sur le net :
Plusieurs versions de ffmpeg :
en open source et l'officiel ce sont les sources non compilées et beaucoups de fichiers incompréhensibles. Impossibles de trouvés un tuto pour compilé sous windows ou cygwin. A précisé qu'aucune dll n'est fournies dans le pack.
Des versions précompilées avec plus ou moin de dll et un .exe
Certaines personnes parle d'ajouté les codecs au servers, oui je veux bien faut il encore me dire comment? et comment savoir si on ne les possède pas déjà?
Ensuite certains parle d'activer une extension sous php pour utiliser directement ffmpeg comme une classe, cette méthode n'a donné aucuns résultats pour ma part, je n'arrive même pas à charger l'extension.
SI QUELQU'UN CONNAIT UN BON TUTO JE SUIS PRENEUR!
cs_samy79 Messages postés 4 Date d'inscription samedi 18 octobre 2003 Statut Membre Dernière intervention 14 février 2010
14 févr. 2010 à 21:43
Salut, tout d'abord superbe travail! Et merci beaucoup pour le partage !
Je lis dans le formulaire que la vidéo ne doit pas faire plus de 2 minutes...peut-on augmenter cette limite ? Je ne trouve pas ce paramètre dans ton code...ça viens de FFMPEG ?

Merci
Sniark Messages postés 90 Date d'inscription mercredi 4 juillet 2007 Statut Membre Dernière intervention 22 septembre 2009
1 févr. 2008 à 00:22
Bonjour,

J'essais d'installer FFMPEG depuis plus d'une semaine... J'ai cherché partout sur google, et rien de ce que j'ai trouvé n'a fonctionné. J'ai un server/passerelle avec SME SERVER qui tourne.
Je suis débutant et je comprends pas encore tout.
L'idée, si j'ai bien compris c'est de copier la library dans un dossier sur le server ? Mais lequel ? Et j'ai trouvé plusieurs versions de FFMPEG laquelle est ce que je dois utiliser ? J'ai trouvé plein de lignes de commande sur le net, mais rien n'a fonctionner... Quelqu'un peut m'aider ?

Merci à tous !
Yaug Messages postés 35 Date d'inscription jeudi 16 septembre 2004 Statut Membre Dernière intervention 3 septembre 2010
3 janv. 2008 à 21:56
Je viens de créer une classe beaucoup plus pratique que cette source datant de mes début.
Pour la voir c'est ici : http://www.phpcs.com/codes/CLASSE-FFMPEG-GESTION-VIDEOS_45279.aspx
salut tlm Messages postés 12 Date d'inscription jeudi 17 août 2006 Statut Membre Dernière intervention 17 septembre 2008
23 mars 2007 à 08:50
Hello,
Je vien de télécharger le programme, le concept à l'air super bon, mais j'aimerais bien savoir ou télécharger ffmpeg.

Merci par avance
Yaug Messages postés 35 Date d'inscription jeudi 16 septembre 2004 Statut Membre Dernière intervention 3 septembre 2010
19 févr. 2007 à 10:30
totolero,
pour ton probleme, jarte les ligne correspondantes.
Il ne s'agit que des logs (enfin ce qui y ressemble de pret ou de loin).

FFWRUDE, merci pour l'erratum.
Ca fait 2 ans que j'ai pas touché à cette source, mais jvais la mettre a jour sous peu.
ffwrude Messages postés 8 Date d'inscription vendredi 18 mars 2005 Statut Membre Dernière intervention 17 octobre 2006
6 févr. 2007 à 12:12
Petit erratum un peu bête mais on ne sais jamais ^^

Ligne 34 : $ext_admise = array ("MOV", "AVI", "MWV", "DV", "MPG", "MPEG", "FLV", "DIVX");

ca serait mieu avec WMV à la place de MWV ^^

Ligne 34 : $ext_admise = array ("MOV", "AVI", "WMV", "DV", "MPG", "MPEG", "FLV", "DIVX");
totolero Messages postés 1 Date d'inscription mardi 19 septembre 2006 Statut Membre Dernière intervention 2 janvier 2007
2 janv. 2007 à 05:01
bonjour à tous et bravo pour l'initiative de ce code. Je ne suis pas développeur, et j'ai essayé de suivre pas à pas votre fil de discussion, et pour 'linstant, j'ai tenté d'installer le script sur un easyphp moi aussi. Pour ma part, et malgré les modification apportées et le téléchargement d'une version de ffmpeg pour windows, j'ai toujours les mêmes erreurs :

Warning: fwrite(): supplied argument is not a valid File-Handle resource in e:\lesyeux\upload\test_upload.php on line 104

extension: AVI

Warning: fwrite(): supplied argument is not a valid File-Handle resource in e:\lesyeux\upload\test_upload.php on line 125

etc...
Si quelqu'un avait une piste, je suis preneur.

A bientôt
Rhobby Messages postés 2 Date d'inscription dimanche 1 janvier 2006 Statut Membre Dernière intervention 13 décembre 2006
13 déc. 2006 à 08:19
Pour moi, j'ai trouvé la cause des erreurs...seulement les fichiers que j'utilise sont >8M (qui est une limite que j'ai pas encore trouvée où la regler!!!) j'ai essayé dans php.ini mais ça reste encore bloqué à 8M...
Puis ffmpeg que boissonnfive a préconisé marche trop bien en commande DOS mais avec un code php c'est toujours "ffmpeg n'est pas une application interne valable...etc" et le code sort avec les fichiers log où tout est bien marqué...
Alors si qqu'un a bien pu le faire marcher, je le remercie beaucoup d'avance de bien vouloir nous expliquer comment faire ?
Merci encore
cel2006 Messages postés 2 Date d'inscription vendredi 7 juillet 2006 Statut Membre Dernière intervention 12 décembre 2006
12 déc. 2006 à 21:55
Ca ne marche toujours pas pour ma part... quelqu'un aurait la gentillesse de m'expliquer pas à pas?... Merci beaucoup par avance!

Céline
Rhobby Messages postés 2 Date d'inscription dimanche 1 janvier 2006 Statut Membre Dernière intervention 13 décembre 2006
11 déc. 2006 à 19:17
Bonjour,
Merci beaucoup pour ce code car j'ai lontemps chercher ce fameux code sur le net mais rien, puis je suis tombé ici...
seulement, je ne sais pas si quelqu'un a eu cette erreur mais moi sur machine locale (easyphp) je n'arrive pas à trouver pourquoi :

0
Notice: Undefined index: fichier1 in c:\program files\easyphp1-8\www\test_ffmpeg\test_upload.php on line 41
Notice: Undefined index: fichier1 in c:\program files\easyphp1-8\www\test_ffmpeg\test_upload.php on line 42
Notice: Undefined index: fichier1 in c:\program files\easyphp1-8\www\test_ffmpeg\test_upload.php on line 43
taille :
size :
sortie

1
Notice: Undefined index: fichier2 in c:\program files\easyphp1-8\www\test_ffmpeg\test_upload.php on line 41
Notice: Undefined index: fichier2 in c:\program files\easyphp1-8\www\test_ffmpeg\test_upload.php on line 42
Notice: Undefined index: fichier2 in c:\program files\easyphp1-8\www\test_ffmpeg\test_upload.php on line 43
taille : 1
size :
sortie

2
Notice: Undefined index: fichier3 in c:\program files\easyphp1-8\www\test_ffmpeg\test_upload.php on line 41
Notice: Undefined index: fichier3 in c:\program files\easyphp1-8\www\test_ffmpeg\test_upload.php on line 42
Notice: Undefined index: fichier3 in c:\program files\easyphp1-8\www\test_ffmpeg\test_upload.php on line 43
taille : 1
size :
sortie

C'est sur la 1re boucle :
...
for ($i=0; $i<3; $i++)
{
echo "
$i
";
$fichier = "fichier".($i+1);
$source = $_FILES[$fichier]["tmp_name"];
$nom_fic = $_FILES[$fichier]["name"];
$size = $_FILES[$fichier]["size"];
...

et pourtant dans le formulaire .htm c'est bien


Si qq'un pourrait m'aider ?
Merci beaucoup
cel2006 Messages postés 2 Date d'inscription vendredi 7 juillet 2006 Statut Membre Dernière intervention 12 décembre 2006
10 déc. 2006 à 23:27
Bonjour,

Ce code est vraiment ce que je recherche. Le problème est que je l'ai testé sous mac, que ça ne marche pas avec easy PHP et donc je l'ai testé sur mon serveur ovh, ca ne marche pas non plus... comment puis-je faire??
Merci par avance pour votre aide!

Bonne soirée
PtitKev Messages postés 18 Date d'inscription jeudi 27 mars 2003 Statut Membre Dernière intervention 7 octobre 2005
7 déc. 2006 à 09:05
Ramey1, comme tu peux le constater, il génère une variable $commande puis en suite il fait :

$res = system ($commande, $res_var);

car ffmpeg n'est pas un module pour apache ou php. c'est juste une application.

Et boissonnfive le dis juste au dessus : il existe une version windows donc il te suffit de la télécharger et utiliser son dossier dans la commande en remplaçant:

$path_ffmpeg = "ffmpeg/ffmpeg";

par

$path_ffmpeg = "c:\\dossier\\ffmpeg.exe";

En esperant avoir été assez clair :P
ramey1 Messages postés 4 Date d'inscription mercredi 28 septembre 2005 Statut Membre Dernière intervention 11 juin 2009
6 déc. 2006 à 22:47
bonjour
super ta source
je cherchais ca depuis un bon moment
une question
je voudrais le tester en local avec easyphp
peut ton installer ffmpeg sur easyphp
merci
cs_boissonnfive Messages postés 3 Date d'inscription dimanche 5 novembre 2006 Statut Membre Dernière intervention 27 septembre 2007
5 déc. 2006 à 19:55
Bonjour Yaug,
Tu n'es pas obligé de recompiler. Si tu travailles sous windows, tu trouveras ici l'exécutable avec le lameMP3:
http://esby.free.fr/CelticDruid/mirror/ffmpeg/
build du 24-Nov-2006 07:54 2.3M


D:\Video\ffmpeg\ffmpeg.rev7165>ffmpeg -i PowerPoint.avi
FFmpeg version SVN-r7165, Copyright (c) 2000-2006 Fabrice Bellard, et al.
configuration: --enable-mp3lame --enable-libnut --enable-libogg --enable-vorb
is --enable-faad --enable-faac --enable-libgsm --enable-xvid --enable-x264 --ena
ble-mingw32 --enable-a52 --enable-dts --enable-pp --enable-amr_nb --enable-amr_w
b --enable-swscaler --enable-avisynth --enable-gpl --enable-memalign-hack --cpu=
i686 --extra-ldflags=-static
libavutil version: 49.1.0
libavcodec version: 51.25.0
libavformat version: 51.6.0
built on Nov 24 2006 18:53:03, gcc: 4.0.3
Input #0, avi, from 'PowerPoint.avi':
Duration: 00:01:36.5, start: 0.000000, bitrate: 1539 kb/s
Stream #0.0: Video: IV50 / 0x30355649, 1600x1172, 15.00 fps(r)
Must supply at least one output file

Voilà. Si ça peut aider...
A+.
Yaug Messages postés 35 Date d'inscription jeudi 16 septembre 2004 Statut Membre Dernière intervention 3 septembre 2010
5 déc. 2006 à 09:05
hum.
Content de voir que mon probleme a désormais une solution.
Du trifouillage certe mais une solution.
Ravi de voir que ca vous a aidé.
pierrero Messages postés 1 Date d'inscription samedi 29 janvier 2005 Statut Membre Dernière intervention 9 novembre 2006
9 nov. 2006 à 23:09
Salut Yaug !

A priori ton pb de piste audio est dû à ffmpeg.
La plupart des distrib fournissent un package ffmpeg compilé sans les librairies lame (mp3). Il faut donc installer les librairies dont tu as besoin et recompiler ffmpeg à partir de la source cvs en activant les options dont tu as besoin.
Personnellement j'ai dû retoucher quelques lignes des sources C pour désactiver complètement le codec video x264 qui me générait des erreurs.
Mon binaire fonctionne très bien désormais et ton code a été une bonne base pour démarrer.

Merci et bonne continuation :)
PtitKev Messages postés 18 Date d'inscription jeudi 27 mars 2003 Statut Membre Dernière intervention 7 octobre 2005
7 juil. 2006 à 17:15
Slt Yaug.

Nickel ton script. J'ai pas encore test mais ca correspond tt à fait a ce que je veux. Par contre, sais tu si ffmpeg peu ajouter une image sur tt le long de la video (logo), une video ou photo d'intro.

@+
Yaug Messages postés 35 Date d'inscription jeudi 16 septembre 2004 Statut Membre Dernière intervention 3 septembre 2010
14 juin 2006 à 18:46
voila.
Aussi simple que cela.
Enfin. sur son serveur, une personne me l'a demandé cette semaine, il faut installer ffmpeg :)
tatcrew Messages postés 6 Date d'inscription mercredi 28 avril 2004 Statut Membre Dernière intervention 12 juin 2006
12 juin 2006 à 20:21
Bonjour donc si j'ai bien compri il faut ffmpeg sur son ftp, dans le dossier ffmpeg, pour pouvoir encoder les vidéos ?
Yaug Messages postés 35 Date d'inscription jeudi 16 septembre 2004 Statut Membre Dernière intervention 3 septembre 2010
8 janv. 2006 à 13:17
hum non... le probleme ne vient apparement pas de moi mais d'un soucis avec la norme FFMPEG pour le FLV. Donc j'ai du enlever le son pour le moment. Je pense que je m'y collerai plus tard

Ophidte : en bidouillant tu peux effectivement t'en servir
cs_killer27 Messages postés 1 Date d'inscription vendredi 1 octobre 2004 Statut Membre Dernière intervention 4 janvier 2006
4 janv. 2006 à 02:18
Salut,

Merci pour ce script, as-tu finalement réussi à résoudre le souci de son ?

Paul
ophidte Messages postés 1 Date d'inscription jeudi 29 avril 2004 Statut Membre Dernière intervention 16 décembre 2005
16 déc. 2005 à 21:18
Bon j'y connais pas grand chose en code mais ton idée est exactement ce que je cherche .
Par contre je tourne avec GALLERY2 (www.gallery.menalto.com) et je voulais savoir si je pouvais integrer ton script ( uniquement la partie de conversion ) car l'upload est gerer par Gallery .

Pense tu que ce soit possible ?
Yaug Messages postés 35 Date d'inscription jeudi 16 septembre 2004 Statut Membre Dernière intervention 3 septembre 2010
14 avril 2005 à 15:23
voila, zip ajouté avec les formulaires (t'aurais pu le faire toi même, si moi je le fais c'est vraiment a la porté de tous ^^)
tu veux l'adresse de l'installeur de ffmpeg aussi? :D
tres bonne idée
peut on avoir un zip (avec formulaire)
merci
Yaug Messages postés 35 Date d'inscription jeudi 16 septembre 2004 Statut Membre Dernière intervention 3 septembre 2010
13 avril 2005 à 17:30
bon, je viens de faire une mise a jour, j'ai optimisé le tout (enfin j'espére :D) j'ai ajouté le traitement de log, et plus important j'ai rétrécie le temps de traitement d'1 tier en limitant à l'utilisation d'un seul logiciel...
si vous avez des questions, des commentaires...
merci
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
12 avril 2005 à 18:25
"ini_set et set time limit sont désactivées, alors system le sera aussi"

dans la plupart des cas oui, mais pas forcément. Tu peux très bien activer system() et désactiver ini_set() :-)
fuckya Messages postés 125 Date d'inscription mercredi 31 mars 2004 Statut Membre Dernière intervention 8 juin 2006
12 avril 2005 à 16:48
antho > Si ini_set et set time limit sont désactivées, alors system le sera aussi, donc pour les @ ca servira a rien ici, meme que ca sera plutot utile : on pourra voir que notre hébergeur n'accepte pas ce script. ;)
Yaug Messages postés 35 Date d'inscription jeudi 16 septembre 2004 Statut Membre Dernière intervention 3 septembre 2010
12 avril 2005 à 16:02
c'est pour un serveur linux :P
et mencoder et spéciale pour linux ^^

quoi qu'il en soit, je suis en train de l'améliorer, y'aura plus besoin de "mencoder" mais seulement de "ffmpeg".

Mais pour le moment, je doit résoudre un dernier probleme car je n'arrive pas a avoir le son sur le flv lorsque l'on a du mpg en entré
cs_vvince Messages postés 14 Date d'inscription mercredi 23 mars 2005 Statut Membre Dernière intervention 10 février 2008
12 avril 2005 à 15:59
Sachant que mplayer est un soft windows, est-ce que ton code peut etre porté sous linux ?

(je n'ai pas testé, je pose la question un peu en l'air en fait)

A+
Yaug Messages postés 35 Date d'inscription jeudi 16 septembre 2004 Statut Membre Dernière intervention 3 septembre 2010
12 avril 2005 à 08:54
ok, merci anthomicro, je vais tenter d'y penser et d'appliquer ca assez vite
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
11 avril 2005 à 19:53
Salut ;-)

vu que ini_set() et set_time_limit() sont deux fonctions qui sont la plupart du temps désactivées sur les hébergements mutualisés, autant rajouter un @ devant les fonctions ou implémenter une gestion d'erreur plus poussée ;-)

a ++
NeoZer0 Messages postés 9 Date d'inscription lundi 7 juillet 2003 Statut Membre Dernière intervention 20 juin 2006
11 avril 2005 à 18:45
Premiere fois que je vois ce genre de code pas mal très bonne idée j'ai pas testé mais original. Bravo
Yaug Messages postés 35 Date d'inscription jeudi 16 septembre 2004 Statut Membre Dernière intervention 3 septembre 2010
11 avril 2005 à 14:28
voila, ma premiere ptite source, j'ai passé pas mal de temps dessus vu mon petit niveau en php, et vu le temps necessaire a lire la doc de mplayer ... mais bon, ca n'en reste pas moins une source utile à mon avis.
Merci
Rejoignez-nous