FFMPEG bloquea todo el proceso de nodejs

Lo que estoy tratando de hacer es hacer una miniatura de un video usando ffmpeg. Los datos de video se reciben en una solicitud HTTP y luego se canalizan a ffmpeg. El problema es que una vez que se cierra el proceso secundario ffmpeg, simplemente no puedo enviar la respuesta.

Aquí está el código:

var http = require('http'),
sys = require('sys'),
child = require('child_process')
http.createServer(function (req, res) {
    im = child.spawn('ffmpeg',['-i','-','-vcodec','mjpeg','-ss','00:00:03','-vframes','1','-s','100x80','./thumb/thumbnail.jpg']);
    im.on('exit', function (code, signal) {
        res.writeHead(200, {'Content-Type': 'text/plain'});
        res.end('{"success":true}\n');
     });
    req.connection.pipe(im.stdin);
}).listen(5678, "127.0.0.1");

El problema es esa llamada:

res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('{"success":true}\n');

no hace nada, el cliente nunca recibe la respuesta.

Respuestas a la pregunta(2)

Su respuesta a la pregunta