sábado 26 de septiembre de 2009

Fiestas en San Vicente de la Sonsierra

Aquí teneis unos vídeos de San Vicente de la Sonsierra en sus fiestas patronales de 2009



Y los enlaces de descarga de los archivos mp4 para movil en alta definición:

Vídeo de la carrera de coches y del día de los pollos.
Vídeo de los disfraces

jueves 23 de abril de 2009

Convertir vídeo AVCHD a hd-mov para cinelerra.




Este tutorial describe como codificar vídeo en formato AVCHD (.mts, m2ts, etc.) a QuickTimeLinux de alta definición.

El tutorial está publicado en el wiki de www.aulir.com aquí

Aunque he realizado algunas modificaciones que simplifican el script y lo hacen más legible.

Aquí teneis el script.
Espero que os sirva...

#!/bin/sh

# Extraemos el nombre del script ejecutable
NOMBRE=$0

# Buscamos el ejecutable de ffmpeg
#FFMPEG=ffmpeg
FFMPEG=`which ffmpeg`

# Elegimos la extensión de salida
format=mov

# Ratio de entrada y salida
irate=25000/1001 # input
orate=25000/1001 # output

# Cámara que se ha utilizado
CAMARA=CANON

# Preset elegido por defecto
PRESET=edit # as below

while :
do
case "$1" in
-d)
set -x
;;

-c)
shift
CAMARA=$1
shift
;;

-p)
shift
PRESET=$1
shift
;;

-i)
shift
isize=$1
shift
;;

-x)
shift
PUT_HERE=true
;;

-f)
shift
format=$1
shift
;;

*)
break
;;
esac
done

# Archivo de entrada
input=$1

######################################
# Tipos de tamaño de vídeo, auido, etc.
MACRO_SIZE_HUGE=1920x1080
MACRO_SIZE_LARGE=1366x768
MACRO_SIZE_MEDIUM=1280x720
MACRO_SIZE_SMALL=640x360
MACRO_SIZE_THUMB=320x180

#MACRO_VIDEO_MJPEG="-vcodec mjpeg -sameq -shortest -f $format"
#MACRO_VIDEO_MPEG4="-vcodec mpeg4 -sameq -shortest -f $format"
MACRO_VIDEO_MJPEG="-vcodec mjpeg -sameq -f $format"
MACRO_VIDEO_MPEG4="-vcodec mpeg4 -sameq -f $format"
MACRO_VIDEO_VC3="-vcodec dnxhd -b 90Mb -f $format -an"

MACRO_AUDIO_AAC="-acodec libfaac -ac 2 -ab 128k -ar 44100"
MACRO_AUDIO_AAC_HD="-acodec libfaac -ac 2 -ab 448k -ar 48000"
MACRO_AUDIO_THUMB="-acodec libfaac -ac 1 -ab 64k -ar 22050"

MACRO_AUDIO_RAW="-acodec pcm_s16le -ac 2 -ar 48000"
MACRO_AUDIO_COPY="-acodec copy"
######################################

# Corrector de sincronía entre audio y video en función del fabricante de la cámara
if [ "$CAMARA" = CANON ]; then
#correccion=2.5004190476 # CANON
#correccion=2.497591614 # CANON EN EL PORTATIL ASUS
correccion=2.498284520 # CANON EN EL ASUS 2
fi

if [ "$CAMARA" = SONY ]; then
correccion=2.083334442 # SONY
fi
irate2=`echo "$irate * $correccion" | bc`

# Si solo se introduce el nombre del ejecutable, se muestra una ayuda
if [ "x$1" = x ]
then
#------------------------------------------------------------------
cat 1>&2 <$NOMBRE luismanolo@gmail.com

Uso: $NOMBRE [opciones] archivo.mts ...

Opciones:
-d # activa el depurado
-p PRESET # establece el preset
-i SIZE # especifica el tamaño (default is 1920x1080)
-f FORMAT # especifica el formato de salida (default is mov)
-c CAMARA # fabricante de la cámara (SONY/CANON)

Presets:
vc3 # Codec equivalente al Apple ProRes
thumb # $MACRO_SIZE_THUMB mpeg4 + aac audio (primeros 20 segundos de video)
small # $MACRO_SIZE_SMALL mpeg4 + aac audio
medium # $MACRO_SIZE_MEDIUM mpeg4 + aac audio
large # $MACRO_SIZE_LARGE mpeg4 + aac audio
huge # $MACRO_SIZE_HUGE mpeg4 + aac audio
edit-mp4 # $MACRO_SIZE_MEDIUM mpeg4 keyframes + raw audio
edit-mj # $MACRO_SIZE_MEDIUM mjpeg + raw audio
edit # shorthand for 'edit-mj'

Ejemplos:

Convertir archivos AVCHD a 720p para editar con Cinelerra
$NOMBRE -p edit *.mts

Crear un video corto para previsualizar
$NOMBRE -p thumb *.mts

EOF
exit 1
fi
##################################################################

case $PRESET in

# am assuming editing is done at MEDIUM/720p
# with raw audio and best quality video

vc3)
osize=$MACRO_SIZE_HUGE
oaudio_in="$MACRO_AUDIO_RAW"
#oaudio_out="$MACRO_AUDIO_COPY"
oaudio_out="$MACRO_AUDIO_COPY_HD"
ovideo="$MACRO_VIDEO_VC3"
osuffix=vc3.$format
;;

edit|edit-mj)
osize=$MACRO_SIZE_MEDIUM
oaudio_in="$MACRO_AUDIO_RAW"
#oaudio_out="$MACRO_AUDIO_COPY"
oaudio_out="$MACRO_AUDIO_COPY_HD"
ovideo="$MACRO_VIDEO_MJPEG"
osuffix=edit-mj.$format # this one needed disambiguation
;;

edit-mp4)
osize=$MACRO_SIZE_MEDIUM
oaudio_in="$MACRO_AUDIO_RAW"
oaudio_out="$MACRO_AUDIO_COPY"
ovideo="$MACRO_VIDEO_MPEG4 -intra"
osuffix=$PRESET.$format
;;

# playback presets below

huge) # novelty, not meant for serious use
osize=$MACRO_SIZE_HUGE
oaudio_in="$MACRO_AUDIO_RAW"
oaudio_out="$MACRO_AUDIO_COPY"
ovideo="$MACRO_VIDEO_MPEG4"
osuffix=$PRESET.$format
;;

large)
osize=$MACRO_SIZE_LARGE
oaudio_in="$MACRO_AUDIO_RAW"
oaudio_out="$MACRO_AUDIO_AAC"
ovideo="$MACRO_VIDEO_MPEG4"
osuffix=$PRESET.$format
;;

medium)
osize=$MACRO_SIZE_MEDIUM
oaudio_in="$MACRO_AUDIO_RAW"
oaudio_out="$MACRO_AUDIO_AAC"
ovideo="$MACRO_VIDEO_MPEG4"
osuffix=$PRESET.$format
;;

small)
osize=$MACRO_SIZE_SMALL
oaudio_in="$MACRO_AUDIO_RAW"
oaudio_out="$MACRO_AUDIO_AAC"
ovideo="$MACRO_VIDEO_MPEG4"
osuffix=$PRESET.$format
;;

thumb)
osize=$MACRO_SIZE_THUMB
itruncate="-t 00:00:20" # only set here for thumbnails; 20s -> 10s
oaudio_in="$MACRO_AUDIO_RAW"
oaudio_out="$MACRO_AUDIO_THUMB"
ovideo="$MACRO_VIDEO_MPEG4"
osuffix=$PRESET.$format
;;

*)
echo $NAME: Preset desconocido $PRESET
exit 1
;;

esac #

##################################################################
# Filtramos los tipos de archivos permitidos
case $input in
*.MTS) ;;
*.mts) ;;
*.M2TS) ;;
*.m2ts) ;;
*) echo no se puede manejar el archivo $input ; continue ;;
esac

##################################################################

# salida
output=$input.$osuffix

# salida en el mismo directorio en el que se ejecuta el script
#output=`basename $output`

# Archivo de aviso
avisowav=.aviso.wav

# Set XAUDIO and XVIDEO filenames
XAUDIO=$input.wav # scratch file
XVIDEO=- # pipe

# detecta el tamaño
if [ -z $isize ]; then
isize=$($FFMPEG -i $input 2>&1 | sed -n "s/.* Video: h264, yuv420p, \([^ ]*\) .*/\1/p")
#ifps=$($FFMPEG -i $input 2>&1 | sed -n "s/.* Video: h264, yuv420p, \([^ ]*\) .*/\1/p")
fi

##################################################################
# Extraemos el audio
$FFMPEG -y $itruncate -i $input -vn $oaudio_in $XAUDIO

# Extraemos unos segundos de audio para avisar del final del codificado
$FFMPEG -y -t 00:00:07 -i $XAUDIO $avisowav

echo "------------------------------------------------------------------"

# Extraemos el video en crudo y lo mezclamos con el audio extraido
$FFMPEG -y $itruncate \
-i $input \
-an \
-pix_fmt yuv420p -f rawvideo $XVIDEO |
$FFMPEG -y \
-i $XAUDIO \
-r $irate2 -s $isize -pix_fmt yuv420p -f rawvideo -i $XVIDEO \
-r $orate -s $osize $ovideo \
$oaudio_out \
$output \
2>salida.txt

##################################################################
# Calculamos el desfase entre el audio y el vídeo
isize1=$($FFMPEG -i $output 2>&1 | sed -n "s/.* Duration: \([^ ]*\) .*/\1/p")
isize2=$($FFMPEG -i $XAUDIO 2>&1 | sed -n "s/.* Duration: \([^ ]*\) .*/\1/p")

horas1=$(echo $isize1 | cut -d ":" -f 1)
horas2=$(echo $isize2 | cut -d ":" -f 1)

minutos1=$(echo $isize1 | cut -d ":" -f 2)
minutos2=$(echo $isize2 | cut -d ":" -f 2)

segundos1=$(echo $isize1 | cut -d ":" -f 3 | cut -d "." -f 1)
segundos2=$(echo $isize2 | cut -d ":" -f 3 | cut -d "." -f 1)

decimas1=$(echo $isize1 | cut -d ":" -f 3 | cut -d "." -f 2 | cut -d "," -f 1)
decimas2=$(echo $isize2 | cut -d ":" -f 3 | cut -d "." -f 2 | cut -d "," -f 1)

totalsegundos1=`echo "( $horas1 * 3600 ) + ( $minutos1 * 60 ) + $segundos1" | bc`.$decimas1
totalsegundos2=`echo "( $horas2 * 3600 ) + ( $minutos2 * 60 ) + $segundos2" | bc`.$decimas2

relacion12=`echo "scale=9;$totalsegundos1 / $totalsegundos2" | bc`
recomendable=`echo "scale=9;0$relacion12 * $correccion" | bc`
echo "******************************************************"
echo "Corrección utilizada = "$correccion
echo " Tiempo de video "$totalsegundos1
echo " Tiempo de audio "$totalsegundos2
echo " Longitud video / Longitud audio = "$relacion12
echo "Corrección recomendable = "$recomendable
echo "******************************************************"

# avisamos del final del codificado
mplayer $avisowav

exit 0

sábado 7 de febrero de 2009

Curso de rescate en Toledo


Bomberos de Logroño en Toledo from ruben perez on Vimeo.

martes 20 de enero de 2009

Luis Ruiz Aguirre - Concierto de Mendelsohn

Luis Ruiz Aguirre (clarinete), Vicente Cotillas Sanz (corno di bassetto) y Eva Fontalva Jimeno (piano), interpretan una pieza del concierto para clarintete y corno di bassetto Op. 114 de F. Mendelsohn (Presto, Andante y Allegretto graziso).
Dentro de la audición de Enseñanzas Profesionales del Conservatorio Profesional de Música de La Rioja. El 11 de diciembre de 2008.


Luis Ruiz Aguirre - Concierto para clarinete Op. 114 de Mendelsohn from luismanolo on Vimeo.

Video en alta definición en www.vimeo.com : http://www.vimeo.com/2885075

martes 16 de diciembre de 2008

Concierto de Clarinete, Corno di Basseto y Piano

Para felicitar la Navidad, nada mejor que la música.
Aquí teneis un vídeo de una parte del Concierto para Clarinete y Corno di Basseto nº 2 Op. 114 de F. Mendelsohn.

Clarinete : Luis Ruiz Aguirre
Corno di Bassetto : Vicente Cotillas Sanz
Piano : Eva Fontalba Jimeno.

Espero que os guste....


Más videos en : http://es.youtube.com/luismanolo

martes 18 de noviembre de 2008

Imprimir pdf desde vim (elsupereditor)

Este pequeño "tip", trata sobre como imprimir el archivo que estamos editando en vim en formato pdf, o en impresora.

Lo primero que haremos será configurar vim para que imprima el encabezamiento "Pag.: 1 de 123", y también que nos imprima los números de línea.


Para ello solo tenemos que editar el archivo .vimrc, que se encuentra en nuestro directorio de usuario:

vim .vimrc
y añadiremos lo siguiente:

"Opciones de impresión
set printoptions=number:yes
set printheader=%<%f%h%m%=Pag.:\ %N\ de\ %{line('$')/73+1}

Ahora guardamos y cerramos vim:
(para introducir las órdenes que llevan dos puntos debemos pulsar primero la tecla Esc)

:wq


Y volvemos a abrir vim con el archivo que queremos editar o imprimir:

vim .vimrc


Por último para imprimir en impresora hacemos :

:syntax off
:hardcopy


Hemos utilizado syntax off para que no imprima en colores, ya que utilizo un fondo negro con letras claras y sobre el papel no se ven bien.

Y si quieremos imprimir a un pdf hacemos:

:syntax off
:hardcopy > archivo.pdf


Y yá esta, así de simple.

Para volver al modo de edición normal hacemos:

:syntax on


Y listo.

Espero que a alguien le sirva como a mi.


Salud.

miércoles 12 de noviembre de 2008

Script para la edición con vim en modo servidor local

Bueno, ya sé que el título es un poco confuso, trataré de explicarlo...

En primer lugar decir que utilizo vim como editor y como IDE., ya que tiene todo lo que necesito:
  • autocompletado en casi todos los lenguajes.
  • navegación por funciones, variables, etc (TagList)
  • edición en modo ftp, sftp, ssh, etc.
  • ligero, muy muy ligero
  • rápido de utilizar.
  • puedo ejecutarlo en modo remoto (mediante ssh)
  • comentado de líneas en función del lenguaje que uses
  • y muchas más..
La única pega es que no se puede utilizar la navegación por las funciones y variables "tags" en modo ftp. Y esto tiene una pega grande, que si estoy editando un archivo php en modo ftp, no puedo acceder a los tags del archivo (variables, funciones, etc.). Lo cual es un problema gordo en archivos grandes. Esta funcionalidad aparece como prevista para futuras modificaciones del plugin de vim que permite eso "TagList", pero de momento no está.

Por lo tanto la única solución que se me ha ocurrido para la edición de sitios web, y además disponer del TagList durante la edición es realizar un espejo de los archivos que tengo en el servidor remoto en el servidor local y editarlos en modo local.

Para realizar estas operaciones de una sola vez he realizado el siguiente script:

echo "Arrancando el servidor local..."
sudo /opt/lampp/lampp start # inicio el servidor lampp

echo "Realizando copia de archivos remotos"
# me posiciono en el directório donde quiero realizar el espejo
cd /opt/lampp/htdocs/georisk

# copio los directórios del servidor remoto necesarios con lftp
sudo lftp -u usuario,password servidorremoto.com -e "mirror -v --parallel=2 --only-newer /georisk/libjs6; mirror -v --parallel=2 --only-newer /georisk/libphp6; quit"

# cambio los permisos de los archivos descargados
sudo chmod -R a+rwx ../georisk

# inicio vim para que explore el directório de descarga
vim /opt/lampp/htdocs/georisk/

Alguno me dirá que se puede utilizar un plugin de vim que te permite subir y bajar archivos al y del servidor ftp rápidamente, pero no he conseguido usarlo de manera cómoda.

Así que si alguien sábe como hacerlo mejor, por favor ruego que ponga un comentario aclarando la manera de realizarlo.

Este es el aspecto:


Salud.