viernes, 30 de diciembre de 2011

Entre las chapuzillas que me solicitaban el otro día estaba, como decía antes, recortar algunos vídeos antiguos con los que ilustrar unas páginas de espeleología que enlazaré otro día.
Son vídeos con muy mala calidad. Con más de 20 años (finales de los 80). Realizados originalmente con videocámara de super8 y digitalizados con una caja de pan bimb… bueno, digamos que todo lo que les faltan de técnica lo suplen con gran valor documental/sentimental.

He recortado un trozo correspondiente al curso práctico de espeleología que se realizó en la Cueva Neptuno, en la sierra de la Muela, en el que se aprovechó para topografía dicha cueva y en la que se puede apreciar el esplendor con que lucían el Palmito y la higuera que nacen en su interior.

Para quien no conozca la zona diré que la cueva Neptuno es una oquedad enorme en la ladera de la montaña junto a cala Aguilar, accesible por un gran agujero en su techo y en cuyo interior crecen un palmito y una higuera enormes, y que dadas las particulares condiciones (luz muy escasa y cenital, y mucha humedad) alcanzan una altura y un porte fabuloso.
Dada su ubicación exclusiva esta plantas son muy cuidadas, respetadas y atendidas (alguna poda desafortunada poda han tenido que sufrir). Actualmente unos de los brazos del palmito está en cabestrillo, ya que dada la longitud que alcanzan las ramas en busca de la luz tienden a hacerse extremadamente largas, delgadas y frágiles.

La cueva no dispone de más galerías o pasadizos que la sala principal en cuya parte más baja las filtraciones del mar forman un lago interior de gran belleza y donde en alguna ocasión hemos despedido el año viejo con un fresquito baño a medianoche.
Si se dispone de buena-muy buena capacidad pulmonar se puede salir buceando al exterior a través de una galería sumergida, pero esta es una actividad poco recomendable si se tiene algo de aprecio a la propia salud.

Nota: para comparación con el porte actual del palmito podéis ver el apunte de Jalesp en Flora de Murcia donde podéis ver una imagen más reciente.
Nota II: Pasen Vds. un feliz fin de año 2011

jueves, 29 de diciembre de 2011

Me han pasado unos amigos unos “encargitos al más puro estilo 100% Pringao Extreme. El más engorroso de todos es tratar de aprovechar unos vídeos antiguos para colgar en la web.

El problema es que son unos vídeos extremadamente largos (+1 hora) y con muy mala calidad (fueron grabados a principios de los 80 en super8 y digitalizados vaya usted a saber como/donde) y con un interés digamos que bajo-muy bajo para quien no sale en ellos, (especialmente si la duración del vídeo se prolongo muchos minutos).
Como no tenía ganas de comerme (gratis) la edición de vídeo extralarga que supondría seleccionar, cortar, mover, montar, editar… etc.. he tomado una decisión salomónica: que lo decida el azar.

Así es que me hice un script rapidito que mediante mencoder trocea un vídeo a intervalos y genera otro vídeo que vendría a ser un resumen del original con partes escogidas al azar.
Como no hay recodificación de vídeo/audio el proceso dura un instante (de un vídeo de 1Gb obtenemos un resumen de 35Mg en unos 15 segundos). Por si alguien le interesa, el script:
#!/bin/bash
echo "Cambiar a $(pwd)"
cd "$(pwd)"

if [ -f "$1" ]; then
nombre=$(basename "$1")
nombreUnico=$(echo "$nombre" | md5sum | cut -d " " -f1)
prefijo=${nombre/.*/}
sufijo=${nombre/*./}
identificacion=$(mplayer -identify "$1" -vo none -ao none)
clear
echo "La identificación dice que:"
duracion=$(echo "$identificacion" | grep "ID_LENGTH" | cut -d "=" -f2); duracion=${duracion/.*/}
while [ "$yn" != "s" ]; do
echo "Video dura $duracion segundos"
echo "---------------------------------"
read -p "Indica la duración de los fragmentos que se van a extraer (en segundos): " duracionFragmento
read -p "Indica el número de fragmentos de $duracionFragmento segudos que quieres obtener: " numeroFragmentos
echo
echo -n "Obtendriamos un vídeo de $numeroFragmentos fragmentos x $duracionFragmento segundos = "; longitudResumen=$(echo "scale=0; $duracionFragmento * $numeroFragmentos" | bc) ; echo " $longitudResumen segundos en total"
echo "scale=0; ($duracion - $longitudResumen)/($numeroFragmentos-1)"
longitudIgnora=$(echo "scale=0; ($duracion - $longitudResumen)/($numeroFragmentos-1)" | bc )
echo "Se ignoraría fragmentos de $longitudIgnora segundos"

read -p "Es esto lo que quieres? [sn]" yn
done
reinicioSalto=$(expr $duracionFragmento + $longitudIgnora)
contador=0
for inicio in $(seq 1 $reinicioSalto $duracion); do
echo "Obtener $duracionFragmento segundos a partir del segundo $inicio"
let contador++
indice=$(printf "%02d" $contador)

mencoder "$1" -ss $inicio -endpos $duracionFragmento -ovc copy -oac copy -o "$nombreUnico""-parte_$indice.""$sufijo"
done
mencoder $nombreUnico*".$sufijo" -oac copy -ovc copy -o "$prefijo""_resumen.""$sufijo"
find . -type f -name "$nombreUnico*$sufijo" -delete

else
echo "El primer argumento debe ser un archivo de vídeo válido"
echo "\"$1\" no cumple ese requisito"
exit
fi

Si se copia esto un archivo (videopartes.sh) y se ejecuta:

  • Obtienen la duración en seg del vídeo pasado como primer argumento
  • Solicita duración S (en segundos) deseada de los fragmentos F
  • Solicita Numero de fragmentos F deseados
  • Solicita confirmación y con esos datos obtiene del vídeo original fragmentos F de videos de duración S distribuidos a intervalos regulares
  • A continuación ensambla esos fragmentos en un nuevo vídeo con idéntica codificación video/audio
  • Se eliminan los fragmentos
  • No hay transiciones, ni fades, ni efecto ninguno. El vídeo original no es alterado

Ejemplo: Un vídeo dado de 2000 segundos. Obtener 25 fragmentos de 6 segundos.
Resultado: vídeo de 150 segundos tomando 6 segundos de imagen cada 74 segundos de vídeo

Otro día os enseño el resultado de esta edición-extra-rápida y algún fragmento de estos vídeos que son auténtica arqueología moderna de la espeleología Murciana.

jueves, 22 de diciembre de 2011