Continuo a ricevere un errore di asserzione quando sto provando a scrivere fotogrammi sul video. L'errore che sto ricevendo è questa:Scrittura di video con 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
Ecco il mio script:
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)
Salvare i fotogrammi come immagini funziona bene quindi so che non c'è niente di sbagliato con la cattura. Sto creando uno scrittore sbagliato? Le uscite 'print fourcc' 0.0 ma ho provato con molti valori di FOUR_CC.
Grazie!
Grazie mille ma sei in grado di suonare l'out.avi? Lo script funziona bene per me e crea il file, ma VLC mi dà un errore quando provo a riprodurlo: errore ps: non posso sbirciare il debug principale di : non è possibile caricare il modulo demux corrispondente "avi" debug principale: TIMER module_need() : 303.765 ms - Totale 303.765 ms/1 intvls (Avg 303.765 ms) errore principale: nessun modulo di demux adatto per 'file /: ///Users/***/Documents/Code/Video/out.avi ' – rgbrgb
Posso riprodurre il file, sto usando l'ultimo VLC su Mac. Aggiornerò la mia risposta con uno screencap. – samplebias
Sono stato anche in grado di aprire e riprodurre il file out.avi utilizzando [AviDemux] (http://avidemux.sourceforge.net/) e Quicktime. – samplebias