You are on page 1of 2

[Ms] Automatizacin de conversin de presentaciones slideshare.

net
Escrito por danitxu en /usr/share/doc, tags: pdf, presentation, slideshare, video

Me han preguntado cmo convertir una presentacin a video, y aunque lo que aqu documentar no es exactamente la respuesta a eso, he recordado que el bueno de txipi public un post relacionado con presentaciones de slideshare (de aqu el [Ms]), y he decidido intentar mejorarlo para llegar a un bash script que a partir de una URL de slideshare genere un pdf o un video. El mtodo que planteaba txipi se basaba en usar un script para capturar pantallazos. Pues bien, con esta base, he usado el paquete swftools que incluye el comando swfrender para convertir un swf a imagen. Por otra parte, su propuesta tambin empleaba dos extensiones para firefox (GreaseMonkey y Download them All). Estudiando el cdigo html de una pgina de slideshare, y comparando con el resultado de las URLs que aparecen en la ventana popup que ofrece el Download them All, he deducido alguna sintaxis de cmo encontrar los nombres de las distintas pginas generadas en s3.amazonaws.com. Por tanto, el script que he escrito valdr mientras slideshare mantenga esa sintaxis (lo he probado en 3 presentaciones y ha funcionado). Si no, a adaptarlo de nuevo. Como bonus al script de txipi, incluyo una lnea para convertir las imgenes a fichero de video mediante mencoder.
#!/bin/bash echo "+++ Mila esker, txipi" URL="http://www.slideshare.net/danitxu/software-libre-para-una-ciudadanalibre" F=fichero.tmp wget "$URL" -O "$F" L=$(grep "meta href" $F | sed -e 's/\(.*\)http:\/\/\(.*\)\/\(.*\)thumbnail?\(.*\)/\3/') N=$(grep '"totalSlides":' $F | sed -e 's/\(.*\)"totalSlides":\(.*\),"player\(.*\)/\2/'|cut -f 1 -d ,) echo $L $N for i in $(seq 1 $N); do F="$L"slide-"$i".swf j=$(printf "%03d" $i) wget http://s3.amazonaws.com/slideshare/$F -O slide"$j".swf swfrender slide"$j".swf -o slide"$j".png rm slide"$j".swf done #convert slide*png slides.pdf

#0.3 segundos en cada slide mencoder mf://*.png -mf fps=0.3:type=png -ovc lavc -lavcopts vcodec=mpeg4 oac copy -o salida.avi -ffourcc DX50

En esto consiste la magia del software libre: uno hizo un programa y public el cdigo fuente y permiti mejorarlo, otro tuvo una necesidad de usar un programa que hiciera cosas parecidas pero distintas y habl con alguien, ese alguien vio el cdigo original y busc hasta encontrar la modificacin, y otros usaron la versin mejorada. A ver si alguien se anima a montar un servicio web en plan slideshare2all.net a partir de lo de arriba.

You might also like