begin process at 2008 07 04 22:38:40
1 204 973 membres
490 nouveaux aujourd'hui
14 118 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

ACQUISITION VIDEO (WEBCAM, TV CARDS ...)


Information sur la source

Catégorie :Périphériques Classé sous : webcam, vidéo, incrustation, détection, enregistrer Niveau : Initié Date de création : 24/05/2005 Date de mise à jour : 19/06/2007 13:03:18 Vu / téléchargé: 31 183 / 3 686

Note :
8,85 / 10 - par 13 personnes
8,85 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (58)
Ajouter un commentaire et/ou une note

Description

J'ai essayé de réécrire un composant d'acquisition vidéo en utilisant les fonctions de la DLL AviCap32.dll, et en restant au plus près de ces fonctions.
Les derniers sources que nous avons vu ici, usaient (et abusaient) de copier-coller pour présenter dans un TImage une vidéo rendue invisible à sa création !
Il y a ici, une utilisation des fonctions callback pour générer les évènements,
Il y a en plus, un bitmap intégré au composant qui permet de faire de l'incrustation de texte et de dessin dans l'image vidéo.

La démo présente deux points principaux :

1 - Incrustation
L'incrustation est obtenue en utilisant le canvas d'un bitmap du composant. Lors des évènements générés par les fonctions callback, lorsqu'il y a accès au buffer image captée (OnFrame et OnVideoStream), on fusionne ce buffer et les pixels du bitmap. J'encourage chaque utilisateur à écrire ses propres alogorithmes de fusion, selon ses besoins.
On peut ansi visualiser une capture avec incrustation ou enregistrer un flux vidéo avec incrustation

2 - Analyse d'image et détection de mouvement
Cette analyse est effectuée à chaque nouvelle trame, et si un mouvement est détecté, un cadre est ajouté à l'image vidéo par incrustation

Conclusion

Limitations :

- Pas d'enregistrement des incrustations si on utilise un codec vidéo de compression (comme DivX, Intel IYUV ou autre). (le flux est probablement détourné avant de parvenir au composant)

(Z'avez vu la capture de la capture de la capture de la capture de la capture de la capture de la capture de la capture de la capture .....)

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

16 juin 2005 15:31:44 :
Les incrustations dans les flux vidéo compressés en UYVU ou YUY2 sont maintenant possibles. Le composant TCapture a une nouvelle propriété : VideoFormat Le programme de démo montre comment faire : - Dessiner dans un bitmap "classique" 24 bits - Utiliser une des fonctions de conversion de l'unite BMP2YUV pour remplir le bitmap avec une image compressée Il y a un nouvel algorithme de détection de mouvement multi-zone. Il est dans l'unité U_Detection Il est possible de coder dans un même esprit les fonctions que je donnais en exemple dans la précédente version. NOTE : Je préfère que la parsonne qui a noté 1 ce source, ne télécharge pas cette version !!!....
12 décembre 2005 10:31:38 :
- Ajout de l'option mmNone dans MergeMode (pas d'incrustation) - Ajout de la propriété en lecture Driver : Nom du driver Windows pour le device sélectionné.
02 juin 2006 10:56:47 :
Ajout des méthodes StartCapture et StopCapture procedure StartCapture(const FileName: string = ''; const duree: integer = 0); procedure StopCapture; StartCapture est très proche de RecordOnFile. Elle permet en plus de passer en mode capture SANS création de fichier. Le déclenchement de l'évènement OnFrame se produit alors même si le composant TCapture est totalement masqué par une autre fenêtre (contrairement au mode Preview où le masquage de la fenête d'affichage de la vidéo bloque l'évènement) StopCapture = StopRecord J'ai renomé la méthode pour parce que préférait éviter que la fonction RecordOnFile puisse justement ne plus enregistrer dans un fichier. Les méthodes RecordOnFile et StopRecord on été conservées pour la compatibilité avec les anciennes versions
19 juin 2007 13:03:18 :
Un bug dasn l'exécution d'une fonction callback du composant. Je m'en suis aperçu en faisant une source à partir du composant
  • signaler à un administrateur
    Commentaire de MAURICIO le 25/05/2005 13:25:17

    Oui Z vu la capture de la capture de la capture.
    Malheureusement, je pourrai tester ce prog. que chez moi :(
    Mais je te felicite de te jeter sur un tel compo!
    Vu ta passion pour les jeux, quand est-ce que tu nous fait un jeu "Eye-toy" comme sur la Playstation?
    Je cherche un compo (avec source) pour scanneriser, tu sais po où trouver ça?

  • signaler à un administrateur
    Commentaire de WhiteHippo le 25/05/2005 20:01:03

    Chez moi, j'ai le texte d'incrustation qui pose problème. C'est comme si on avait effectué une symetrie horizontale sur ce texte, qui se retrouve en haut et non tête bêche. Bref, c'est plutot bizarre.... J'ai pas le temps de chercher maintenant pour savoir si cela viens de mes paramètres de caméra, mais je vérifierais plus tard.
    Je jetterais également un coup d'oeil au code.

    N.B. Y'a du taf là dessous Kenavo, elle doit être belle la bouteille de chouchen :P

    Cordialement.

  • signaler à un administrateur
    Commentaire de Kenavo le 25/05/2005 22:34:33

    Mauricio > Je connaissais pas Eye-Toy, et maintenant que j'ai vu, je suis totalement découragé ! Je bosse pour améliorer la reconnaissance de mouvement (plusieurs zones, vitesse et direction ...), mais là ! Je te remercie pour m'avoir fait entrevoir la profondeur de ma médiocrité ;-)
    Pour ton Pb de scan : http://www.torry.net/quicksearchd.php?String=twain&Title=Yes

    WhiteHippo > Le phénomène d'incrustation dont tu parles doit être du à un flux vidéo orignal compressé. Il faut configurer la caméra en RVB 24 bits si possible. Car non content d'être compressé, il y a en plus l'ordre des lignes qui est inversé. Mais à la fin du chouchen le problème n'est plus trop visible ! :-))

    Ken@vo

  • signaler à un administrateur
    Commentaire de MAURICIO le 27/05/2005 11:25:15

    Merci Kenavo pour ce link. Je viens de telecharger un compo avec sa source :)
    Je suis désolé de t' avoir découragé ... Par contre, je verrai bien l' exploitation de ton source pour faire un prog. pour manipuler les fenetres de windows à la "minority Report". Ça doit pas être dûr pour toi je pense. Et puis apres tout: rien ne se crée, tout se transforme, non?

  • signaler à un administrateur
    Commentaire de Ralpho le 01/06/2005 17:32:51

    Demat,
    Bravo pour ta source, trugarez kenavo

  • signaler à un administrateur
    Commentaire de jmp77 le 06/06/2005 13:33:18

    Hello tous le monde,

    Bravo Kenavo c'est une très bonne source.

    Pour ma part je ne suis pas connaisseur du traitement d'image ou video avec delphi et c'est super interessant.

    Merci à toi.

    Ca merite un bon 9/10 pour moi.

    Bonne continuation et bon Chouchen !!!!

  • signaler à un administrateur
    Commentaire de JLF26 le 11/06/2005 23:53:05

    Excellent travail pour ce composant de capture pour delphi.

    Encore bravo.



  • signaler à un administrateur
    Commentaire de Stephane_menard le 14/06/2005 12:57:51

    bonjour,

    je travaille avec delphi 7 edition professionlle et je rencontre des problèmes avec la démonstration du composant d'acquisition video.

    Si je double-clique sur 'DemoCapture.dpr', je rencontre un premier message d'erreur :
    'Impossible de trouver le fichier ressources DemoCapture.res. Recrée.'

    après avoir cliqué sur 'OK', j'en ai un deuxième :
    "Erreur de lecture de la fiche"
    'Classe TCapture non trouvée. Ignorer l'erreur et continuer ?'
    'Remarque : ceci peut provoquer la suppression de composants'
    'ou la perte de valeurs de propriétés.'

    Si je clique sur 'Ignorer', j'ai accès au code et au formulaire graphique, mais je ne peux pas compiler le programme sans erreur et l'affichage ne fonctionne pas dans le composant TCapture.

    Si je clique sur 'Annuler', un troisième message d'erreur apparaît :
    'Erreur à la création de la fiche classe TCapture non trouvée'
    Là, je peux compiler et modifier le code. La capture marche, mais je n'ai pas accès au formulaire graphique.

    J'ai tenté d'installer le composant en vain dans un autre projet.


    Comment faire pour faire fonctionner la démonstration correctement ?

    Comment faire pour pouvoir utiliser le composant dans un autre programme Delphi ? Comment l'installer correctement?

  • signaler à un administrateur
    Commentaire de Kenavo le 14/06/2005 13:49:20

    Salut,

    Il y a un tutorial sur l'intallation de composants : http://www.delphifr.com/tutorial.aspx?ID=86
    Le composant Tcapture est dans l'unité Capture.pas, Capture.dcr est le fichier ressouce composant lié.

    Quant au message 'Impossible de trouver le fichier ressources DemoCapture.res. Recrée.' c'est normal puisque je n'ai pas mis le fichier DemCapture.res dans le zip

    Ken@vo

  • signaler à un administrateur
    Commentaire de Stephane_menard le 16/06/2005 08:36:28

    Merci de votre aide.

    Ca fontionne maintenant, et c'est vraiment un beau composant !

    Encore merci.

  • signaler à un administrateur
    Commentaire de Stephane_menard le 17/06/2005 14:49:21

    Salut,

    Ben euh depuis la mise à jour j'ai une image rose ???

    Si quelqu'un a une idée, je suis preneur !

    Merci.

    Stéphane.

  • signaler à un administrateur
    Commentaire de Kenavo le 17/06/2005 15:43:39

    Sans doute un problème de reconnaissance du format vidéo.  
    TCapture.VideoFormat retourne une chaine donnant une info sur le format. Vu mon matériel, je n'ai testé que 'RGB', 'UYVY' et 'YUY2'. Si tu as un autre format (YUV ou autre) il peut y avoir un problème.
    Le composant lui-même n'a pas beaucoup changé (juste la propiété VideoFormat et la fonction GetVideoFormat)
    Le programme de démo précédent devrait tourner de la même façon

    Ken@vo

  • signaler à un administrateur
    Commentaire de Stephane_menard le 04/07/2005 08:06:11

    Salut Ken@vo,

    La capture fonctionne bien avec une webcam 'Philips ToUCam Pro 2', en USB ; par contre je n'y arrive pas avec une camera 'Panasonic NV-GS11' que ce soit en USB ou en FireWire. Ca fonctionne quand même si je mets la camera en mode webcam, mais c'est pas le but.

    Une idée ?

  • signaler à un administrateur
    Commentaire de Stephane_menard le 04/07/2005 08:33:31

    Re-salut,

    Avant qu'on ne me pose la question, le message d'erreur que je reçois est le suivant :

    Violation d'accès à l'adresse 00456680 dans le module 'DemoCapture.exe'. Lecture de l'adresse 00B20000.

    Merci de votre aide,

    Stéphane.

  • signaler à un administrateur
    Commentaire de Ludolpif le 06/07/2005 11:16:07

    J'ai beau fouiller... Je ne voit pas comment SELECTIONNER un périphérique dans le cas où il n'est pas unique...
    Exemple de cas concret bien enbêtant :
    J'ai 1 carte WinTV, et une webcam... Et par défaut, je risque de choper la télé... Je compte pas afficher à chaque fois que je lance le prog la dialog box générique Micr$oft pour changer la source vidéo quoi...
    Si quelqu'un a l'info, ça serai cool car vaut mieux 1 qui sait en informatique que 10 qui cherchent !
    NB : J'ai regardé sur MSDN mais j'ai pas trouvé...
    Je sais séldectoinner le DRIVER avant de m'y connecter desus...Seulement, dans mon cas, c'est un seul driver qui gère mes deux sources...

  • signaler à un administrateur
    Commentaire de Kenavo le 09/07/2005 08:18:20

    Salut,

    N'ayant qu'un périph, je n'ai pas fait d'essais. Je pensais que la propriété Device servait à ça, mais effectivement, elle ne sert qu'à sélectionner le Driver. Je se sais pas comment contourner le dialogue de sélection de source. Désolé !

    Ken@vo

  • signaler à un administrateur
    Commentaire de Nicolas___ le 15/07/2005 19:44:38

    Bon je sais que je suis un peu a la bourre pour te le dire mais voila vaut mieux tard que jamais

    Donc ::=>

    Ton prog et ton compo , ils sont vraiment excellents vraiment ce que je voulais voir,
    Je dis simplement Chapeau et Meric Bcp pour Ta source

    Slt
    Nico
    @+

  • signaler à un administrateur
    Commentaire de Ludolpif le 18/07/2005 18:27:59

    Perso, je suis parti sur une autre piste : DirectX et l'OLE... Je suis tombé sur un composant tout prêt qui marche pas mal... Je ne sais pass'il est possible de gérer plusieurs webcam avec... Quand j'aurai 1 peu plus avancé, je vous ferai signe ;)
    Le composant s'appelle TCapture... J'ai pas le temps ed recherche le lien, mais je vous le donnerai ;)

  • signaler à un administrateur
    Commentaire de phmosse le 16/08/2005 11:12:43

    Très bien ton Objet il serait bon d'ajouter la méthode suivante qui permet de retourner la liste des sources vidéo  et affecter l'indice de la liste au Device (Capture.Device:=Combo.itemIndex):

    function TCapture.GetDriverList: TStrings;
    var
      i: integer;
      name: array[0..80] of char;
      ver: array[0..80] of char;
    begin
      result := TStringList.Create;
      for i := 0 to 9 do
        if capGetDriverDescription(i, name, 80, ver, 80) then
          result.Add(StrPas(name) + ' ' + strpas(ver))
        else
          Break;
    end;

    Si ça Peu Aider

    Philippe à Bientot

  • signaler à un administrateur
    Commentaire de Stephane_menard le 26/08/2005 08:39:01

    Bonjour,

    j'ai un problème avec le composant TCapture.

    J'ai un boitier d'acquisition vidéo analogique branché sur le port USB. C'est un 'Instant VideoMPX' de chez 'ADS Tech'. Il permet d'acquérir de la vidéo analogique en Composite ou SVideo.

    Le format d'acquisition est 'UYVY', en diverses tailles d'image(640x480, 352x240,...), en 30 ou 60 images par secondes. Cela devrait donc fonctionner, mais au lieu de ça, l'application rame comme c'est pas possible et j'obtient une image verte.

    Bien sûr, je ne peux pas acquérir.

    AU SECOURS !!!!

    Si quelqu'un peux m'aider !!!

  • signaler à un administrateur
    Commentaire de Ludolpif le 26/08/2005 10:44:39

    je crois tout simplement qu'il vaut mieux changer de fusil d'épuale de ne pas utiliser cette #%µ$$¨% de dll ;) En OLE et avec DirectX, ça devrais marcher bien mieux ! J'ai trouvé une super source ailleurs qu'ici, mais j'ai plus le lien... je cherche... humhum... je galère... ;) Ah ! Je trouve ;)
    Perso, j'suis en train de développer un prog basé la dessus
    http://www.torry.net/authorsmore.php?id=3310
    voilà voilà ;)

  • signaler à un administrateur
    Commentaire de Stephane_menard le 26/08/2005 11:14:14

    Salut,

    LUDOLPIF, tout d'abord, merci de ton aide.

    J'ai téléchargé l'exemple dont tu m'as donné le lien, et il me sort une erreur dans l'unité 'DirectDraw' sur la ligne :
          lpDDSZBufferDest            : PDirectDrawSurface; // Surface to use as Z buffer for dest


    l'erreur est la suivante :
    [Erreur] DirectDraw.pas(176): Le type 'IDirectDrawSurface' nécessite une finalisation - non autorisé dans enregistrement variant

    Que faire ?

    J'utilise Delphi 7, est ce que ça vient de là ?

    Merci.

  • signaler à un administrateur
    Commentaire de astropierrot le 05/09/2005 15:18:48

    bONJOUR

    i am happy !!
    Je suis inscris depuis 10mn, mais j'ai le meme probleme que certains.
    a ca tu reponds:
    c'est normal puisque je n'ai pas mis le fichier DemCapture.res dans le zip  
    On fait quoi dans ce cas là  :-)))

    Merci pour l'info; je bous (du verbe bouillir, et pas bouder !) d'impatience !
    A+
    AstroPierrot

  • signaler à un administrateur
    Commentaire de Ludolpif le 05/09/2005 15:34:00

    en réponse au problème de stéphane... mais ça peut servir à d'autres ;)
    ah oui... j'suis, j'ai pas pensé à te dire... regardes un coup les $ID DEF ;)
    Suivant les versions de Delphi, il charge un truc... en fait si C la version 5, alros il met Pointer au lieu de IDirectDrawSurface à une certaine variable (je te di ça de tête, dc C 1 peu cho pr moa ;)), parce que le cr"ateur avait constaté qu'il devait mêtre son type bizarre pour delphi 4, seulement évidement il pa pensé aux versions supérieures ;) Alros si tu veux faire propre, voit comment tu peux arranger les IF Def pour que ç définisse en pointer, autrement, vire les iddef et met Pointer à la place de IDirectDrawSurface ;)
    Si t'y arrives pa, renvoi moi 1 msg, je te dirai + précisément, parce que j'ai pa tro de temps ce soir ;)

  • signaler à un administrateur
    Commentaire de astropierrot le 08/09/2005 18:48:50

    Je rehitere ma demande.....  :-))
    Je voudrais utiliser le "composant video"

    Ce que j'ai comme probleme (copie d'aun autre message).

    Si je double-clique sur 'DemoCapture.dpr', je rencontre un premier message d'erreur :
    'Impossible de trouver le fichier ressources DemoCapture.res. Recrée.'

    après avoir cliqué sur 'OK', j'en ai un deuxième :
    "Erreur de lecture de la fiche"
    'Classe TCapture non trouvée. Ignorer l'erreur et continuer ?'
    'Remarque : ceci peut provoquer la suppression de composants'
    'ou la perte de valeurs de propriétés.'

    Si je clique sur 'Ignorer', j'ai accès au code et au formulaire graphique, mais je ne peux pas compiler le programme sans erreur et l'affichage ne fonctionne pas dans le composant TCapture.

    Si je clique sur 'Annuler', un troisième message d'erreur apparaît :
    'Erreur à la création de la fiche classe TCapture non trouvée'
    Là, je peux compiler et modifier le code. La capture marche, mais je n'ai pas accès au formulaire graphique.

    J'ai tenté d'installer le composant en vain dans un autre projet.


    Comment faire pour faire fonctionner la démonstration correctement ?

    URGENT URGENT suis presque debutant, merci de m'aider !!

    cordialement

    ASTROPIERROT

  • signaler à un administrateur
    Commentaire de Kenavo le 08/09/2005 18:55:44

    Il faut installer le composant TCapture !!!!!!!!!
    Lis ça : http://www.delphifr.com/tutorial.aspx?ID=86

    Kenavo

  • signaler à un administrateur
    Commentaire de astropierrot le 08/09/2005 19:21:10

    RE
    je suis bien allé sur http://www.delphifr.com/tutorial.aspx?ID=86

    Je me suis perdu en route.... !
    j'utilise D6perso ..!
    je ne retouvre pas ou est Mon cas par rapport à la présentation generale..

    A+

    ASTROPIERROT

  • signaler à un administrateur
    Commentaire de 39mich59 le 02/11/2005 11:03:11

    salut,
    Je fais une petite demande. Le composant marche niquel, j'ai modifié pour faire apparaitre un rectangle rouge. Mais il disparait quand l'image de la camera devient blanche. Comment faire pour garder le rectangle toujours visible? Merci.

    (seul les bords du rectangle sont rouges, l'interieur est transparent)
    mIch°°

  • signaler à un administrateur
    Commentaire de 39mich59 le 02/11/2005 11:59:20

    hum, desolé, je viens de trouver.. pour ceux que ca interesse, cela se passe dans le mergemode:=mmMask;
    desolé pour la pagaille

  • signaler à un administrateur
    Commentaire de asmaeber le 23/11/2005 19:45:04

    SaLuT tous le monde.

    Je voudrai realiser un serveur qui lit un flux webcam et qui l'envoie par reseau, et un client qui lit le flux envoyé.

    Est ce que quelqu'un peut m'aider sur comment réaliser cela?
    je me suis dis que je peux utiliser le code source d'acquisistion video et essayer d'envoyer le flux recuperé par reseau.

    Merci de m'aider!!!

  • signaler à un administrateur
    Commentaire de Stephane_menard le 02/12/2005 14:24:29

    Salut,

    N'y a-t-il pas un moyen simple de désactiver l'incrustation pour avoir une simple capture et ainsi pouvoir capturer à des vitesses correctes sur des machines lentes ?

    Merci pour tout conseil.

  • signaler à un administrateur
    Commentaire de Kenavo le 02/12/2005 16:42:57

    Salut Stéphane,

    Tu peux modifier Capture.pas en rajoutant mmNone dans les modes de fusion :
    TMergeMode = (mmNone,mmOr, mmAnd, mmMask, mmPixelMask); (reconstruire le paquet où il est installé)

    En choisissant mmNone (dans l'inspecteur d'objet par exemple) tu feras que rien ne sera fait dans la  procédure MaskMerge, mmNone n'étant pas référencée dans le case ... of

    Je pense que celà devrait suffire

  • signaler à un administrateur
    Commentaire de Stephane_menard le 05/12/2005 08:58:52

    Bonjour,

    Eh bien merci Kenavo, c'est exactement ce que je voulais.

  • signaler à un administrateur
    Commentaire de GGX91 le 05/01/2006 14:43:08

    Bonjour

    Bravo pour le programme !
    J'ai cependant un problème avec la Preview. L'acquisition video ou Bitpmap fonctionne bien (fichiers OK), mais la preview reste invariablement noire. De plus, il est impossible de modifier la propriété Preview du composant Capture1 dans le programme de Demo, qui reste invariablement à False.

    Auriez-vous une idée ? (J'utilise Delphi 7 pro)
    Merci.

  • signaler à un administrateur
    Commentaire de medelias le 12/02/2006 15:12:58

    salut tous,

    j'ai pas pu même pas ouvrir le source en complet il me donne une erreur de type "List index out of limits (0)", d'où vient ce problème???

    CHAAO

  • signaler à un administrateur
    Commentaire de askil2000 le 27/03/2006 20:39:52

    Salut Kenavo et tout les programmeurs ;)
    Comme j'aime bien être le dernier à ajouter un post sur les sources hard. Voici la question qui tue :
    comment afficher la fenetre de selection de la source vidéo
    affin de pouvoir choisir :) Elle s'affiche 1 fois lors du lancement du prog puis enregistre (je suppose dans la bdr) le périf video de capture. => http://vdpsys.free.fr/choix.jpg

    voilà merci à tous et good luck ...

  • signaler à un administrateur
    Commentaire de Kenavo le 31/03/2006 11:59:31

    Salut Askil,
    Il me semble que c'est la méthode SelectDisplay. Regarde les lignes qui suivent Capture1.Connect, c'est là que sont les dialogues qui apparaissent au début (méthode FormActivate)

    Ken@vo

  • signaler à un administrateur
    Commentaire de DeltaFX le 21/04/2006 21:08:27

    Et hop, un lien qui pourrait servir à titiller les neurones codeurs :)

    http://rsb.info.nih.gov/ij/index.html

  • signaler à un administrateur
    Commentaire de askil2000 le 25/04/2006 03:52:37

    Merci Kenavo ! pour cette réponse rapide.
    Je n'ai trop cherché j'avoue (manque de temps)
    perso j'aurais voulu travailler avec le hcam il est + simple.
    //Handle du periph d ela cam
    hcam:=capCreateCaptureWindowA('',0,0,0,320,240,handle,0);
    //Connection a la cam
    sendmessage(hcam,1034,0,0);
    etc ...
    tu vois de koi je parle.
    je pense qu'il existe un sendmessage qui puisse me demander le périf d'entrée video. je m'y connais pas suffisement pour l'affirmer, mais en tout k se serais génial.
    http://vdpsys.free.fr/choix.jpg
    Merci à tous !

  • signaler à un administrateur
    Commentaire de AimLess le 09/06/2006 14:27:58

    Bonjour Kenavo,

    Si je peux me permettre, je te félicite sur ce source qui m'est d'une grande utilité... Et oui des petits rigolos s'amuse à fracturer les voitures du voisinage, j'ai donc mis sous surveillance électronique mon box.

    Merci pour tes travaux et vive l'open source,

    Aimless, l'homme qui fait des bugs plus vite que son ombre

    PS : pour Kenavo une grande hola !!! holé ;-)

  • signaler à un administrateur
    Commentaire de AimLess le 09/06/2006 14:39:04

    Petite aparté (en espérant que le modérateur ne censure pas ce commentiare) :
    Pour les personnes qui ont mis 1/10 à cette source, si je peux encore me permettre (et je le fais ;-) ). Elles sont des truffons (mélanges de truffes et de cons = cons de luxes) :-))))))

    Mais bon, nous sommes en démocratie et comme dirait l'autre (Beaumarchais) : "Sans la liberté de blâmer, il n'est point d'éloge flatteur."

    Alors encore bravo pour ton source,

    Mes repects missiou et peut-être à bientôt sur la toile

    Aimless

    PS : Bah je suis resté courtois !!! et je suis toujours très zen c'est l'une de mes qualités ;-))))

  • signaler à un administrateur
    Commentaire de CamTre9 le 04/08/2006 12:42:25

    Bonjour Kenavo,
    Je use le code DemoCapture pour relever le mouvement de les mains, pour déterminé une position x,y moyenne et pour passée au système
          mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0);  
          setcursorpos(x,y);                  
          sleep(50);                                  
          mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0);      
    pour explorer un quicktime panorama sans le mouse.

    J’avez un problème: si je mette le software en icone et le panorama quicktime en ‘full screen’ le software ne fonction pas, je pense parce que la fenêtre de DemoCapture n’est pas visible et donc la capture de webcam est enfermée.
    Avez vous quelque information au regard?    

    Merci beaucoup,
    Camillo

    PS : excuse moi pour mon français!

  • signaler à un administrateur
    Commentaire de Stephane_menard le 29/08/2006 16:59:56

    Bonjour,

    quelques questions subsidiares :
    - Comment savoir combien de périphériques d'acquisition sont branchés ?
    - Comment connaître le nom du périphérique actuellemnt utilisé ?
    - Comment régler contraste et luminosité en direct ?
    - Commment faire fonctionner correctement une acquisition avec un temps définit ? (je n'y arrive pas avec l'instruction RecordOnFile)

    Merci de vos réponses.

  • signaler à un administrateur
    Commentaire de cincap le 30/10/2006 09:07:37

    Bonjour Kenavo,

    J'ai testé ta source, tout fonctionne correctement. Pour ceux qui veulent choisir la source d'une autre caméra, il suffit de réouvrir une 2ième application et de choisir automatiquement une autre caméra, ce qui pourrait être utile pour faire un ensemble pour 4 caméras sur une seule fiche puisqu'apparemment, le presse papier accepte plusieures images.

  • signaler à un administrateur
    Commentaire de smido le 16/12/2006 11:12:00

    Salut,
    Merci Kenavo pour ce composant, il est très important.

    J’avez un problème: après l'ouverture du programme "DemoCapture" un message d'erreur apparaisse " Indice de liste hors limite (0)"
    Comment résoudre ce problème ?
    Merci beaucoup,
    SMIDO

  • signaler à un administrateur
    Commentaire de goliasse le 13/01/2007 20:12:45

    Merci Kenavo ;
    Le code marche a la perfection avec les webcams mais , y a t'il une soulution pour améliorer le code afin de pouvoir exploiter la carte TV numérique DVB-s , je sais que ça demande un effort mais je suis d'accord.. pour l'aventure...! car tous les prog qui traite le domaine DVB son en C/C++ dû au lots de documentations disponible pour ces languages ...
    en attente .....

  • signaler à un administrateur
    Commentaire de PoulpHunter le 17/01/2007 12:06:57

    Salut,!
    Super source ! juste c'est ptéte moi, mais j'ai testé sur des PC virtuels n'ayant pas de cam, et sa plante (erreur kernell32.dll)
    J'ai testé et après quelques reprises (j'ai viré l'audio car je m'en sert pas aussi) sa serais la fonction :
    GetDriverList qui me fesait planter le soft...

    j'ai pas eu le temps encore de bien tout analyser mais sinon j'ai matté que cette source me prennait 15-25% de mon CPU contre 30% sur pour la méthode via bitmap
    c'est sympa sa !

    par contre j'ai toujours pas trouver comment passer en 30 frame par seconde si quelqu'un à une solution (autre que passer sous DirectX) ???

  • signaler à un administrateur
    Commentaire de Kenavo le 17/01/2007 19:02:40

    Salut à tous ! et pardon pour le retard !

    @SMIDO  : Essaie de repérer la fonction qui pose problème (probablement une ligne dans OnActivate)
    @GOLIASSE : Désolé, je ne pourrai pas t'aider (du moins pour le moment) n'ayant pas de carte TV
    @PoulpHunter : La fonction GetDriverList(qui m'a été proposée par PHMOSSE) n'est pas indispensable à un fonctionnement basique. 30 FPS semble fonctionner (304 trames en 10,4 secondes en mode capture)
    Sur Pentium Dual Core  1.86 Ghz et Logitech 500 pro

    @tous : N'oubliez pas qu'il s'agit d'une démo d'un composant sans doute incomplet! Je ne peux pas tester tous les matériels et toutes le configurations !  

  • signaler à un administrateur
    Commentaire de PoulpHunter le 18/01/2007 19:23:39

    Exact en capture vidéo sa marche nickel (30fps), juste c'est en preview que sa ramme... (chez moi avec un 2800+)
    J'ai testé de lancer une capture sans fichier via StartCapture et la hop, sa marche correctement... mais dès que je Stop sa relague... c'est bizzard... bon enfin tant que sa marche...

    Je vais essayer de faire une sorte d'Eye-toy, la j'ai déjà réussi à contrôler le volume du PC via cette source c'est franchement top :D
    mais j'aimerais vraiment approfondire les capacitées de la cam...

  • signaler à un administrateur
    Commentaire de Guss_ le 23/04/2007 23:37:22

    Salut, cette source me parait interessante mais je n'arrive pas à la lancer
    J'utilise Delphi 5 Professionel

    J'ai installé les composants avicap.pas et capture.pas

    A l'ouverture du projet j'ai les erreurs suivantes:
    -ne peut trouver les ficher resources ..\DemoCapture.res. Recrée.   (Normal)
    -Erreur lors de la lecture de DemoForm.designSize: Propriété inexistante.
    -Erreur lors de la lecture de lbSeuil.caption :Propriété inexistante.
    -Erreur lors de la lecture de LbSeuil
    -Erreur lors de la lecture de LbSeuil
    -Erreur lors de la lecture de LbSeuillbSeuil.ntrÃ'le d'enregistrement
    -Erreur à la création de la fiche Erreur de lecture du flux.


    Ensuite en essayant d'executer le programe j'ai ue erreur dans Bmp2YUV.pas
    Directive de compilation incorrecte : '$A8,B-,C-,D-,E-,F-,G+,H+,I+,J+,K-,L-,M-,N+,O-,P+,Q+,R+,S-,T-,U-,V+,W-,X+,Y-,Z1'

    Si quelqu'un à une idées pour me donné une piste.

    J'utilise une camera en FireWire(IEEE1394)

  • signaler à un administrateur
    Commentaire de Kenavo le 24/04/2007 17:44:10

    Salut

    Pour Delphi 5, il est possible que la propriété DesignSize n'existe pas.
    lbSeuil étant un TLabel, je ne comprends pas que la propriété Caption puisse être marquée inexistante.
    Pour les directives de compilation de Bmp2YUV, je pense que $A8 ne soit pas reconnu pas Delphi 5. Essaie $A-
    Pour les autres directives, essaye de la supprimer une à une jusqu'à ce que ça marche.

    Bon courage

    Ken@vo

  • signaler à un administrateur
    Commentaire de Guss_ le 25/04/2007 01:53:58

    Merci, la compilation de Bmp2YUV fonctionne avec $A-

    Pour le reste je vais voir, peut être que le fait qu'il ne puisse pas créer la feuille a cause de Designsize, fait qu'il ne trouve pas le lbseuil donc ne peut voir la propriété de celuici.

    Je vais creuser...

    @+

  • signaler à un administrateur
    Commentaire de brac23 le 26/04/2007 18:41:03

    merci Kenavo
    je n'ais pas encore testé la demo mais l'effort est important, merci encore une fois et bonne continuation

    @+

  • signaler à un administrateur
    Commentaire de brac23 le 26/04/2007 18:43:56

    Merci @+

  • signaler à un administrateur
    Commentaire de Guss_ le 29/04/2007 22:00:49

    Je pense avoir trouvé le problème.

    Dans le fichier U_DemoCap.dfm
    à la ligne 55 il y a pluiseurs lignes dans retour à la ligne entrelèlé de ce genre de caractère : 

    Comme si le fichier était éronné.

    J'ai retéléchargé le ZIP mais sans résultat.

  • signaler à un administrateur
    Commentaire de Kenavo le 30/04/2007 11:29:39

    Pas de problèmes dans le zip ! Change d'outil, IzArc par exemple, gratuit et multilingue (même breton, basque, catalan, .....  - http://www.izarc.org/index.html )

  • signaler à un administrateur
    Commentaire de Guss_ le 01/05/2007 13:19:25

    Toujours le même problème avec téléchargement avec Opera ou Mozilla, décompressé avec Winrar ou Izarc. Je pense que c'est Delphi qui ne doit pas interprété correctement certain caractère de mise en page.

    J'ai enlevé tout les déclaration sur ces label et Bevel, mais je n'ai un souci avec Delphi, le composant installés disparaissent au redemarage de Delphi ???

    Merci quand même

  • signaler à un administrateur
    Commentaire de brac23 le 02/05/2007 09:55:38

    Bonjour,
       je ne comprend pas bien pourquoi le composant ne fonction pas sur delphi 2006 :(, puis-je avoir votre soutient, Kenavo?
    merci d'avance

Ajouter un commentaire

Pub



Appels d'offres