domingo, 8 de mayo de 2011

Grabar el escritorio con ffmpeg

Como todos sabeis, hay varios programas para grabar el escritorio como "recordmydesktop", "istambul" y otros...

El problema es que no a todo el mundo les graba bien con los efectos de compiz andando.

Puesb bien, con ffmpeg se puede hacer, y para hacerlo mas facil, he creado un script que automatiza el proceso y os pide la resolución el nombre de archivo y demás.

Crear un archivo de texto en el escritorio mismo, le dais por ejemplo el nombre de "grabar-escritorio", luego pegáis esto:

--------------------------Copia el texto-----------------------------
#!/bin/bash

echo "Se va a grabar el escritorio..."
echo
sleep 1

# -------------Código desechado por una mejora expuesta por Rioport-------------------
#echo "A continuación tienes los datos de resoluciones disponibles de tu pantalla"
#echo "La que tiene asterizco es la que usas actualmente y la que deberías elegir"
#echo
#xrandr
#echo
#read -p "Elije una resolución: " RESOLUCION
# ------------------------Fin código desechado----------------------------------------

# Mejora por Rioport
LINE=`xrandr -q | grep Screen`
WIDTH=`echo ${LINE} | awk '{ print $8 }'`
HEIGHT=`echo ${LINE} | awk '{ print $10 }' | awk -F"," '{ print $1 }'`
# Con estas tres líneas se obtiene la resolución de pantalla, ancho x alto

echo "...la resolución detectada es ${WIDTH}x${HEIGHT}"
echo
sleep 1
read -p "¿Que frecuencia de refresco quieres? (25 es lo normal): " FPS
echo
read -p "¿Quieres grabar también el audio? si/no: " AUDIO
echo
read -p "Por último, elija un nombre: (puedes ponerlo incluyendo la ruta) " NOMBRE
echo
echo "El vídeo resultante se creará en la ruta actual (o en la indicada) con los siguientes datos:"
echo "-------------------------------------"
echo " Nombre: $NOMBRE"
echo " Resolución: ${WIDTH}x${HEIGHT}"
echo " Tasa de refresco: $FPS fps"
echo " Con audio: $AUDIO"
echo "--------------------------------------"
echo
echo "Presione Ctrl+C para terminar con la captura de vídeo cuando quiera"
sleep 4
echo "Puedes minimizar esta ventana, pues la grabación comenzará en 4 segundos..."
sleep 4
echo

if [ $AUDIO = "no" ]
    then
    ffmpeg -f x11grab -s ${WIDTH}x${HEIGHT} -r $FPS -i :0.0 -sameq $NOMBRE.mpg
    # -f Indica el formato.
    # -s Indica la resolución. Puede ser: 1024x768, hd720, 640x480, svga).
    # -r Tasa de frames.
    # Lugar en donde el vídeo se va a guardar (donde se ejecuta el script)
    # mi-video.mpg Nombre y extensión del archivo.(Podemos cambiar el formato, cambiando la extensión ".mpg" )
fi
if [ $AUDIO = "si" ]
    then
    #ffmpeg -f alsa -ac 2 -i pulse -f x11grab -r $FPS -s ${WIDTH}x${HEIGHT} -i :0.0 -acodec pcm_s16le -vcodec libx264 -vpre lossless_ultrafast -threads 0   -y $NOMBRE.mkv
    ffmpeg -f alsa -ac 2 -i pulse -f x11grab -r $FPS -s ${WIDTH}x${HEIGHT} -i :0.0 -acodec pcm_s16le -vcodec libx264 -threads 0   -y $NOMBRE.mkv

    # -s Indica la resolución. Puede ser: 1024x768, hd720, 640x480, svga).
    # -r Tasa de frames.
    # Lugar en donde el vídeo se va a guardar  (donde se ejecuta el script)
     # mi-video.mkv Nombre y extensión del archivo.(Podemos cambiar el formato, cambiando la extensión ".mkv" )
fi

# Script creado por Scorpyo82 y modificado por Rioport


--------------------------------------------------------------------

Guardáis y le dais permisos de ejecución al archivo, para ello botón derecho sobre el icono y le dais a permisos, y click sobre "Permitir ejecutar" y aceptamos.

Ya solo queda hacer doble click y darle a "ejecutar en una terminal" para grabar el escritorio.

Un saludo a todos.

lunes, 2 de mayo de 2011

Desactivar ACPI desde GRUB

Una de las cosas que podemos hacer para desactivar ACPI para Ubuntu, es hacerlo desde Grub y de esta forma no tener que hacerlo desde la bios que afectaría a todos los sistemas instalados en el PC.


Lo podemos hacer así:
Cuando salga el menú del grub, elige la opción de ubuntu con la que quieres arrancar pero no des intro, dale a la tecla "e".
Te saldrá el editor de esa entrada, busca la linea "Linux" y añade "acpi=off" justo despues de la palabra "ro" quedando así:
ro acpi=off
Ahora aprieta Ctrl+x y arrancarás con esa configuración.
Esta cambio no es permanente, con lo que al reiniciar, tendrías que volver a hacerlo.

Si cuando inicies, notas que todo va bien y quieres hacerlo permanente tienes que modificar el archivo /etc/default/grub y añadir el comando para que quede perpetuo y actualizar el grub.
Sería algo así, abre una terminal:
sudo nano /etc/default/grub
Busca la linea:

GRUB_CMDLINE_LINUX=""
Y añade el comando entre las comillas así:
GRUB_CMDLINE_LINUX="acpi=off"
Luego, aprieta Ctrl+o y da intro para guardar los cambios, luego, Ctrl+x para cerrar el editor.
Ahora, actualiza el grub con los nuevos cambios:
sudo update-grub2
y listo.

Normalmente esto causa daños colaterales, como:

-No poder apagar de forma automática.
-No poder ver niveles de batería y sensores.

En este enlace, iré colocando las soluciones que encuentre para corregir esto.
http://pc-citos.blogspot.com/2011/10/solucion-que-acpioff-cause-problemas.html

Un saludo a todos.