Un ScreenCast es al vídeo lo que un SnapShot (pantallazo o captura de pantalla) a la fotografía. Hay algunos programas que realizan capturas de vídeo de lo que se muestra en nuestra pantalla, unos con mejores resultados que otros y también con mayor o menor dificultad de uso. Ejemplo de ello son Istanbul y RecordMyDesktop, dos soluciones que podrían funcionar muy bien. Sin embargo, no me permiten grabar sonido de un micrófono mientras graba la pantalla, para por ejemplo dar explicaciones mientras muestras algo. Cosa que puede ser bastante útil. Hace unos meses descubrí que ffmpeg es capaz de esto y me puse a hacer algunas pruebas para conseguir grabar vídeos con la característica de que se pudiera oír mi voz dando algunas explicaciones. En realidad no era para nada muy serio, pero en alguna ocasión me ha surgido la situación que querer explicar a alguien cómo hacer algo, y la verdad que tardaría un minuto en hacerlo con un vídeo así y no como sería con una explicación por escrito, que además si no me explico bien, quizás pueda llevar más a confusión. Veamos las opciones de ejecución por separado:
-i dispositivo se usa para indicar el dispositivo de entrada tanto para vídeo como para audio.
-f formatoes para indicar el formato de entrada ya sea de vídeo o de audio.
-r n consigue que se haga la grabación n fotogramas por segundo.
-s tamaño es la forma que tiene ffmpeg de recibir el tamaño de captura de pantalla, puede ser indicado de varias formas, como 640x480 o bien su equivalente vga. Podemos ver una lista de nombres para los diferetesta tamaños aquí o bien poner un tamaño diferente de la forma valorxvalor.
-b se usa para estipular la tasa de bits por segundo que se van a usar en la salida ya sea de vídeo o sonido, ejemplo: -b 128k.
-sameq consigue que se haga la captura con la misma calidad que tenga la propia entrada. Haciendo que la tasa de bits por segundo de la salida sea la necesaria como para que no sea apreciable ninguna pérdida de calidad con respecto a la entrada. Si usas esta opción, no es neceseario usar -b.
-async n muy útil para conseguir una buena sincronización del sonido de entrada y la imagen. De este modo, si grabamos nuestra voz mientras grabamos el vídeo veremos como nuestras palabras van en sincronía con el vídeo.
Algunos ejemplos:
$ ffmpeg -f oss -i /dev/dsp salida.mpg Para capturar sonido con OSS.
$ ffmpeg -f alsa -i plughw:1,0 salida.mpg Para capturar sonido con ALSA.
$ ffmpeg -f -x11grab -i :0.0 -s 1280x1024 -r 25 salida.mpg Para capturar vídeo de la pantalla.
$ ffmpeg -f video4linux2 -s 320x240 -i /dev/video0 -sameq Desktop/out.mpg Para capturar vídeo de la webcam.
$ ffmpeg -async 1 -f alsa -i plughw:1,0 -f x11grab -s 1440x900 -r 25 -i :0.0 -b 128k Desktop/out.mpg Capturar vídeo y sonido a la vez.
Una de muchísimas cosas que me gustan de Gentoo es la estética de la consola. Supongo que la manera en que se suele administrar este sistema y sobre todo lo peculiar de su instalación hacen que los usuarios que disfrutamos de ella usemos la consola mucho. Y si lidias con algo durante mucho tiempo, qué mejor que sea lo más bonito posible, ¿no?
Algo que echo mucho de menos en una instalación de Ubuntu es esa tan cuidada decoración de la consola que tiene Gentoo, así que he decidido copiarla en mi portátil, donde uso Ubuntu 9.10.
Bueno, la consola en Gentoo básicamente se muestra como una consola con un prompt decorado con colores y, ademas, el comando ls que colorea los ficheros según el tipo al que pertenecen. Debemos ejecutar estos comandos:
Soy usuario de GNU/Linux de la vieja usanza, quiero decir, no del estilo Ubuntu. Es por eso no me gusta usar sudo ni gksudo para administrar mi sistema. Tampoco me gusta usar la misma constraseña que mi usuario para tal fin, por eso he configurado mi sistema Ubuntu para activar la cuenta de root y que siempre me pida la contraseña de root en lugar de la de mi usuario para tareas de administración, además de imposibilitar el uso de sudo.
$ sudo su
# passwd
# nano -w /etc/sudoers Debemos editar el fichero para dejar de permitir el acceso de los usuarios a sudo.
# Members of the admin group may gain root privileges
# %admin ALL=(ALL) ALL
Debemos dejar comentadas estas líneas.
# exit Cerramos la sesión root.
$ gconftool --set --type=bool /apps/gksu/sudo-mode false Configuramos Gnome para que haga uso de su en lugar de sudo. $ gconftool --get /apps/gksu/sudo-mode Nos aseguramos de que este comando devuelve el valor false.
A partir de ahora el comando sudo dejará de funcionar para nuestro usuario, y tendremos que usar exclusivamente su y la contraseña de root para administrar el sistema.
Bien, he estado peleándome durante meses con Ubuntu y mi ATI,. Actualmente el driver privativo de ATI no soporta el kernel que lleva Ubuntu 8.10, pero me da igual, realmente lo que buscaba es poder usar los driver libres de Radeon o ATI, porque estos sí permiten hibernar el sistema o suspenderlo, cosa que no es posible si usas el privativo, al menos según mi experiencia. Pero, es que tampoco funcionan los drivers libres ATI ni Radeon en esta última entrega de Ubuntu… ¡Dios qué follón!
Al final lo que hay que hacer para que funcionen estos drivers libres es añadir la línea AGPMode “1″ en el /etc/X11/xorg.conf en el partado Device. Es curioso que mi chipset, un intel GME855, si no recuerdo mal, soporta hasta 4x en el modo AGP y mi gráfica hasta 8x. Bueno, podría poner 4x, ¿no? Al menos eso parece en principio, pero no, hay que ponerlo a 1x si queremos que funcione, porque en otro modo el sistema se queda completamente congelado.
Creo que todo es debido a que a raíz de que ATI/AMD liberara un driver y diera especificaciones para poder desarrollar un driver alternativo libre para sus chips, se ha comenzado un desarrollo que soporta aceleración 3D en estos drivers, y tal vez esto haya hecho que surjan errores que antes no estaban presentes… Esto es solo un pensamiento mío, no lo he contrastado ni lo he visto en ninguna parte.
Aquí os dejo mi xorg.conf por si a alguien le sirve de algo.
Voy a necesitar usar Windows XP, pero no me gusta andar reiniciando. Y como lo voy a usar exclusivamente por un único software me he decidido a instalarlo en un una máquina virtual con Qemu. Hay muchos how-to por ahí, así que yo sólo pondré las notas de lo que yo hice para conseguir hacerlo funcionar junto con los enlaces en los que basé para conseguirlo. Lo primero es instalar Qemu, y el que viene en los repositorios de Ubuntu funciona a la perfección. Instalamos el paquete qemu, kqemu-common, kqemu-source, module-assistant y build-essential. Lo de kqemu es para dar soporte en el kernel para acceleración en la virtualización, y la verdad es que se nota. A continuación debemos configurar nuestro sistema para poder hacer uso de kqemu, es muy fácil. Construímos el módulo para el kernel de kqemu:
# cd /usr/src
# sudo module-assistant prepare
# sudo module-assistant auto-install kqemu
Creamos el fichero /etc/udev/rules.d/60-kqemu.rules con el siguiente contenido: KERNEL=="kqemu", NAME="%k", GROUP="kqemu", MODE="0660"
Cambiar el contenido de /etc/modprobe.d/kqemu: options kqemu major=0
Crear el grupo kqemu y agregar el usuario al grupo: # addgroup --system kqemu # adduser usuario kqemu Asegúrate de que estos cambios toman efecto, deberías cerrar sesión y volver a entrar.
# /etc/init.d/udev reload
# update-modules
# modprobe kqemu
Comprobar que los permisos están correctamente: $ ls -l /dev/kqemucrw-rw---- 1 root kqemu 10, 62 2008-02-27 15:36 /dev/kqemu
Si quieres que se carge el módulo de kqemu al arrancar, añade una línea que contenga la cadena “kqemu” en /etc/modules.
Una vez aquí, creamos la imagen que contendrá el disco en el que instalaremos el Windows: $ qemu-img create winxp.img 4G En este caso es de un tamaño de 4GiB. Introducimos el CD de instalación de Windows en el lector de CD y ejecutamos: $ qemu -localtime -hda winxp.img -cdrom /dev/cdrom -m 450 -boot d Ya instalado el sistema podemos iniciarlo con este comando: $ qemu -localtime -hda winxp.img -cdrom /dev/cdrom -m 450 -boot c Fuentes | Blog de Stolz y Community Ubuntu Documentation
Si algo te ha resultado útil, te ha ahorrado tiempo o dinero, o simplemente te ha gustado mi blog, puedes darme la voluntad para ayudarme a pagar los costos del sitio.