ffmpeg vs mencoder

Posted in GNU/Linux  by: admin
March 27th, 2008

Pues si, la gran diferencia entre estos 2 potentes editores/conversores de material multimedia, es que ffmpeg permite decodificar y codificar, ojo con lo de “decodificar“, esta caracteristica nos permite convertir entre diversos formatos por ejemplo videos, (mencoder solo codifica y cuando tratas de decodificar, pues da lata y el resultado es malisimo).

Por ejemplo,tengo un video tipo demo.wmv (formato winchotero :S ), y pues ya que no me gusta este formato propietario, lo pasaremos a xvid (es decir un avi libre ):

demo.wmv:

  • Run Time –> 23mins 29secs
  • Size –> 680.82 MB
  • Resolution –> 1280 x 720 px

ffmpeg -i demo.wmv -acodec libmp3lame -ab 192k -vcodec libxvid -b 3000k -s 720×400 demo.avi

Parametros:

-acodec libmp3lame -ab 192k –> codec de audio “mp3lame” con bitrate de 192kb/s

-vcodec libxvid -b 3000k –> codec de video “xvid” con bitrate de 3000kb/s

-s 720×400 –> tranformar el tamaño del frame de 1280×720 a 720×400 px

Luego de algunos minutos (quiza horas) tienes tu video recodificado y listo para verlo en cualquier equipo (dvd divx, etc).

Extraer areas de un video

Si por ejemplo, deseamos extraer un area del video, pues nada mejor que ffmpeg con estos parametros:

-croptop size –> Setear el area desde Arriba a recortar (in pixels).
-cropbottom size –> Setear el area desde Abajo a recortar (in pixels).
-cropleft size –> Setear el area desde la izquierda a recortar (in pixels).
-cropright size –> Setear el area desde la derecha a recortar (in pixels).

ffmpeg -i demo.wmv -acodec libmp3lame -ab 192k -vcodec libxvid -b 3000k -s 720×400 -cropleft 50 -cropright 40 -croptop 100 -cropbottom 90 demo.avi

Mas facil no pude ser, tambien se puede hacer con avidemux, pero nada mejor que trabajar en modo consola  :).

FEBE - Backup de Extensiones para Firefox

Posted in Firefox  by: admin
January 30th, 2008

FEBE es una excelente extensión de Firefox para realizar backups entre otras de :

  • Extensiones
  • Themes
  • Users & Password
  • Bookmarks
  • Cookies
  • Search Plugins ,etc.

Sin mas esfuerzo que un par de clicks, ya podemos contar con un backup completo de nuestros complementos para Firefox.

Adjunto captura de las opciones y resultado de realizar el backup personalizado:

Saludos :)

Generador de galerias desde archivo de video

Posted in GNU/Linux, Scripting  by: admin
January 23rd, 2008

En esta oportunidad me vi con la urgencia de extraer capturas desde un vídeo para mostrarlas a un colega (pero como ya saben lo ocioso que soy ;) ), me puse a jugar con algunas herramientas (Mplayer,xdialog,imagemagick,tovid) y el increíblemente util bash para generar un script que me realice esta labor mientras me voy tomando unas birras (esta idea me recuerda a Zerial el weoncito borrachoso :) )

Link a Script: Script_gallery.sh

Observaciones:
Por ahora solo logre que funcione el script cuando el nombre y ruta del vídeo no contenga “espacios en blanco”

#*************inicio***********
#requisitos: mplayer,imagemagick,xdialog,idvid (includido en tovid).
#Script generador de galerias (de 6 pics) desde archivos de video
#creado por pepe_lucho :).
#!/bin/bash

title=”Generador_de_Galerias”
Xdialog –title $title –msgbox “Script generador de Galerias\n desde archivos de video :D ” 0 0 2>&1
video=`Xdialog –title $title –fselect $HOME 22 47 2>&1`
mosaico=`Xdialog –title $title –rangebox “# de Galerias a Generar:” 9 34 1 10 2 2>&1`

#Extrae duracion del video (hh,mm,ss)
dialog –infobox “Analizando Video <-*->” 3 30
dd=`idvid -fast $video | grep Duration | sed ’s/:/ /g’`
hh=`echo $dd | awk ‘{print $2}’`
mm=`echo $dd | awk ‘{print $3}’`
ss=`echo $dd | awk ‘{print $4}’`

aa=`expr $hh \* 3600`
bb=`expr $mm \* 60`
tiempo=`expr $aa + $bb + $ss `
pics=`expr $mosaico \* 6 `
factor=`expr $tiempo / $pics - 5 `

#extrae capturas
cd /tmp
for ((i=1;i<=$pics;i++))
do
j=`expr $i \* $factor`
dialog –infobox “! Procesando: <- $i/$pics- >!” 3 30
echo `mplayer -really-quiet $video -ss $j -frames 2 -vo jpeg -msglevel all=-1 2>&1`
dialog –infobox “! Procesando: <- $i/$pics- >!” 3 30

#se ordena por nombres y se redimensiona las capturas
if [ $i -lt 10 ]
then
mv 00000002.jpg 0$i.jpg ; rm 00000001.jpg
convert -geometry 400×250 0$i.jpg 0$i.jpg
else
mv 00000002.jpg $i.jpg ; rm 00000001.jpg
convert -geometry 400×250 $i.jpg $i.jpg
fi
done

#guardo todos los jpg en un arreglo
lista=(`(ls [0-9][0-9].jpg)`)

#crea los mosaicos compuesto de 6 imagenes cada uno.
dialog –infobox “Creando Mosaicos…” 3 30
for ((z=1;z<=$mosaico;z++))
do
dialog –infobox “! Mosaico : <- $z/$mosaico- >!” 3 30
convert -page +0+0 ${lista[6*$z-6]} -page +370+0 ${lista[6*$z-5]} \
-page +0+250 ${lista[6*$z-4]} -page +370+250 ${lista[6*$z-3]} \
-page +0+500 ${lista[6*$z-2]} -page +370+500 ${lista[6*$z-1]} \
-background black -bordercolor white -border 2×2 -mosaic mosaic0$z.jpg
done

#se envia a $home y se eliminan las temporales
mv mosaic*.jpg $HOME && rm *.jpg

clear ; echo ” *** Done *** “
exit 0

#**************fin********************

Adjunto unas capturas de las pantallas al correr el script:


snapshot2.jpgmenu 3menu 4

Aqui las galerias generadas:

Espero les sirva, y hasta la proxima :)

Script para descargar galerias desde Imagevenue.com

Posted in Scripting  by: admin
January 17th, 2008

Hace un par de días me tope con esta galería que contiene 128 imágenes que estaba alojadas en Imagevenue, me puse manos a la obra para descargarla y me tope con un pequeñisimo problema, estos links no te permiten descargar las imágenes con ningún gestor de descargas conocido.

Cada link apunta hacia una pagina que se genera aleatoriamente cuando la invocas, por ejemplo ( cada link consta de 2 secciones separas por el “?“) :

http://img163.imagevenue.com/img.php?image=05795_02_122_823lo.jpg

Pues intentar descargar 1 a 1 es mucho trabajo ( y yo que soy muy flojo ) así que me puse a leer la documentación de bash y las expresiones regulares ( para obtener dicha galería con el menor esfuerzo :D ). Luego de varios intentos obtuve estas lineas para imágenes del tipo “jpg” :

Link_Script: script_imagevenue.sh

Codigo:

#************inicio **********

#requisitos: wget, elinks
#!/bin/bash

read -p “Ingresa Link de la Galería–> ” web
read -p “Nombre para Directorio –> ” name

#extrae los links de imágenes
elinks $web | grep “img.php” | awk ‘{print $2}’ > /tmp/lista

mkdir $name ; cd $name ; i=0

#recorremos cada linea
for linea in $( cat /tmp/lista) ; do

#extrae 1ra parte del link
temp=”http://”` echo $linea | cut -f3 -d “/” `”/”

elinks -source $linea > /tmp/data

#extrae 2da parte del link
cadena=(`(egrep -io ‘\b[A-Z0-9._\-]+\/[A-Z0-9._\-]+\/[A-Z0-9._\-]+[.jpg]’ /tmp/data | head -n 1)`)

ren=`echo $cadena | cut -f3 -d “/” `
i=`expr 1 + $i`

contador=`cat /tmp/lista | wc -l`
echo “***” $i/$contador “***”
wget $temp$cadena -q && mv $ren $i.jpg
done

echo “– Listo –”

#****************Fin******************

Bueno, es muy simple este código, así que espero les aproveche ( en especial las fotos de Scarlett rocks!!! :P ) hasta la próxima.