Permet de trouver la durée d'un fichier AVI en parcourant l'entête du fichier.
Voici comment est constitué l'entête d'un fichier AVI:
http://www.fastgraph.com/help/avi_header_format.html
Source / Exemple :
float temps_video(FILE * test,char* ext)
{
long int final_time=0, final_frame=0;
float time=0;
if (test != NULL && strcmp(ext,"avi")==0)
{
//on ignore les 32 premiers bits
fseek(test, 32, SEEK_SET);
//on sauvegarde l'intervalle entre 2 images
fread(&final_time,4,1,test);
//on ignore les 12 bits suivants
fseek(test, 12, SEEK_CUR);
//on sauvegarde le nombre d'image
fread(&final_frame,4,1,test);
//durée en microsecondes
time = final_frame*final_time;
}
else
perror("probleme");
// on divise par 1.000.000 puis par 60 pour passer en minutes
return time/60000000;
}
Conclusion :
Voila ma contribution, si vous avez des idées pour améliorer ce script n'hésiter pas et si vous savez où je peux trouver la construction d'un header pour d'autre format je suis preneur.
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.