Ciągle pojawia się błąd potwierdzenia podczas próby zapisu klatek do wideo. Błąd Dostaję to:Pisanie wideo za pomocą OpenCV + Python + Mac
Traceback (most recent call last):
File "VideoMixer.py", line 23, in <module>
cv.WriteFrame(writer, cv.LoadImage(fileName))
cv.error: dst.data == dst0.data
Oto mój skrypt:
import cv
import sys
files = sys.argv[1:]
for f in files:
capture = cv.CaptureFromFile(f)
height = cv.GetCaptureProperty(capture, cv.CV_CAP_PROP_FRAME_WIDTH)
width = cv.GetCaptureProperty(capture, cv.CV_CAP_PROP_FRAME_HEIGHT)
fps = cv.GetCaptureProperty(capture, cv.CV_CAP_PROP_FPS)
fourcc = cv.GetCaptureProperty(capture, cv.CV_CAP_PROP_FOURCC)
print fourcc
writer = cv.CreateVideoWriter('ok.mov', int(fourcc),fps,(int(width),int(height)),1)
print writer
for i in range(30):
frame = cv.QueryFrame(capture)
print frame
if frame:
cv.WriteFrame(writer, frame)
Zapisywanie klatki jako zdjęcia działa dobrze, więc wiem, nie ma nic złego w zdobyciu. Czy tworzę pisarza źle? "Print fourcc" wyprowadza 0.0, ale próbowałem z wieloma wartościami FOUR_CC.
Dzięki!
Wielkie dzięki, ale czy jesteś w stanie grać out.avi? Skrypt działa dobrze dla mnie i tworzy plik, ale VLC daje mi błąd, gdy próbuję go odtworzyć: ps error: nie można zerknąć na główny debug: nie można zainstalować modułu demux "avi" główne debugowanie: TIMER module_need() : 303.765 ms - łącznie 303.765 ms/1 intvls (Avg 303.765 ms) główny błąd: brak odpowiedniego modułu demux dla 'file /: ///Users/***/Documents/Code/Video/out.avi ' – rgbrgb
Mogę odtwarzaj plik, używam najnowszego VLC na Macu. Zaktualizuję moją odpowiedź za pomocą screencap. – samplebias
Byłem również w stanie otworzyć i odtworzyć plik out.avi przy użyciu [AviDemux] (http://avidemux.sourceforge.net/) i QuickTime. – samplebias