Suscribirse al Feed
24Oct

Efectos avanzados con hooks con ffmpeg [4ra parte]

Como hemos visto en otras entradas relacionadas con ffmpeg, esta herramienta es bastante útil para realizar una gran cantidad de tareas de edición de video. Sin embargo, aparte de simplemente convertir video o extraer audio, existen otros usos avanzados con el que podemos crear algunos efectos interesantes. En esta entrada aprenderemos a usar algunos de ellos, todos en un solo ejemplo.

Continuando con un ejemplo de otra entrada, en donde poníamos en cámara lenta un video, vamos a agregar un par de efectos. Lo primero será crear una cortina que cubra el video, y posteriormente un par de imágenes moviéndose que simularán un par de luces.

Primer ejemplo - Crear un video estático a partir de una imagen con ffmpeg

Lo primero es crear un video en donde tengamos las cortinas estáticas. Así, usando ésta imagen, el comando sería el siguiente:

ffmpeg -loop_input -i cortina.jpg -t 10 cortina.mpg

Esto creará un video con una imagen estática. La opción -loop_input es imprescindible puesto que el archivo de entrada es una simple imagen, es decir, solo un frame, y por tanto es necesario repetirlo durante el video. La opción -t indica a ffmpeg que el video durará 10 segundos. Leer el resto de la entrada...

12Sep

Wireshark - Tutoriales y videos

Wireshark, antes llamado Ethereal, es en mi opinión el mejor analizador de protocolos: es fácil de usar, multiplataforma, libre, gratuito, y tiene un montón de características útiles e interesantes. Esta sección recopila todos los articulos que haya escrito en este blog acerca de este maravilloso programa:

04Ago

IDEs para Python - Los dos mejores en mi opinión

Recientemente ando aprendiendo algo de Python, y por supuesto me he lanzado a la búsqueda de un bonito IDE para trabajar. Después de muchas vueltas probando diferentes opciones, al fin he seleccionado mis dos finalistas.

PyDev

pydev

Es sin duda el mejor de todos. Se trata de un plugin para Eclipse que tiene todo lo que pudiéramos necesitar de un IDE:

  • Resaltado de código
  • Sangrado automática
  • Completado automático
  • Ejecución de programas
  • Depurador de soluciones
  • Administrador de proyectos

OpenKomodo

komodo

Es muy bueno sin duda, y nace como resultado de la liberación de parte del código del editor de Komodo, pero es solo un editor, por lo que el proceso de ejecución y depuración de aplicaciones lo tenemos que hacer manualmente o usando otras herramientas. Aún así­ posee:

  • Resaltado de código
  • Sangrado automática
  • Completado automático
  • Administrador de proyectos
  • Y utilidades para el código (des/comentar bloques de código, uso de bookmarks, etc.)

Otros IDEs

Existen por supuesto una gran variedad de alternativas muy buenas, cada una con sus pros y contras. Entre las que podemos encontrar (todos instalables usando apt-get en sistemas basados en Debian):

Enlaces interesantes...

28Jul

Enlaces interesantes del blogroll

Enlaces interesantes de los sitios que suelo leer (algunos viejos, que se me quedaron trancados en el Google Reader).

Y esta imagen que vi en Durmiendo Fuera que me ha parecido bastante hilarante:

26Jul

Sacar provecho a los campos personalizados [Wordpress]

Existen muchas características en Wordpress que muchas veces no usamos y que nos podrían resultar útiles. Tal es el caso de los campos personalizados, que incluso muchos no saben cómo usarlos. Si te interesa el tema, ¡este artículo podría ayudarte!

¿Qué son los campos personalizados?

Son pares clave-valor (nombre/datos), que podemos asignarle a cada entrada que creemos, con lo cual podemos agregarles metadatos. Podemos crear cuantos nombres de clave necesitemos y asignarles cualquier tipo de datos.

Pero... ¿para qué podría utilizarlo?

Existen muchos usos disponibles para los campos personalizados. Por ejemplo, en este blog los uso para mostrar cierto "Aviso legal" cuando publico información que procede de terceros. Pero lo mejor es mostrarles un ejemplo...

Creando campos personalizados...

En el siguiente ejemplo vamos a usarlos para mostrar la información de Autor y Fuente de las entradas que son traducidas de otros idiomas, como es el caso de la que escribí ayer: 10 maneras de acelerar el arranque en Linux.

Al momento de escribir una entrada, podemos añadir campos personalizados usando un formulario que aparece en la parte de abajo. En mi caso añadiré estos cuatro campos:

Para añadir un campo nuevo basta con escribir el nombre en la caja de texto Clave, introducir el valor del mismo en la caja Valor y hacer clic en Añadir un Campo Personalizado.

Usando campos personalizados...

Para usar los campos creados, podemos usar el método get_post_meta incluido con Wordpress, el cual recibe tres argumentos: get_post_meta($post_id, $key, $single); $post_id es el ID de la variable equivalente a cada post que se lista en el blog; $key es el nombre de la clave a recuperar; y $single recibe un valor booleano (true o false): si el argumento es true devuelve solo un dato para $key, si el argumento es false devuelve un arreglo con los datos que tengan las claves $key.

Siendo así, el código para este ejemplo en particular es el siguiente:


<?php
//Esto lo tienen casi todas las plantillas de Wordpress
//Y lo que hace es permitir el uso de la variable $post
//que contiene la información de cada post individualmente
if (have_posts()) : while (have_posts()) : the_post(); ?>
   //Por lo general, en esta parte está el código
   //que genera el HTML de las entradas del blog
/** Esta es la parte donde usamos los campos personalizados **/
//Mirar si es una traducción
$tipo = get_post_meta($post->ID, "tipo", true);
if( $tipo == "traduccion"){
 echo "<div class='aviso'>Esta entrada es una traducción libre del artículo";
 echo "de <strong>".get_post_meta($post->ID, "autor", true);
 echo "</strong>: <a href='".get_post_meta($post->ID, "link", true)"
 echo "'>".get_post_meta($post->ID, "nombre", true)."</a>.";
 echo "Todo crédito es para el autor de dicho artículo.</div>";
}
/** Aquí termina el uso de los campos personalizados **/
//Por lo general, así termina el ciclo que imprime los posts
<php endwhile; ?>

Recuerda que la manipulación de los campos la debes poner dentro del ciclo while que la mayoría de plantillas utilizan. El resultado en mi caso sería:

resultado campos personalizados wordpress

Como en el ejemplo anterior, es buena idea mostrar los mensajes dentro de etiquetas div que pertenezcan a alguna clase de nuestro CSS, de tal manera que podamos aplicar estilo sin mucho esfuerzo.

25Jul

10 maneras de acelerar el arranque en Linux

  • Deshabilitar servicios innecesarios. Dependiendo del uso que le des a tu sistema, algunos servicios no son necesarios. ¿Usas Linux para el escritorio? Entonces no necesitas servicios como sendmail, httpd, etc. Por ejemplo, Ubuntu viene con los servicios para manipular dispositivos Bluetooth, pero personalmente no utilizo dispositivos de ese tipo; así que si es tu caso, puedes ir al menú Administración, seleccionar Servicios, y deshabilitar todos aquellos que no uses.
  • Deshabilitar módulos del kernel innecesarios. Si tu computador solamente se conectar a internet usando una conexión cableada Ethernet, no necesitas tener cargado el módulo Wireless del kernel. Claro, esto ya es un poco más difícil puesto que es necesario recompilar el kernel, seleccionando sólo los módulos que necesitas.
    La mejor manera de saber cuales son los módulos que actualmente están siendo cargados en tu sistema es instalar Bootchart. Este programa genera información acerca de lo que pasa cuando inicia tu sistema, los módulos que se cargan, con gráficos y todo XD.
  • Usar un entorno de escritorio liviano en vez de GNOME o KDE. Sobre todo si tenemos máquinas viejas o lentas; Además, en vez de esperar 30 o 60 segundos extra mientras inician GNOME o KDE, ¿porqué no esperar 10 segundos por Enlightenment o XFCE? No solo te ahorrará tiempo al inciar el sistema, sino mientras lo estás usando.
  • Usar un sistema de logueo basado en texto en vez de uno gráfico. La mayoría de mis máquinas Linux inician en el run level 3 en vez del run level 5. Esto hará que se detenga en el sistema de logueo basado en texto, donde solo tengo que poner mi usuario y password y ejecutar startx para iniciar mi entorno de escritorio. Los sistemas gráficos de logins son bonitos, pero incrementan el tiempo de carga y producen dolores de cabeza intentando recuperarse en caso de un fallo con las X.
  • Usa una distribución ligera. En vez de cargar una pesada Fedora, Ubuntu o openSuse, ¿porqué no intentar Gentoo, Arch o Puppy Linux? El tiempo de inicio es considerablemente menor con éstas.
  • Usar un OpenBIOS. Si eres lo suficientemente experto como para actualizar tu firmware, podrías considerar migrar a una BIOS open source. Una de las cosas por las que es recomendable usar un firmware open source es que permite a Linux inicializar el hardware una vez encendido el PC (en vez de que lo haga la BIOS). Aún así, si no te aventuras a hacer tal cosa, podrías considerar configurar tu BIOS para que, por ejemplo, no busque una unidad de disquete que no existe o que bootee directamente del disco duro (en vez de buscar en la unidad de CD primero).
  • Evitar el DHCP. Si estás en una red casera o empresa pequeña, las direcciones IPs no suelen dar muchos problemas. Considera entonces poner una IP fija a tu PC. Esto hará que al inciar no sea necesario conectarse al servidor DHCP para obtener una IP. Si haces esto, asegúrate de configurar el archivo /etc/resolve.conf para que seleccione adecuadamente los servidores DNS.
  • Si es posible, deshaste de hotplug. Hotplug es el sistema que te permite conectar nuevos dispositivos y usarlos inmediatamente. Si no necesitas esta característica, bórralo. Esto reducirá el tiempo de carga de tu sistema. En muchos sistemas, hotplug consume muchos recuersos al momento de iniciar el sistema. NOTA: udev ha reemplazado a hotplug en su mayoría; pero si usas una distribución antigua te podría resultar muy útil hacerlo.
  • Si eres realmente osado, podrías intentar initng. El sistema initng sirve como reemplazo para el sistema sysvinit y promete ser decrementar el tiempo de carga de sistemas basados en UNIX. Si quieres ver a initng en acción, puedes probar el LiveCD Pingwinek.
  • Usar un hack en Debian. Si usas Debian, existe un hack muy simple que puedes usar para inciar tus startup scripts en paralelo. Si le echas un vistazo al script /etc/init.d/rc, verás algo como CONCURRENCY=none más o menos en la línea 24. Cambia esto por CONCURRENCY=shell y deberías ver una reducción en el tiempo que tarda el sistema en iniciar.
© 2007 - 2008 Dezinerfolio. Todos los derechos reservados.
Powered by Wordpress. Entradas RSS