Geschribene avi datei Fehlerhaft ? (opencv)



  • Hi

    Ich versuche per opencv library ein AVI File zu maken.
    Bekomme Bild von der Cam angezeigt, und das AVI File wird auch beschriben. Weil es auch je nach dauer einige MB gross wird.
    Doch wen ich zbsp. das Movie.avi egal mit welchem Player abspielen will ,bekomme ich kein Bild. Es scheint als wolle er's abspielen, doch ohne ein Bild wird es gleich wider beendet. Was mache ich falsch ? Codec probleme ? Ausgeben kann ich das Bild der Cam ja, darum Glaube ich nicht das es Codec probleme sind, bekomme auch keine Fehler etc.
    Würde mich freuen wen mir jemand weiter helfen kann.

    #include <stdio.h>
    #include "cv.h"
    #include "highgui.h"
    
    int main( )
    {
        CvCapture* capture = 0;
    	IplImage *image = 0;
        IplImage* frame = 0;
    	CvVideoWriter *writer = 0;
    	char c;
    
        capture = cvCaptureFromCAM( 0);
        if( !capture ) {
            fprintf(stderr,"Could not initialize capturing...\n");
            return -1;
        }
    
        printf( "ESC - quit the program\n" );
    
    	cvNamedWindow( "LOWBYTE", 1 );
    
    	writer = cvCreateVideoWriter("video.avi", -1, 25, cvSize(640,480)  , 1);
    	if(writer==NULL) {
    		printf("VideoWriter failed\n");
    	}
    
        for(;;) {
    
            frame = cvQueryFrame( capture );
    		if( frame==0 )
    			printf("QueryFrame failed !");
    		if( frame==0 )
                break;
    
    		cvShowImage( "LOWBYTE", frame );
    
    		if(! cvWriteFrame(writer ,frame) ) {
    			printf("write failed");
    		}
    
            c = cvWaitKey(33);
            if( c == 27 )
                break;
    
        }
    
        cvReleaseCapture( &capture );
        cvDestroyWindow("LOWBYTE");
    
        return 0;
    }
    

    lowbyte



  • Hi

    So geht doch !

    Es lag doch am Codec. Bei mir geht nur CV_FOURCC('D', 'I', 'V', 'X') = MPEG-4 codec

    ansonsten garnichts.

    lowbyte


Anmelden zum Antworten