Bonjour,
Voila pour mon projet de stage je dois traiter deux flux vidéos provenant de deux Webcams puis ensuite l'enregistrer. l'affichage se passe bien, aussi l'enregistrement .Mais lorsque je lis la video ".avi" enregistrée, elle est en accéléré. Je ne comprends pas pourquoi, car je lui donne bien le même FPS que celui du flux video de la camera, à savoir 25 frames par seconde.

Voici le code
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
 
// Test2.cpp*: définit le point d'entrée pour l'application console.
//
 
#include "stdafx.h"
#include <cv.h>
#include <highgui.h>
 
int _tmain(int argc, _TCHAR* argv[])
{
    CvCapture *capture = 0;
    CvCapture *capture1 = 0;
    IplImage  *frame = 0;
    IplImage  *frame1 = 0;
    int       key = 0;
    int frameW  = 640;
    int frameH  = 480; 
 
    /* initialize camera */
    capture = cvCaptureFromCAM( 0 );
    capture1 = cvCaptureFromCAM( 1 );
 
	/* always check */
    if ( !capture ) {
        fprintf( stderr, "Cannot open initialize webcam!\n" );
        return 1;
    }
	if ( !capture1 ) {
        fprintf( stderr, "Cannot open initialize webcam!\n" );
        return 1;
    }
 
    /* create a window for the video */
    cvNamedWindow( "result", CV_WINDOW_AUTOSIZE );
    cvNamedWindow( "result1", CV_WINDOW_AUTOSIZE );
 
CvVideoWriter *writer=cvCreateVideoWriter("out1.avi",CV_FOURCC('D','I','V','X'),25,cvSize(frameW ,frameH ),1); 
CvVideoWriter *writer1=cvCreateVideoWriter("out2.avi",CV_FOURCC('D','I','V','X'),25,cvSize(frameW ,frameH ),1); 
int i;
    while( key != 'q' ) {
        /* get a frame */
        frame = cvQueryFrame( capture );
	frame1 = cvQueryFrame( capture1 );
 
        /* always check */
        if( !frame ) break;
	if( !frame1 ) break;
 
        cvWriteFrame( writer, frame);
	cvWriteFrame( writer1, frame1);
 
		/* display current frame */
        cvShowImage( "result", frame );
	cvShowImage( "result1", frame1 );
 
	key = cvWaitKey( 50 );
    }
 
    /* free memory */
        cvDestroyWindow( "result" );
	cvDestroyWindow( "result1" );
        cvReleaseCapture( &capture );
	cvReleaseCapture( &capture1 );
	cvReleaseImage(&frame);
	cvReleaseImage(&frame1);
	cvReleaseVideoWriter(writer);
	cvReleaseVideoWriter(writer1);
    return 0;
}
:
Est ce qu'il y a quelqu'un qui peut m'aider?
Merci d'avance.