Most used Python module for video processing?

I used this script to convert a movie to a numpy array + binary store:

"""
Takes a MPEG movie and produces a numpy record file with a numpy array.

"""
import os

filename = 'walking'
if not(os.path.isfile(filename + '.npy')): # do nothing if files exists
    N_frame = 42 # number of frames we want to store
    os.system('ffmpeg -i WALK.MOV.qt -f image2 foo-%03d.png')
    # convert them to numpy
    from numpy import zeros, save, mean
    from pylab import imread

    n_x, n_y, n_rgb =  imread('foo-001.png').shape

    mov = zeros((n_y, n_x, N_frame))

    for i_frame in range(N_frame):
        name = 'foo-%03d.png' % (i_frame +1)
        mov[:n_y,:n_x,i_frame] = flipud(mean(imread(name), axis=2)).T

    os.system('rm -f foo-*.png')
    save(filename + '.npy', mov)

note that depending on your conventions you may not want to flip the image. you may then load it using :

load('walking.npy')

I'm going through this myself. It's only a couple of lines in MATLAB using mmreader, but I've already blown two work days trying to figure out how to pull frames from a video file into numpy. If you have enough disk space, and it doesn't have to be real time, you can use:

mplayer -noconsolecontrols -vo png blah.mov

and then pull the .png files into numpy using:

pylab.imread('blah0000001.png')

I know this is incomplete, but it may still help you. Good luck!


Do you mean opencv can't connect to your webcam or can't read video files recorded by it?

Have you tried saving the video in an other format?

OpenCV is probably the best supported python image processing tool