AVIWriter: un composant Delphi pour encoder de la vidéo en temps réel
Copyright
Copyright © 2006 par Vincent Feuvrier.

Téléchargement


Description
Le package fourni enregistre un nouveau composant dans la page "custom": TAVIWriter.

Ce composant permet d’écrire des fichiers AVI en utilisant les codecs installés sur la machine. Il est conçu pour fonctionner en mode non-bloquant, c’est à dire qu’il est possible de compresser et d’écrire des frames dans le fichier au fur et à mesure qu’elles sont générées, comme illustré dans le programme d’exemple fourni. L’intérêt est qu’ainsi, il n’est pas nécessaire de créer un buffer pour les frames non compressées, et donc le programme utilise moins de resources, tant au niveau mémoire que processeur.

Il y a quatre méthodes pour ajouter une frame à l’AVI:

  • depuis un TBitmap (relativement rapide);
  • depuis un TGraphic (JPEG ou autre, à peine moins rapide);
  • depuis n’importe quel DC, par exemple on peut faire, comme dans l’exemple, une vidéo de son bureau (moyennement rapide);
  • depuis un buffer RGB avec les lignes alignées sur 32 bits (le plus rapide).

Pour créer un AVI, il faut successivement:

  • définir les paramètres du fichier (AVIFileName, AVIWidth, AVIHeight, AVIFrameRate etc...);
  • commencer à enregistrer avec StartRecording;
  • ajouter des frames en utilisant l’une des quatre méthodes décrites ci-dessus;
  • finaliser le fichier et stopper l’enregistrement avec StopRecording.

Il faut absolument que StopRecording soit appelé après StartRecording, sinon le fichier risque d’être corrompu ou illisible.

Dernière modification le 19/3/2010
Ce document a été traduit de LaTeX par HeVeA