Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1208 connectés 

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

codec video

n°831616
BlinkMeSha​do
Posté le 01-08-2006 à 11:04:56  profilanswer
 

Bonjour,
 
J'aimerais savoir s'il existait une commande (sans interface graphique pour connaitre les codec d'un fichier video)
 
Pour l'instant j'utilise ffmpeg pour encoder :
 
il me sort quelque chose comme ca :
 
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '031005_NHtoPluto.mov':
  Duration: 00:05:00.3, start: 0.000000, bitrate: 357 kb/s
  Stream #0.0(eng): Audio: adpcm_ima_qt, 22050 Hz, mono
  Stream #0.1(eng): Video: svq1, yuv410p, 320x240, 14.98 fps(r)
 
 
C'est exactement ce que je veux, mais j'ai pas trouvé de commande pour lui demander d'afficher ces informations sans rien encoder.
le but c'est de lancer cette commande depuis php pour récupérer les codec de la video afin de lancer ffmpeg pour réencoder la video automatiquement selon des paramètres dependant du format d'entrée ( se baser sur l'extension du fichier n'est pas assez précis et peu etre falsifié).
 
merci pour vos réponse
merci !
 

mood
Publicité
Posté le 01-08-2006 à 11:04:56  profilanswer
 

n°831629
hwlm
Never give up, never surrender
Posté le 01-08-2006 à 11:56:28  profilanswer
 

Essaie avec la commande "file".

n°831650
HDSDI
Posté le 01-08-2006 à 12:43:17  profilanswer
 

Tu lance un transcodage "bidon" d'une seconde de durée. Tu aura tes informations, au prix d'un temps de calcul minime (et comme ça si le transcodage se passe mal, tu se saura aussi).
Mplayer/mencoder idem.
 
Tient nous au courant !

n°831662
BlinkMeSha​do
Posté le 01-08-2006 à 12:59:21  profilanswer
 

ok merci pour vos deux réponses  
 actuelement je me débrouille avec un :
 
ffmpeg -i source
il me sort toutes les info avec un erreur a la fin :
 
Must supply at least one output file
 
le probleme c'est que quand je lance la comande depuis php je n'arrive pas a récupérée la sortie donc l'idée du transcodage bidon ca peut etre la solution meme si c'est un peu sale
 
avec file c'est bien mais pas assez précis car il faut que je distingue par example le wmv1, wmv2 ou le wmv3 qui ce dernier n'est pas supporté par ffmpeg

n°831687
Mjules
Modérateur
Parle dans le vide
Posté le 01-08-2006 à 14:36:20  profilanswer
 

mplayer -vo dummy -ao dummy mon_fichier  ?


---------------
Celui qui pose une question est idiot 5 minutes. Celui qui n'en pose pas le reste toute sa vie. |  Membre du grand complot pharmaceutico-médico-scientifico-judéo-maçonnique.
n°831693
HDSDI
Posté le 01-08-2006 à 14:50:53  profilanswer
 

Pour récuperer la sortie (il y a plus simple) un truc du genre codé a la louche:

Code :
  1. [...]
  2. if (file_exist("fichierdesresultats.txt" ))
  3. {
  4. deletefile("fichierdesresultats.txt" );
  5. }
  6. exec("executable -options > fichierdesresultats.txt" );
  7. $variable=file(fichierdesresultats.txt);
  8. [...]


le ">" détourne la sortie console vers un fichier texte
le ">>" détourne la sortie console vers la fin d'un fichier texte (append)

n°831703
Riot
Buy me a riot
Posté le 01-08-2006 à 15:38:20  profilanswer
 

Si tu as 5 minutes et que tu sais compiler un programme C/C++, ça m'a l'air assez facile avec la bibliothèque libavformat (utilisée par ffmpeg).
 

Code :
  1. #include <headers_qui_vont_bien>
  2. int main(int argv, char* argv[])
  3. {
  4. AVFormatContext *pFormatCtx;
  5. const char      *filename="myvideo.mpg";
  6. // Open video file
  7. if(av_open_input_file(&pFormatCtx, filename, NULL, 0, NULL)!=0)
  8.     handle_error(); // Couldn't open file
  9. // Retrieve stream information
  10. if(av_find_stream_info(pFormatCtx)<0)
  11.     handle_error(); // Couldn't find stream information
  12. dump_format(pFormatCtx, 0, filename, false);
  13. return 0;
  14. }

n°831726
BlinkMeSha​do
Posté le 01-08-2006 à 17:10:23  profilanswer
 

Finalement j'ai retenu l'idée du transcodage bidon d'1 frame mais le petit programme en C ca me plait assez je vais expérimenter ca.
 
Pour l'heure je fais ceci :
 

Code :
  1. function getRealType($src){
  2.  $com="ffmpeg -y -i $src -vcodec flv -an -vframes 1 dummy.flv";
  3.  $descriptorspec = array(
  4.  0 => array("pipe", "r" ),  // stdin  
  5.  1 => array("pipe", "w" ),  // stdout  
  6.  2 => array("pipe", "w" ) // stderr  
  7.  );
  8.  $cwd = getcwd();
  9.  $process = proc_open($com, $descriptorspec, $pipes,$cwd);
  10.  if (is_resource($process)){
  11.   $errorStream=stream_get_contents($pipes[2]);
  12.   fclose($pipes[0]);
  13.   fclose($pipes[1]);
  14.   fclose($pipes[2]);
  15.     $return_value = proc_close($process);
  16.   return $errorStream;
  17.  }
  18. }

n°831764
HDSDI
Posté le 01-08-2006 à 20:00:51  profilanswer
 

Et tu obtient ?


Aller à :
Ajouter une réponse
 

Sujets relatifs
distribution Linux pour aquisition et montage vidéo[résolu]Video : cropping et réencodage
Windows Media: erreur CodecCapture video et son
Quel player Audio et/ou vidéo utilisez-vous ?fonctionnement video conf avec msn et linux
Codec DivX pour pocket PCouvrir une video en .asf avec WMP probleme de codec
connaître le codec utilisé dans une vidéo 
Plus de sujets relatifs à : codec video


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR