Вам необходимо передать действительные fourcc и fps :
fourcc = cv.CV_FOURCC('X','V','I','D')
fps = 25.0 # or 30.0 for a better quality stream
writer = cv.CreateVideoWriter(file, fourcc, 25.0, (800,600), is_color=1)
В качестве альтернативы, вы можете использовать именованные параметры в Python. Этот способ менее подвержен ошибкам:
writer = cv.CreateVideoWriter(
filename=file,
fourcc=cv.CV_FOURCC('X','V','I','D'),
fps=25.0,
frame_size=(800,600),
is_color=1)
A fourcc - это 32-битный идентификатор кодека видеопотока внутри вашей целевой avi. Возможные значения для gstreamer в соответствии с cap_gstreamer.cpp :
cv.CV_FOURCC('H','F','Y','U') # HuffYUV
cv.CV_FOURCC('D','R','A','C') # BBC Dirac
cv.CV_FOURCC('X','V','I','D') # MPEG-4 Part 2
cv.CV_FOURCC('X','2','6','4') # MPEG-4 Part 10 (aka. H.264 or AVC)
cv.CV_FOURCC('M','P','1','V') # MPEG-1 video
Я считаю, что все вышеперечисленное можно поместить в контейнер avi.