(1) 2 »


Capturer image video
Utilisateur WDF
Inscrit:
22/02/2005 21:13
Post(s): 59
Bonjour,

je cherche le moyen de d'enregistrer l'image d'une video en pause lue dans un chap image et gérée avec les fonctions MCI.

J'ai essayé :

dcopieImage dans un autre champ image -> image retournée transparente.

dSauveImageJPG -> même probleme : image transparente

Contribution le : 23/02/2005 08:23
Créer un fichier PDF de la contribution Imprimer


Re: Capturer image video
Anonyme
up

Contribution le : 24/02/2005 09:22
Créer un fichier PDF de la contribution Imprimer


Re: Capturer image video

Inscrit:
19/11/2002 12:20
Post(s): 390
Tu risques d'avoir du mal, en général c'est directshow (un truc comme ça) qui est utilisé, ce qui fait qu'en faisant une capture d'écran, tu n'as qu'un fond noir (overlay).

Il faudrait désactiver l'utilisation de directshow, en tous cas temporairement...

Contribution le : 24/02/2005 10:10
Créer un fichier PDF de la contribution Imprimer


Re: Capturer image video
Utilisateur WDF
Inscrit:
22/02/2005 21:13
Post(s): 59
Oula...

Pourquoi je sens que ça va pas être facile ?

Contribution le : 24/02/2005 10:47
Créer un fichier PDF de la contribution Imprimer


Re: Capturer image video
Utilisateur WDF
Inscrit:
22/02/2005 21:13
Post(s): 59
Après plusieurs essais, je suis toujours bloqué sur ça... J'ai récupéré l'exemple de windev 7 du lecteur video qui était censé pouvoir faire une capture mais même lui ne marche pas...

au secours

Contribution le : 02/03/2005 20:08
Créer un fichier PDF de la contribution Imprimer


Re: Capturer image video

Inscrit:
19/11/2002 12:20
Post(s): 390
Il faut que tu désactives l'accélération matérielle pour l'affichage des vidéos si tu utilises Windows Media Player:
Menu: Outils -> Options -> Performances
Bouton "Options avancées"

J'ai fait l'essai en désactivant toutes les accélérations matérielles et en décochant toutes les options, j'ai pu faire une capture d'écran de la vidéo...

Après, reste à voir comment faire la désactivation en automatique, vu que Camtasia Studio 2 sait le faire, ça doit être possible...

Contribution le : 02/03/2005 21:01
Créer un fichier PDF de la contribution Imprimer


Re: Capturer image video
Utilisateur WDF
Inscrit:
22/02/2005 21:13
Post(s): 59
Merci pour l'info.

Je trouve bizarre que personne n'est essayé de le faire (et donc qui aurait trouvé une solution ^^!)

Je vais continuer de chercher dans cette voie. Si quelqu'un a une solution, qu'il ne se gène pas pour la mettre

Contribution le : 02/03/2005 21:41
Créer un fichier PDF de la contribution Imprimer


Re: Capturer image video

Inscrit:
19/11/2002 12:20
Post(s): 390
Google power...

Contribution le : 02/03/2005 21:48
Créer un fichier PDF de la contribution Imprimer


Re: Capturer image video

Inscrit:
19/11/2002 12:20
Post(s): 390
Apparemment voici comment faire, il faut chercher dans la base de registre:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\DirectDraw

Là il faut, pour désactiver Directdraw, créer la clef (si elle n'existe pas):
EmulationOnly

Avec pour valeur:
1

Et directdraw sera désactivé et tu pourras capturer les images de Windows Media Player par simple copie d'écran (exemple)...

Pour réactiver directdraw, il faut mettre comme valeur:
0

ou bien supprimer la clef:
EmulationOnly

Remarque:
Il faut changer la valeur (ou la créer) AVANT de lancer Windows Media Player par exemple.
Si tu changes la valeur alors que Windows Media Player est lancé, le changement n'est pas pris en compte...

Contribution le : 02/03/2005 22:05
Créer un fichier PDF de la contribution Imprimer


Re: Capturer image video

Inscrit:
19/11/2002 12:20
Post(s): 390
Voici le code Windev:

Pour désactiver Directdraw:
RegistreEcrit("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\DirectDraw","EmulationOnly",1)


Pour activer Directdraw:
RegistreEcrit("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\DirectDraw","EmulationOnly",0)

Contribution le : 02/03/2005 22:17
Créer un fichier PDF de la contribution Imprimer


Re: Capturer image video
Utilisateur WDF
Inscrit:
22/02/2005 21:13
Post(s): 59
Ca marche pas

Initialisation de la fenetre princiaple :

RegistreEcrit("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\DirectDraw","EmulationOnly",1)


clic sur un bouton :

MciOuvre("I:\Temp\********.mpeg","vid",MciStyleFille,Principale.im,MciModeEtiré)
MciFormatPosition("vid",MciFormatImage)
pot_vid..BorneMax = MciTaille("vid")


clic sur un autre bouton :

dDébutDessin(im2)
dCopieImage(im,im2)
im..Visible = Faux
im2..Visible = Vrai
pick = True
dRectangle(0,0,317,237,iTransparent,iVertClair)


toujours cette image noire

Contribution le : 02/03/2005 23:54
Créer un fichier PDF de la contribution Imprimer


Re: Capturer image video

Inscrit:
19/11/2002 12:20
Post(s): 390
Ca ne marche pas comme ça... Il faut faire une copie d'écran, et ensuite recouper... Je fais un exemple et je le poste...

Contribution le : 03/03/2005 00:39
Créer un fichier PDF de la contribution Imprimer


Re: Capturer image video

Inscrit:
19/11/2002 12:20
Post(s): 390
D'abord tu fais en effet le emultruc...
Ensuite, tu lances le MCI dans le champ (pour moi Image1).

Ce que je fais ensuite, c'est que je fais une capture d'écran que j'envoie dans Image 3 que je mets à la taille de l'écran...
Ensuite, je prends dans Image3 la zone qui m'intéresse (le contenu qui se trouve à la place de Image1) et je le colle dans Image2:

//position du champ Image1 par rapport à l'écran (pas par rapport à la fenêtre)
x_dep est un entier =0
y_dep est un entier =0


//capture d'écran dans le champ Image3
Image3..Largeur = SysXRes()
Image3..Hauteur = SysYRes()
dCopieImage(copieEcran, Image3)

//on retaille le contenu du champ Image3 et on copie la zone qui nous intéresse dans Image2:
dDébutDessin(Image2)
x_dep=FenIntPosX(test_mci)+Image1..X
y_dep=FenIntPosY(test_mci)+Image1..Y
dCopieImage(Image3, Image2, copieSrcCopie,x_dep,y_dep,Image1..Hauteur,Image1..Largeur)


Et là ça marche...

Explication:
Tu ne peux pas faire de copie "brute" Image1 vers Image2, en fait la vidéo ne doit pas être dans le champ Image1, mais à la place du champ Image1, ce qui expliquerait pourquoi quand tu fais une copie directe, le champ image1 soit "noir"...
Par exemple, mets une image dans le champ Image1 au départ, joue la vidéo et exécute ton code, tu verras que dans Image2 tu auras l'image d'origine (d'avant la vidéo) alors que tu as l'impression que la vidéo est dans le champ Image1...

Tu dois pouvoir faire plus simple pour la copie d'écran en passant par des API pour éviter de faire une copie d'écran complète, mais bon...

Contribution le : 03/03/2005 01:07
Créer un fichier PDF de la contribution Imprimer


Re: Capturer image video
Utilisateur WDF
Inscrit:
22/02/2005 21:13
Post(s): 59
C'est parfait ! Ca marche vraiment bien

Merci beaucoup pour ton aide

Contribution le : 03/03/2005 09:22
Créer un fichier PDF de la contribution Imprimer


Re: Capturer image video

Inscrit:
19/11/2002 12:20
Post(s): 390
de nada ;)

Contribution le : 03/03/2005 09:51
Créer un fichier PDF de la contribution Imprimer


Re: Capturer image video
Utilisateur WDF
Inscrit:
22/02/2005 21:13
Post(s): 59
Tant qu'à faire le difficile...

Si quelqu'un connait une autre méthode que le imprim écran, je suis aussi preneur

En effet ça m'oblige à garder mon programme en 1er plan (j'ai une procédure qui fait beaucoup de captures pour les analyser)

Voilà

Contribution le : 03/03/2005 17:31
Créer un fichier PDF de la contribution Imprimer


Re: Capturer image video

Inscrit:
19/11/2002 12:20
Post(s): 390
Ca existe, cf hypersnapdx ou snagit qui peuvent capturer une image sous directx ou autre...
Mais j'ai bien peur que là il te faille aller chercher directement le contenu du buffer directdraw, autant dire... bon courage...

Contribution le : 03/03/2005 17:38
Créer un fichier PDF de la contribution Imprimer


Re: Capturer image video
Utilisateur WDF
Inscrit:
22/02/2005 21:13
Post(s): 59
sait-on jamais ?

Contribution le : 03/03/2005 17:44
Créer un fichier PDF de la contribution Imprimer


Re: Capturer image video
Utilisateur WDF
Inscrit:
22/02/2005 21:13
Post(s): 59
Je remonte ce toic pour ne pas en créer un nouveau qui ait le même sujet.

Je suis persuadé qu'on peut faire la même chose avec les api. J'ai passé pas mal de temps à fouiller sur le web pour trouver de quoi m'aider, hélas les sources windev sont rares.

Par contre les sources VB, ça ne manque pas

J'essaye donc de traduire cette source en windev (http://www.answers.com/main/ntquery?method=4&dsid=1726&dekey=AVI+Info&gwp=8&curtab=1726_1)

Si j'arrive déjà à faire celle-là je pourrais m'attaquer à la capture.

Si certains veulent m'aider, je suis pas contre

Contribution le : 15/03/2005 17:13
Créer un fichier PDF de la contribution Imprimer


Re: Capturer image video
Animateur WDF
Inscrit:
02/03/2003 04:07
De Noisy le grand(93)
Post(s): 2745
Bonjour,

resultat de la conversion
OF_SHARE_DENY_WRITE est un entier = 0x20
AVIFILEINFO est une structure
	dwMaxBytesPerSec est un entier
	dwFlags est un entier
	dwCaps est un entier
	dwStreams est un entier
	dwSuggestedBufferSize est un entier
	dwWidth est un entier
	dwHeight est un entier
	dwScale est un entier
	dwRate est un entier
	dwLength est un entier
	dwEditCount est un entier
	szFileType est une chaîne fixe sur 64
FIN
hFile est un entier
AviInfo est un AVIFILEINFO
sFile est une chaîne = ComplèteRep(fRepExe())+"\BLUR24.AVI"

//Initialize the AVIFile library
API("avifil32","AVIFileInit")

//create a handle to the AVI file
SI API("avifil32","AVIFileOpen",&hFile, &sFile, OF_SHARE_DENY_WRITE, 0) = 0 ALORS
	//retrieve the AVI information
	SI API("avifil32","AVIFileInfo",hFile, &AviInfo, Dimension(AviInfo)) = 0 ALORS
		Info("AVI dimensions: " + (AviInfo:dwWidth) + "x" + (AviInfo:dwHeight))
	SINON
		Info("Error while retrieving AVI information... :(")	
	FIN
	//release the file handle
	API("avifil32","AVIFileRelease", hFile)
SINON
	Info("Error while opening the AVI file... :(")	
FIN
//exit the AVIFile library and decrement the reference count for the library
API("avifil32", "AVIFileExit")

Contribution le : 15/03/2005 21:09
_________________
@A+
Contact (privé)......
email : drcharly@wdforge.org
[DrCharly93]
Créer un fichier PDF de la contribution Imprimer



 Haut   Précédent   Suivant
(1) 2 »




Enregistrer votre réponse
CompteNom   Mot de passe   Authentification
Message:


Vous ne pouvez pas débuter de nouveaux sujets.
Vous pouvez voir les sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

[Recherche avancée]


Connexion
Menu
Chercher WDForge
Chercher Web
Partenaires
Visualiser tous les Partenaires...
WinDev, WebDev, WinDev Mobile et HyperFile sont des marques déposées par PCSoft. |  Voter |  Legal |  Contact |   XOOPS 2.0.13.2