Recibo un error de afirmación cuando intento escribir marcos en el video. El error que estoy recibiendo es la siguiente:Grabación de 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
Aquí está mi 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)
Aseguramiento de los marcos en forma de imágenes funciona bien, así que sé que no hay nada malo con la captura. ¿Estoy equivocando al escritor? El 'print fourcc' da como resultado 0.0 pero he intentado con muchos valores FOUR_CC.
Gracias!
Muchas gracias, pero ¿puedes jugar el out.avi? La secuencia de comandos funciona bien para mí y crea el archivo, pero VLC me da un error cuando intento reproducirlo: ps error: no se puede ojear depuración principal: no se pudo cargar el módulo de demultiplexación "avi" depuración principal: TIMER module_need() : 303.765 ms - Total 303.765 ms/1 intvls (Avg 303.765 ms) error principal: no hay módulo demux adecuado para 'file /: ///Users/***/Documents/Code/Video/out.avi ' – rgbrgb
Puedo reproducir el archivo, estoy usando el último VLC en Mac. Actualizaré mi respuesta con un screencap. – samplebias
También pude abrir y reproducir el archivo out.avi usando [AviDemux] (http://avidemux.sourceforge.net/) y Quicktime. – samplebias