Mostrando entradas con la etiqueta Trucos. Mostrar todas las entradas
Mostrando entradas con la etiqueta Trucos. Mostrar todas las entradas

viernes, 30 de abril de 2010

Conversión con FFMPEG y MENCODER

Hoy os traigo unas cuantas líneas para consola que os pueden resultar útiles a la hora de convertir diversos formatos de vídeo (WMV, ASF, MP4...) incompatibles con programas como el VirtualDub entre otros.

Para archivos ASF o WMV:
mencoder *.ASF -ofps 30 -ovc lavc -oac copy -o out.avi


Para archivos MP4:
mencoder in.MP4 -ofps 30 -ovc lavc -oac pcm -o out.avi


Para insertar subtítulos en un archivo de vídeo:
mencoder in.avi -sub insub.srt -oac copy -ovc lavc -o out.avi -subcp latin1 -font /usr/share/fonts/msttcorefonts/arial.ttf -subfont-text-scale 3.8

mencoder in.avi -sub 1.srt -sub 2.srt -sub 3.srt -oac copy -ovc lavc -o out.avi -subcp latin1 -font /usr/share/fonts/msttcorefonts/arial.ttf -subfont-text-scale 3.8


Para crear un archivo de vídeo a partir de imágenes:
ffmpeg -f image2 -i imagen%04d.jpg video.mpg


Para archivos MTS:
ffmpeg -i in.MTS -vcodec mpeg4 -b 23855k -acodec ac3 -ac 2 -ab 256k -deinterlace -s 1920x1080 out1080.avi


Como veis, las posibilidades son infinitas y estos son sólo algunos escasos ejemplos de todo lo que se puede hacer. Por ejemplo, se puede crear un script para que descargue y convierta automáticamente los archivos de tu videocámara. En mi caso, una Canon LEGRIA HF200, sería algo así:
#!/bin/bash

DIR=$(date +%F)__$(date +%T)

echo " "
echo "MOVING FILES"
echo "---------------"
mkdir /home/eglomer/Imágenes/Canon/$DIR
mv /media/CANON/DCIM /home/eglomer/Imágenes/Canon/$DIR
mv /media/CANON/PRIVATE /home/eglomer/Imágenes/Canon/$DIR
echo "Done"

echo " "
echo "CONVERTING TO AVI"
echo "------------------------"
cd /home/eglomer/Imágenes/Canon/$DIR/PRIVATE/AVCHD/BDMV/STREAM

for i in $(ls *.MTS) ;
do ffmpeg -i $i -f avi -vcodec mpeg4 -b 23855k -acodec ac3 -ac 2 -ab 256k -deinterlace -s 1920x1080 /home/eglomer/Imágenes/Canon/$DIR.-.$i.avi;
done

echo " "
echo " "
echo "DONE!"
sleep 2
exit


O para mi BenQ DC-S30 cuyo formato de vídeo es ASF:
#!/bin/bash

DIR=$(date +%F)__$(date +%T)

echo " "
echo "MOVING FILES"
echo "---------------"
mkdir /home/eglomer/Imágenes/Canon/$DIR
mv /media/disk/DCIM /home/eglomer/Imágenes/Canon/$DIR
echo "Done"

echo " "
echo "CONVERTING TO AVI"
echo "------------------------"
cd /home/eglomer/Imágenes/Canon/$DIR/DCIM/100MEDIA

for i in $(ls *.ASF) ;
do mencoder $i -ofps 30 -ovc lavc -oac copy -o /home/eglomer/Imágenes/Canon/$DIR.-.$i.avi;
done

echo " "
echo " "
echo "DONE!"
sleep 2
exit


Pan comido, ¿verdad?

miércoles, 4 de noviembre de 2009

Texturas S3TC e información varia sobre el sistema

Hace poco, buscando información sobre cómo hacer funcionar un juego bajo Ubuntu, me encontré con este script que recoge información sobre el sistema, en especial sobre la tarjeta de vídeo, y la muestra en la pantalla del terminal, además de crear el archivo diag.txt en vuestro Home. Lo encontré bastante útil, así que aquí os lo dejo. Lo único que siento es no saber quién lo programó :-(

clear ; echo Juntando informacion ; echo -n Informe generado el día `date +%D` > pp; echo "" >> pp; echo "++++++CPU+++++" >> pp; echo "Modelo:" >> pp; (cat /proc/cpuinfo | grep -i "model name" | cut -d: -f2 | grep "" || echo "Sin info") >> pp; echo "MHz:" >> pp; ((cat /proc/cpuinfo | grep 'cpu MHz' | cut -d: -f2 | grep "") || (echo "Sin info" )) >> pp; echo "Cache:" >> pp; (cat /proc/cpuinfo | grep 'cache size' | cut -d: -f2 | grep "" || echo Sin info) >> pp; echo "" >> pp; echo "++++++Distro+++++" >> pp; echo -n Kernel: `((uname -a) || (echo "Sin info"))` >> pp; echo "">> pp; echo -n "Arquitectura: `uname -m`" >> pp; cat /etc/`ls /etc/ | grep -m1 version` > pp1 || echo "Sin info" > pp1 ; echo "" >> pp; echo -n "Num. Ver..: `cat pp1`" >> pp; echo "" >>pp; rm -f pp1; echo "Carga & uptime:"`(uptime || echo "Sin info")` >> pp; echo Beryl: `(ps aux | grep -i "compiz" | grep -iv "grep" && echo "Beryl Compiz ejecutándose" || echo "No se ejecuta")` >> pp; echo "">>pp; echo "" >> pp; echo "++++++Placa de video+++++" >> pp; echo -n "Hardware: " >> pp; (`locate lspci |grep bin| grep -m1 'lspci' || echo 'echo ERROR en buscar un VGA: no se encuentra lspci'` | grep VGA || echo "Sin VGA disponible") >> pp;echo ""; echo "Aceleracion (Direct Rendering):" `( (glxinfo | grep -i "direct rend" | cut -d: -f2 | grep "") || echo "Sin info")` >> pp; echo "OpenGL:" >> pp; ( (glxinfo | grep -i 'opengl') || echo "Sin info") >> pp; echo Extensiones S3TC: ` ( (glxinfo | grep -i 's3tc')|| echo "No habilitadas")` >> pp; echo "" >> pp; echo "++++++Xorg.conf++++++" >> pp; echo Load: `(cat /etc/X11/xorg.conf | grep Load| grep -v '#' | cut -d'"' -f2 | cut -d'"' -f1 | grep "" || echo "No se detectan secciones Load")` >> pp; echo "" >> pp; echo Drivers: `(cat /etc/X11/xorg.conf | grep Driver | grep -v '#'| cut -d'"' -f2 | cut -d'"' -f1 | grep "" || echo "No se detectaron drivers")` >> pp; echo "" >> pp; echo "++++++RAM+++++" >> pp; echo -n "Memoria total: " >> pp; (cat /proc/meminfo | grep -i "MemTotal" | cut -d: -f2 | grep -m1 "" || echo "Sin info") >> pp; echo -n "Memoria libre:" >> pp; (cat /proc/meminfo | grep -i "MemFree" | cut -d: -f2 | grep -m1 "" || echo "Sin info") >> pp; echo "" >> pp; echo "++++++sensores+++++" >> pp; (sensors || echo "No hay sensores") >> pp; echo "" >> pp; echo "++++++HDD+++++" >> pp; (df -hP || echo "No hay info") >> pp; echo "" >> pp; echo "++++++Log de Xorg+++++" >> pp; (cat /var/log/Xorg.0.log | grep -i "(EE)\|(WW)" || echo 'Enhorabuena, no se encontraron errores o advertencias!') >> pp; mv pp $HOME/Desktop/diag.txt || mv pp $HOME/Escritorio/diag.txt || mv pp $HOME/diag.txt; echo "informacion disponible en el escritorio. " ; echo "Detallando informacion a continuacion " ; echo "" ; echo ""; echo "" ; cat $HOME/Desktop/diag.txt || cat $HOME/Escritorio/diag.txt || cat $HOME/diag.txt

También os dejo cómo instalar el programa Driconf, bastante útil sobretodo para activar la compresión de texturas S3TC en caso de no estar activas, opción necesaria para el correcto funcionamiento de muchos juegos. Puedes saber si están activas mediante el script anterior.
sudo aptitude update
sudo aptitude install driconf

Y para ejecutarlo
sudo driconf

VirtualBox, otros sistemas operativos en tu Ubuntu

VirtualBox es un emulador de ordenador donde puedes crear diversos ordenadores virtuales e instalar en ellos diferentes sistemas operativos como Windows u otras distribuciones linux. Esto resulta bastante útil cuando no encuentras ninguna alternativa libre y/o decente a algún programa que tenías en tu anterior sistema operativo.

Para instalarlo, basta con entrar en su web de descarga y elegir la versión que más convenga. Probablemente al intentar instalarlo Ubuntu nos avise de que existe alguna versión anterior en los repositorios, pero, personalmente, prefiero tener la última versión y no esperar a que actualicen los repositorios.

Durante la instalación se nos avisará de que es necesario añadir nuestro usuario a la lista de usuarios de VirtualBox. Este proceso suele ser automático, pero si por algún casual no se realiza, se puede solventar fácilmente desde un terminal mediante la instrucción:
sudo adduser USUARIO vboxusers
reemplazando USUARIO por vuestro nombre de usuario y reiniciando el sistema.

Para aquellos que instaléis Windows en VirtualBox, os aconsejo encarecidamente que instaléis Guest Additions para una mejor integración del sistema con el escritorio de Ubuntu. Es tan fácil como ir a
Dispositivos -> Instalar "Guest Additions"

El programa descargará automáticamente una imagen .iso que deberemos montar para instalarla en Windows.

También podremos hacer uso de nuestros discos duros y todos nuestros archivos desde Windows. Para ello hay que ir a
Dispositivos -> Directorios compartidos
y añadir aquellos directorios que queremos tener disponibles en Windows. Por ejemplo, en el caso del Home podríamos añadirlo introduciendo la siguiente configuración:
folder path: /home/USUARIO
folder name: Home
Marcar casilla "Hacer permanente" y dejar sin marcar la casilla "Sólo lectura"

En el caso de querer añadir una partición, el folder path debería ser del tipo
/media/PARTICION

Nota: no os molestéis en añadir cualquier dispositivo USB aquí, ya que los podréis "conectar" y "desconectar" fácilmente desde
Dispositivos -> Dispositivos USB

Para hacer que Windows monte estas carpetas compartidas, hay que ir a
Inicio -> Ejecutar
y poner la siguiente línea
net use z: \\vboxsrv\NOMBRE_CARPETA_COMPARTIDA

por ejemplo, para el Home sería
net use z: \\vboxsrv\Home

Esto nos creará una nueva unidad en Mi PC que nos dará acceso a los archivos de la carpeta compartida.

Si queremos añadir otra carpeta, deberemos tener en cuenta que hay que cambiar la letra de la unidad, porque si no lo que harás será "desmontar" una carpeta para "montar" la otra encima.
net use y: \\vboxsrv\NOMBRE_CARPETA_COMPARTIDA_1
net use z: \\vboxsrv\NOMBRE_CARPETA_COMPARTIDA_2

Por último, veamos como automatizar este proceso para que se realice al iniciar Windows.
- Abrimos el Bloc de notas.
- Escribimos la instrucción de montaje tantas veces como carpetas compartidas queramos que se inicien:
net use y: \\vboxsrv\NOMBRE_CARPETA_COMPARTIDA_1
net use z: \\vboxsrv\NOMBRE_CARPETA_COMPARTIDA_2
...
- Guardamos el archivo con la extensión .bat. Si al guardar os sale el archivo con el nombre archivo.bat.txt, borrad el .txt.
- Añadimos el archivo .bat al inicio de Windows. Para ello, ve al Menú Inicio -> Todos los programas y haz doble click en Inicio para que se te abra la carpeta a la que hace referencia. En esta carpeta crearemos un acceso directo de nuestro archivo .bat y listo. Basta con reiniciar el sistema y probar si se ha realizado con éxito.

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

Solucionar problemas con Intelppm.sys y processr.sys:

Si tenéis problemas a la hora de arrancar vuestro Windows y la causa es uno de estos dos archivos, se puede solucionar de la siguiente manera:
- Entra a Windows en modo seguro con funciones de red (F8 al arrancar Windows).
- Inicio-Ejecutar
- Escribid regedit y dadle a aceptar.
- Id a y/o a HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ProcessorHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Intelppm
- Cambiad el valor de la clave start de 1 a 4, y de este modo desactivaremos estos drivers que hacen que nuestro sistema se vuelva inactivo.


Autoejecución de programas al incio

Para añadir o quitar programas que se ejecuten al iniciar el equipo basta con ir a
Sistema -> Preferencias -> Aplicaciones al inicio

Se te abrirá un panel desde el que poder Añadir, Borrar o Modificar los parámetros de las aplicaciones que se iniciarán con el ordenador.

Dar a tu usuario privilegios de root

Si lo que quieres es no tener que recurrir a la consola para realizar acciones como root ni cambiar de sesión, lo que puedes hacer es dar a tu usuario privilegios de root. Para ello, abrimos un terminal y escribimos:
su
nano /etc/sudoers

En el documento que se nos abre, debemos buscar la línea donde aparecen los privilegios del root y añadir debajo el nombre de nuestro usuario con el siguiente esquema:
# User privilege specification
root ALL=(ALL) ALL
usuario ALL=(ALL) ALL
Una vez modificado el archivo:
Control+O para guardar.
Control+X para salir.
Y listo.

También podemos abrir el nautilus en modo superusuario para realizar cambios puntuales que requieran privilegios de root. Para ello, bastará con ejecutar en un terminal:
sudo nautilus

lunes, 14 de septiembre de 2009

Automontaje de unidades secundarias

Si tenéis más de un disco duro o partición habréis notado que Ubuntu, al iniciar, sólo monta automáticamente la principal, por lo que el montaje del resto debemos hacerlo manualmente. Esto es un poco incordio cuando tenemos algún programa con carpetas de esas otras unidades linkadas a él, ya que si no están montadas da error. Pues bien, para solucionar este problema y que Ubuntu monte automáticamente el resto de unidades, basta con hacer lo siguiente:
sudo gedit /etc/hal/fdi/policy/preferences.fdi

Esto editará un documento en el que tendremos que buscar la línea
merge key="storage.automount_enabled_hint" type="bool">true< /merge>

y cambiar el false por true.

Los cambios tendrán efecto al reiniciar el equipo.


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

Para Ubuntu 9.10 basta con instalar la aplicación MountManager del centro de software, abrirlo (Sistema -> Administración -> MountManager) y darle a
Partition -> Aplicar
Reinicias el PC y listo.

domingo, 13 de septiembre de 2009

Archivos ejecutables .sh

Los archivos .sh son el equivalente linuxiano de los archivos .bat de Windows, es decir, archivos que contienen una serie de instrucciones de comando que se ejecutan a la vez al lanzar el archivo que los contiene.

Para crear este tipo de archivos, basta con hacer clic con el botón derecho en cualquier lugar, por ejemplo el escritorio, y crear un documento nuevo como archivo vacío. Le daremos un nombre cualquiera y le añadiremos la extensión .sh (por ejemplo: archivo.sh).

Una vez creado, lo abriremos con un editor de textos y crearemos el contenido en base al siguiente esquema:
#!/bin/bash
[comando1]
[comando 2]
[...]

Por ejemplo, retomando mi post anterior sobre los cambios de direcciones MAC, podemos crear un .sh para automatizar el proceso de cambio de dirección con el siguiente contenido:
#!/bin/bash
sudo ifconfig eth0 down
sudo ifconfig eth0 hw ether xx:xx:xx:xx:xx:xx
sudo ifconfig eth0 up

Una vez creado nuestro archivo ejecutable, bastará con concederle permisos de ejecución mediante la instrucción
chmod 775 archivo.sh

También podemos concederle estos permisos entrando en las Propiedades del archivo (clic derecho) y seleccionando la casilla Permitir ejecutar el archivo como un programa de la pestaña Permisos.

Conocer y Cambiar dirección MAC

La dirección MAC es una dirección única que se da a una tarjeta de red y que viene dada por los fabricantes, por lo que no pueden existir dos tarjetas de red que compartan la misma dirección MAC. Esto es aprovechado por algunas compañías, como ONO, para configurar sus módems de forma que sólo puedan ser utilizados por el ordenador al que lo enchufan a la hora de configurar la conexión, de modo que si conectas otro PC no podrá disponer de internet a no ser que llames a la compañía. Sin embargo, podemos utilizar un pequeño truco para "cambiar" la dirección MAC de otra tarjeta, dándole la misma MAC que tiene el módem configurada para poder disponer de internet en varios ordenadores.

Lo primero que debemos hacer es averiguar la dirección MAC del ordenador de origen. Para ello, basta con utilizar el comando
ifconfig

Una vez obtenida la dirección MAC, deberemos hacer lo siguiente en el ordenador de destino, cambiando las XX por la dirección MAC que corresponda:
sudo ifconfig eth0 down
sudo ifconfig eth0 hw ether XX:XX:XX:XX:XX:XX
sudo ifconfig eth0 up

Hecho esto, la dirección MAC del PC de destino será igual a la del PC de origen, por lo que el módem lo aceptará como "válido" y le proveerá de internet.

Cabe destacar el hecho de que este cambio de MAC desaparecerá al reiniciar el PC, por lo que se deberá hacer el cambio cada vez que se inicie el ordenador. Para facilitar esto, os recomiendo que os paséis por mi siguiente entrada en la que hablaremos de los archivos .sh

¿Control + Alt + Suprimir?

Una de las cosas que más he echado en falta en Ubuntu ha sido el que, al presionar Control + Alt + Suprimir no apareciese el Monitor del sistema para "matar" alguna aplicación que se ha quedado colgada (sí, puede pasar aunque algunos se empeñen en decir lo contrario). Normalmente, si Ubuntu detecta que algún programa no responde, te avisa y te da la opción de forzar el cierre. Cuando esto no ocurre, podemos acabar con ese programa de dos formas distintas.

Desde el Monitor del Sistema
Para acceder a él, basta con entrar a
Sistema -> Administración -> Monitor del Sistema

Desde el terminal
Lo que haremos en este caso será lo siguiente:
· Pulsar Control + Alt + F2
· Introducir el nombre de usuario y la contraseña (yo suelo utilizar el root para evitar problemas de permisos).
· Buscar el número PID del programa que queremos cerrar. Para ello escribid
ps -e | grep [nombre_del_programa]
por ejemplo:
ps -e | grep firefox
y nos aparecerá algo así:
3770 ? 00:10:08 firefox
· Matar el proceso con kill [PID] por ejemplo:
kill 3770 en el caso de firefox
· Por último, volver a nuestra sesión gráfica con Control + Alt + F7

Usuario Root

El root es la cuenta del superusuario, por lo que es aconsejable asignarle una contraseña, además de habilitarle la entrada en modo gráfico para evitar historias con el terminal.

Para cambiar la contraseña del root basta con escribir en la consola:
sudo -u root [contraseña]

Para acceder al modo superusuario desde la consola, escribid:
su

Para permitir el ingreso del root en modo gráfico, hay que hacer:
· Sistema -> Administración -> Ventana de Entrada.
· En la pestaña seguridad, marcar la opción: Permitir entrada local al administrador del sistema.