Introducción a Slackware Linux

Un videito que presenta una pequeña y ligera introducción a Slackware Linux, mostrando un par de guias para la instalación de Slackware y algunas características de las dos ramas principales de la distribución: current y stable.


Slackware 14.0 con KDE 4.10.5

Saludos…

Capturando la pantalla con ffmpeg

Existen muchas formas de capturar el video de la pantalla de nuestra computadora, hay muchos programas que cumplen con esta función y cada uno lo hace de una forma diferente por lo tanto la calidad del video de salida también lo es. Personalmente he probado con la opción de hacerlo con el VLC y con ffmpeg. De estas dos formas prefiero ffmpeg pues me permite tener un control absoluto sobre lo que se desea grabar, además la calidad del video resultante es por mucho superior.

INSTALANDO ffmpeg EN SLACKWARE

Para instalar ffmpeg en Slackware tenemos como siempre la opción de hacerlo mediante los scripts de SlackBuild.org, para facilitar aún más esta tarea de instalación de paquetes yo uso sbopkg. En el sitio de ffmpeg de SlackBuilds.org se especifican algunas dependencias opcionales que permiten agregar características al ffmpeg, yo instalé la mayoría (algunas no se pudieron instalar) y para ello ejecuté lo siguiente.

Es recomendable primero hacer una sincronización para estar seguros de que los paquetes de sbopkg se actualicen con los más actuales del sitio SlackBuilds.org:

# sbopkg -r

A mí me da errores por lo que tengo que utilizar:

# torsocks sbopkg -r

Instalar las dependencias:

# sbopkg -i "celt libdc1394 dirac libmp4v2 faac frei0r gsm openjpeg opencv opencore-amr rtmpdump orc schroedinger speex libvpx x264 xvidcore"

En mi caso me dió errores para instalar dirac y ya tenía instalado lame. Para activar todas estas opciones en ffmpeg decidí instalar el paquete «a mano».

Para instalar el paquete primero hay que descargar todos los archivos de ffmpeg del sitio de ffmpeg en SlackBuils.org.

Cuando se hayan descargado hay que descomprimir el tar.gz que contiene el script.

$ tar -xvzf ffmpeg.tar.gz

Yo muevo todos los archivos al directorio creado dela manera siguiente:

$ mv ffmpeg-0.8.7.tar.bz2 ffmpeg
$ mv ffmpeg.tar.gz ffmpeg
$ mv ffmpeg.tar.gz.asc ffmpeg

Entrar en el directorio descomprimido:

$ cd ffmpeg/

Una vez instaladas las dependencias hay que activarlas colocando yes en cada una de las opciones siguientes antes de ejecutar el SlackBuild, en mi caso tuve que omitir OPENCV y DIRAC:

# CELT=yes DC1394=yes FACC=yes FREI0R=yes GSM=yes JP2=yes LAME=yes OPENCORE=yes RTMP=yes SCHROEDINGER=yes SPEEX=yes VPX=yes X264=yes XVID=yes ./ffmpeg.SlackBuild

Creado el paquete tgz hay que instalarlo con installpkg:

# installpkg /tmp/ffmpeg-0.8.7-i686_custom-1_SBo.tgz

GRABANDO EL ESCRITORIO

Cuando se haya instalado el paquete se puede empezar a grabar el escritorio, si uno busca en Google capture screen ffmpeg encontrará muchas formas de grabar la pantalla. Una de las que yo encontré es la siguiente:

$ ffmpeg -f alsa -i hw:0,0 -f x11grab -r 25 -s 1366x768 -i :0.0+0,0 -acodec pcm_s16le -vcodec libx264 -vpre lossless_ultrafast -threads 0 output.mkv

Otro pedazo de código:

$ ffmpeg -f alsa -i hw:0,0 -f x11grab -r 25 -s 1366x768 -i :0.0+0,0 -acodec pcm_s16le -sameq output.avi

EDIT: Otro comando que funciona muy bien es:

ffmpeg -f x11grab -r 25 -s 1366x768 -i :0.0+0,0 -vcodec libx264 -preset ultrafast -threads 0 video.mkv

En algunos sitios de internet y blogs se encuentran ejemplos con la opción -vpre lossless_ultrafast sin embargo esto genera el error:
File for preset 'lossless_ultrafast' not found

Para entender el porqué, basta ejecutar:

$ x264 --help

Y podremos ver los presets que están disponibles, los cuales debemos usar como el comando de arriba: -preset ultrafast.

Se pueden encontrar más ejemplos aquí y acá.

Opciones de ffmpeg

Entre las opciones que se le están pasando a ffmpeg, la primera es -f alsa que indica que se forzará a usar un formato de sonido, la opción -i hw:0,0 indica la entrada (input) de donde se tomará el sonido, h:0,0 indica que debe tomarlo de la tarjeta de audio 0 y dispositivo 0, en mi este caso el micrófono pues pretendo hacer videos en los que aparezca mi voz a manera de tutoriales explicativos. Esta configuración tal vez no sea la óptima para videos con fondo musical.

Para listar el hardware de audio de mi laptop ejecuté:

$ cat /proc/asound/cards

Que me dió como resultado:

0 [Intel]: HDA-Intel - HDA Intel
...........HDA Intel at 0xd4700000 irq 45

Lo cual indica que tengo una tarjeta de audio HDA de Intel. Para ver los dispositivos de captura de audio hice:

$ arecord -l

El resultado es:

**** List of CAPTURE Hardware Devices ****
card 0: Intel [HDA Intel], device 0: CONEXANT Analog [CONEXANT Analog]
..Subdevices: 0/1
..Subdevice #0: subdevice #0

Donde se observa que la tarjeta tiene un número 0 y el dispositivo también es 0 por lo que en la entrada de audio el parámetro hw:0,0 es correcto. Éste parámetro es para tomar audio del micrófono.

Luego -f x11grab indica se usará un formato de video, -r 25 configura la frecuencia de las imágenes por segundo a 25 Hz, -s 1366×768 es el tamaño de los cuadros (Ancho x Alto) que en este caso es el valor del tamaño de mi pantalla. -i :0.0+0,0 indica que se tomará la señal de video del monitor y a partir de las coordenadas (offset) 0,0. -acodec pcm_s16le y -vcodec libx264 indican respectivamente el codec de audio y video a utilizar, -sameq indica que se utilizará el mismo cuantizador (quantizer) de fuente. -vpre pone las opciones de video a la configuaración preestablecida (preset) indicada, en este caso lossless_ultrafast y finalmente el nombre del archivo de salida en el formato deseado.

Problema: No se graba el sonido

Tuve un problema pues no se grababa sonido, entonces empecé a investigar la razón, las posibles opciones que se me ocurrieron son:

  • No se reconoce el hardware del micrófono
  • El micrófono está mal configurado

Verificado que efectivamete se reconoce el micrófono en el dispositivo hw:0,0, solo queda checar la configuración del micrófono. Ello se puede checar en la configuración de ALSA. Encontré por la red que el micrófono podía estar en estado Mute por lo que intenté quitar esa configuración.

Para quitar el silencio del micrófono se puede ejecutar lo siguiente:

$ amixer set PCM 100% unmute

Sin embargo, puede ser que otro dispositivo esté causando el problema. Para ver la configuración de todos los dispositivos simplemente hay que hacer:

$ amixer

Aparecerá algo como lo siguiente:

Simple mixer control 'Capture',0
..Capabilities: cvolume cswitch penum
..Capture channels: Front Left - Front Right
..Limits: Capture 0 - 80
..Front Left: Capture 28 [35%] [-46.00dB] [on]
..Front Right: Capture 28 [35%] [-46.00dB] [on]

Este pedazo de código es solamente del dispositivo Capture (puede que hayan otros dispositivos), si el [35%] aparece como [0%] entonces quiere decir que no se está capturando sonido por lo que se puede hacer:

$ amixer set Capture 80%

El porcentaje puede variar dependiendo de lo que se necesite, sin embargo mis videos aún salen con un sonido medio extraño de fondo y mi voz no se escucha del todo bien. Si no se soluciona esto intenten agregar la opción unmute al final de la instrucción.

Funcionó, y por fortuna con ello ya se escucha el audio de mis videos, perfecto para empezar a hacer tutoriales.

Saludos Slackers…

Instalar VLC 1.1.9 en Slackware

Ahora les presento la forma en que instalé el VLC en mi Slackware 13.1 para ver Dr. House y algunas peliculas con mi novia… ya que los reproductores que vienen por defecto con el sistema aún no he aprendido a usarlos muy bien y algunos son muy molestos, me siento más cómodo con el VLC que con otros.

Primero hay que instalar YASM si es que no está instalado en el sistema, el cual es una dependencia importante. Hay que descargarlo y descomprimirlo para depués hacer lo siguiente como root:

# cd yasm-1.1.0/
# ./configure
# make
# make install

Una vez instalado el programa anterior, hay que asegurarse de tener el lftp instalado sino hay que instalarlo para proceder con la descarga de las fuentes tal y como se muestra con el siguiente comando:

# lftp -c "open http://www.slackware.com/~alien/slackbuilds/vlc/; mirror build"

Lo cual creará un directorio llamado build en nuestra carpeta de usuario en donde se copiarán las fuentes del programa, una vez que en la consola se indique que se ha descargado en su totalidad se hace lo siguiente:

# cd build/
# sh vlc.SlackBuild

Para crear un paquete .txz en el directorio temporal el cual hay que instalar con installpkg

# installpkg /tmp/vlc-1.1.9-i486-1alien.txz

Listo ya se tiene el programa VLC instalado en el sistema.