23Oct
En el anterior artículo veíamos un par de ejemplos del uso de hooks, específicamente para sobreponer imágenes o texto en un video, aunque no hicimos nada avanzado. Antes de continuar con esta serie de ejemplos, vamos a repasar un poco las opciones avanzadas para imlib2.so.
Algunas veces necesitamos sobreponer imágenes o texto en movimiento, para lo cual imlib2.so proporciona algunas variables y constantes que podemos usar al momento de fijar las coordenadas; estas son:
| N |
Número del frame (inicia en cero) |
| H |
altura del frame |
| W |
anchura del frame |
| h |
altura de la imagen |
| w |
anchura de la imagen |
| X |
coordenada horizontal previa del texto o imagen |
| Y |
coordenada vertical previa del texto o imagen |
Es posible además usar la constante PI y funciones matemáticas como por ejemplo seno (sin), valor absoluto (abs), tangente (tan), etc. (todas las que están disponibles en el evaluador de fórmulas de ffmpeg).
Y si te preguntas para qué demonios se utilzan las fórmulas matemáticas, pues bien... resultan especialmente útiles cuando se quieren realizar efectos de movimiento con curvas, de manera automática. Vamos a ver un ejemplo en la próxima entrada; pero antes es importante que tengas claro esto.
22Oct
Hace un par de días leyendo en el blog de saforas, me encuentro con esta entrada que me ha servido bastante. Allí habla sobre un programa llamado youtube-dl que nos permite descargar videos del youtube desde nuestra amada consola.
Su instalación es realmente sencilla ya que se encuentra en los repositorios:
sudo apt-get install youtube-dl
Luego de ello solo tendrás que indicar la URL del video como parámetro al programa, por ejemplo:
youtube-dl http://www.youtube.com/watch?v=dq3Y5WEi9eI
Con lo que obtendremos un archivo nombrado con la URI del video. Para convertirlo a otro formato podríamos usar ffmpeg:
ffmpeg -i dq3Y5WEi9eI.flv video.mpg
Leer el resto de la entrada...
22Oct
Ésta vez aprenderemos algo bastante útil a la hora de editar videos con ffmpeg, y es el uso de hooks. Los hooks permiten esencialmente modificar videos. Se utilizan añadiendo la opción -vhook al ffmpeg, se pueden usar cuantos sean necesarios, y se ejecutarán en el orden en que son escritos en el comando.
Los hooks utilizan módulos externos para realizar las tareas de edición del video. Dichos módulos no son más que librerías dinámicas (.so, .dll, .dylib), que por lo general se encuentran en /usr/lib/vhook/. Dependiendo de la tarea deseada, utilizamos alguno de estos módulos; para el caso de sobreponer una imagen o texto utilizaremos imlib2.so.
Uso de imlib2.so
Usando este módulo es posible sobreponer una imagen o texto a un video. Podemos especificar el texto directamente, o indicar un archivo de texto donde se encuentre.
| '-C <rgb.txt>' |
Nombre de archivo para leer el tipo de colores RGB a usar |
| '-c <color>' |
El color del texto |
| '-F <fontname>' |
Tipo de fuente y tamaño |
| '-t <text>' |
El texto |
| '-f <filename>' |
El nombre del archivo desde donde se leerá el texto |
| '-x <expression>' |
coordenada x del texto o imagen |
| '-y <expression>' |
coordenada y del texto o imagen |
| '-i <filename>' |
Nombre del archivo de imagen |
| '-R <expression>' |
Valor para color R (red=rojo) |
| '-G <expression>' |
Valor para color G (green=verde) |
| '-B <expression>' |
Valor para color B (blue=azul) |
| '-A <expression>' |
Valor para el canal Alpha |
Leer el resto de la entrada...
21Oct

pyRenamer es una excelente aplicación desarrollada con PyGtk que nos permite renombrar lotes de archivos en masa. Tiene un montón de características interesantes que hacen realmente fácil el proceso de renombramiento:
- Renombramiento en base a patrones o expresiones regulares (usando variables como numeraciones, fechas, números aleatorios, etc.)
- Reemplazo de caracteres
- Inserción y eliminación de caracteres
- Renombramiento de archivos de audio e imágenes basado en sus metadatos
- Nos permite previsualizar cómo quedarían nuestros archivos antes de renombrarlos
Para instalarlo y usarlo basta con ejecutar el siguiente par de comandos:
$ sudo apt-get install pyrenamer
$ pyrenamer
Bonus+
Me comenta Tonny de un proyecto suyo llamado JRenamer. Dicho programa es similar al pyRenamer, y tiene prácticamente todas sus características, con la ventaja de estar en Java, por lo que es multiplataforma.
21Oct
Otro de los trucos que podemos hacer con ffmpeg es poner un video en cámara lenta, también conocido como slow motion. El comando ésta vez es un poco más complejo, que no difícil, puesto que vamos a usar pipes; pero por supuesto al final explicaré cada parte.
Antes que nada es de aclarar que NO es posible hacerlo únicamente con ffmpeg, sino que es necesario utilizar el comando yuvfps. Asi que si no lo tienes instalado:
apt-get install yuvfps
Otro dato a tener en cuenta es que, yuvfps lee y escribe los datos del video desde y hacia la entrada (stdin) y salida (stdout) estándar, respectivamente. Este es el motivo por el cual podemos/debemos usar pipes.
Ejemplo...
Supongamos que hemos descargado este video del Youtube, en donde una muchacha recibe un golpe fuertísimo, y queremos poner el video en cámara lenta. Pues bien, el comando sería el siguiente:
ffmpeg -i mujeres.flv -f yuv4mpegpipe - | yuvfps -s 15:1 -r 15:1 | ffmpeg -f yuv4mpegpipe -i - -f mpeg2video -r 29.97 -y lentas.mpeg
Después de ello, el video resultante (lentas.mpeg) quedaría algo así.
Explicación...
El comando en realidad se divide en tres partes principalmente:
- La primera es cuando convertimos el video original en uno con formato yuv4mpegpipe (
ffmpeg -i mujeres.flv -f yuv4mpegpipe -). Vemos que el nombre del archivo original es mujeres.flv, y con el comando -f le indicamos a ffmpeg que el formato del video de salida será yuv4mpegpipe. Por último, ponemos un guión (-) que representa el archivo de salida, y que será lo que pasemos como parámetro al siguiente comando...
- El segundo comando (
yuvfps -s 15:1 -r 15:1) disminuye la velocidad del video a la mitad. Puesto que yuvfps lee la stdin, en realidad está leyendo el archivo que representa el guión del comando anterior.
- Por último, reconvertimos el video generado por el comando anterior que está en formato
yuv4mpegpipe (ffmpeg -f yuv4mpegpipe -i - ), generando un archivo en formato MPEG2 (-f mpeg2video -r 29.97 lentas.mpeg).
20Oct

Como muchos saben, la empresa detrás de Ubuntu presta un servicio de envío de CDs gratuito, para los que deseen probar Ubuntu Linux. Pues bien, ya puedes pedir tus CDs:
Recuerda que debes estar registrado, y no te aproveches. Trata de pedir la cantidad de CDs que utilizarás; ten en cuenta que si pides más de la cuenta podrías retrazar o impedir el envío de otros usuarios.
Me enteré gracias a Cesarius