Déterminer la durée d'un fichier avi

Contenu du snippet

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.

A voir également

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.