I'll look into that again. I originally tried using communicate() but it seems to return a string rather than a PIPE (with a 'read' method) so it is really hard to chunk that into the correct size for the md5 hash and the segmentation. I'll give the olso code a shot and see if it could work.