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.
No hay comentarios:
Publicar un comentario