Précédent   Forum des professionnels en informatique > PHP > Outils
Outils Forum d'entraide sur les outils pour développeurs PHP : EDI, installation, administration... Avant de poster : FAQ outils, toutes les FAQ PHP et les comparatifs
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 29/05/2007, 19h30   #1
Futur Membre du Club
 
Inscription : septembre 2003
Messages : 62
Détails du profil
Informations forums :
Inscription : septembre 2003
Messages : 62
Points : 15
Points : 15
Par défaut [Conception] Reconnaitre le format d'une vidéo

Bonjour,
Je voudrais savoir si y'a un moyen de reconnaitre le format d'une video mis à part l'extention comme avec GD pour les images :
Code :
1
2
3
4
5
 
if (!getimagesize($_FILES['fichier']['tmp_name']))          
{                   
     exit("GD n'a pas reconnu le fichier en tant qu'image, script interrompu.");
}
merci
.:dev:. est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/05/2007, 13h56   #2
Membre habitué
 
Avatar de maxime.ohayon
 
Inscription : mai 2007
Messages : 113
Détails du profil
Informations personnelles :
Âge : 24
Localisation : France, Gironde (Aquitaine)

Informations forums :
Inscription : mai 2007
Messages : 113
Points : 100
Points : 100
Citation:
Je voudrais savoir si y'a un moyen de reconnaitre le format d'une video mis à part l'extention comme avec GD pour les images :
Salut
J'ai une solution à t'apporter mais elle cela reste de la bidouille.
Il te faut les connaissances de la commande exec()

il faut que tu utilise ffmpeg qui est un executable pour convertir des vidéos en ligne de commande sous windows et linux.

tu fait un truc du genre :
Code :
exec("ffmpeg -i ma_vidéo.avi",$result);
$result comporte les lignes retournées par l'execution du programme.
le logiciel va planté car il attends d'autre arguments comme par exemple son format de sortie mais va te retourner le format de la vidéo d'origine soit:

C:\Documents and Settings\maxime>"C:\Documents and Settings\maxime\Mes documents
\ffmpeg.exe" -i "C:\Documents and Settings\maxime\Bureau\xvid.avi"
FFmpeg version SVN-r9133, Copyright (c) 2000-2007 Fabrice Bellard, et al.
configuration: --enable-gpl --enable-pp --enable-swscaler --enable-pthreads --
enable-liba52 --enable-avisynth --enable-libamr-nb --enable-libamr-wb --enable-l
ibfaac --enable-libfaad --enable-libgsm --enable-libmp3lame --enable-libnut --en
able-libogg --enable-libtheora --enable-libvorbis --enable-x264 --enable-xvid --
cpu=i686 --enable-memalign-hack --extra-ldflags=-static --enable-dirac
libavutil version: 49.4.0
libavcodec version: 51.40.4
libavformat version: 51.12.1
built on May 27 2007 19:45:44, gcc: 4.2.0

Seems stream 0 codec frame rate differs from container frame rate: 15.00 (65535/
4368) -> 15.00 (5000000/333333)
Input #0, avi, from 'C:\Documents and Settings\maxime\Bureau\xvid.avi':
Duration: 00:01:27.1, start: 0.000000, bitrate: 937 kb/s
Stream #0.0: Video: mpeg4, yuv420p, 640x480, 15.00 fps(r)
Stream #0.1: Audio: pcm_u8, 7875 Hz, mono, 63 kb/s
Must supply at least one output file

et tu vois bien que la ligne Stream #0.0: Video: mpeg4 .....
contient le format de ta vidéo

Je suis d'accord c'est un moyen un peu barbare mais je ne connais pas d'autre solution multi-plateforme
maxime.ohayon est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/05/2007, 16h39   #3
Futur Membre du Club
 
Inscription : septembre 2003
Messages : 62
Détails du profil
Informations forums :
Inscription : septembre 2003
Messages : 62
Points : 15
Points : 15
ok merci.
C'est ce que j'ai trouvais aussi soit ffmpeg ou tcprobe -i .
Le seul inconvenient c'est que je dois autoriser la fonction exec.
je vais voir avec la lib ffmpeg.
On peut creer un objet ffmpeg et recuperer la durée, nombres de frame ...
Code :
1
2
3
4
 
$video = new ffmpeg_movie(dirname(__FILE__) . 'video.avi');
echo "Durée : ".$video->getDuration(); 
...
++
.:dev:. est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 07h05.


 
 
 
 
Partenaires

Hébergement Web