2017-04-21 6 views
0

Ich möchte ein Video mit JavaCV in JOGL (Java Binding für OpenGL) aufnehmen.JavaCV VideoWriter öffnet nicht

Dies ist der Code, um die Videodatei zu öffnen:

VideoWriter wv; 
wv.open("video.avi", CV_FOURCC_DEFAULT, 30 , new Size(width, height), true); 

Das Problem ist, dass wv.isOpened() immer false zurückgibt und keine Videodatei erstellt wird.

Dinge, die ich habe versucht:

  • Change "video.avi" auf "video.mp4"
  • ändern CV_FOURCC_DEFAULT
  • ändern Breite auf -1, Höhe, fps Werte

Wer hat das erreicht?

Meine Maschine läuft ein Ubuntu 14.04 LTS mit JavaCV v1.3.2 und JOGL v2.3.2.

+0

@aarelovich Ich versuche zu zeichnen, was JOGL auf dem Bildschirm meines Computers zeichnet. Ich bekomme die Pixel in jedem Bild mit 'glReadPixels()'. Über die Auflösung habe ich sowohl mit der Auflösung meines Bildschirms 1920x1080 als auch mit der von 'reshape()' zurückgegeben, die 1855x1056 ist. – dxb

Antwort

0

Bei der Verwendung von OpenCV mit C++ Ich hatte diese Konstante zu definieren:

const int VIDEO_CODEC_FOURCC = CV_FOURCC('M','J','P','G'); 

Versuchen Sie, die CV_FOURCC Funktion und die Verwendung der .avi-Datei-Erweiterung zu tun mit, wie Sie ursprünglich hatte. Stellen Sie außerdem sicher, dass die Rahmenabmessungen der Kamera der Größe entsprechen, die Sie in Ihrer Breite und Höhe überschritten haben.

+0

Ich habe diese Zeile verwendet, aber ich habe: _inkompatible Typen: Mögliche verlustbehaftete Konvertierung von Char zu Byte_. Dies kann leicht durch Gießen behoben werden. Ich änderte 'CV_FOURCC_DEFAULT' durch CV_FOURCC ((Byte) 'M', (Byte) 'J', (Byte) 'P', (Byte) 'G') und jetzt wird die Datei erstellt. Danke für Ihre Hilfe! – dxb

+0

Sie sind willkommen !! Ich habe viel damit zu kämpfen, also weiß ich, wie es sich anfühlt – aarelovich