JPG a MPG con Python
Vamos a ver como transformar nuestras fotos capturadas con la webcam en un video MPG para poderlo ver de forma rápida.
Para poder realizar esto, nos van ha hacer falta una serie de librerias, las cuales podemos encontrar aquí.
Se trata de las librerias pymedia y pygame.
Una vez instaladas en nuestro sistema (windows), podemos ejecutar este script para poder transformar las fotos en video.
import sys, os, time
import pymedia.video.vcodec as vcodec
import pygameoutFile = ‘C:/AppServ/www/video-test.mpg’
directory = ‘C:/AppServ/www/fotos’
outCodec = ‘mpeg1video’# Get video stream dimensions from the image size
pygame.init()
i= 1
# Opening mpeg file for output
e= None
i= 1
fw= open( outFile, ‘wb’ )for file in os.listdir(directory):
fullname = os.path.join(directory, file)
s= pygame.image.load( fullname )
if not e:
if outCodec == ‘mpeg1video’:
bitrate= 2700000
else:
bitrate= 9800000params= { \
‘type’: 0,
‘gop_size’: 12,
‘frame_rate_base’: 10,
‘max_b_frames’: 0,
‘height’: s.get_height(),
‘width’: s.get_width(),
‘frame_rate’: 2997,
‘deinterlace’: 0,
‘bitrate’: bitrate,
‘id’: vcodec.getCodecID( outCodec )
}e= vcodec.Encoder( params )
t= time.time()ss= pygame.image.tostring(s, “RGB”)
bmpFrame= vcodec.VFrame(vcodec.formats.PIX_FMT_RGB24, s.get_size(), (ss,None,None))
yuvFrame= bmpFrame.convert(vcodec.formats.PIX_FMT_YUV420P)
d= e.encode( yuvFrame )
fw.write( d.data )
i+= 1fw.close()
pygame.quit()
Podemos descargar el script original: test-make-video