Blog sin Chance

Un pequeño blog para un particular personaje que en rigor no tiene chance :(

jueves, agosto 27, 2009

Pegar subtitulos a un video en linux

En muchas oportunidades se necesita subir un video a youtube, o reproducirlo en algun equipo que desgraciadamente no tiene la capacidad para reproducir los subtitulos junto con el video, buscando por ahí en mi necesidad de hacerlo, me encontré con una pila de manuales, pero como estamos en Linux, no es necesario un editor de video grotesco y parafernálico para poder hacerlo, sino que también podemos con un simple comando lograrlo, fácil, simple y rápido. Para hacerlo necesitamos primero es un paquete llamado mencoder, que es un decodificador libre, por lo que es necesario instalarlo.

dependiendo de la distro lo instalan..

apt-get install mencoder ; emerge mencoder; yum install mencoder; etc..

y luego podremos recodificar nuestro video con los subtitulos pegados con el siguiente comando:

mencoder video_original -sub subtitulo.str -oac copy -ovc xvid -xvidencopts pass=1 -o video_nuevo -subcp utf-8 -font ruta_de_la_fuente -subfont-text-scale x.x

así podremos pegar simple y fácilmente nuestros subtítulos a los videos en linux.

para ver el asunto de la ruta de la fuente podemos poner por ejemplo, -font $(locate arial.ttf),
el argumento -subfont-scale determina el tamaño de la fuente puede ser 3.5 o 4.0, etc.. y el -ovc determina el códec de video que se usará para el nuevo video.

Espero les sirva tanto para ustedes como para mi que siempre se me olvidan comandos como este xD..

Saludos.

Encontrado en: pctux

domingo, junio 07, 2009

Instalando Madwifi para Atheros AR242x en Debian Lenny

Hola a todos..

Esta vez en cocinando en el blog sin chance vamos a ver como instalar el driver de Madwifi en un notebook Compaq de la serie F700, específicamente en el F752la.

Al comprar éste notebook, nos encontramos con la magnífica sorpresa de que viene con la basura de sistema operativo llamado Windows Vista... con lo que por razones obvias nos vemos en la obligación de cambiarnos de sistema operativo, pero oh!.. también tenemos el problema que nuestros amigos de Redmond ni los fabricantes de los componentes de éste note le dan soporte de su hardware a Wintendo XP, por lo que le hacen un favor al mundo del FLOSS y llevan a muchos usuarios a migrar y a probar otros sistemas operativos NO-Microsoft.. pero también nos encontraremos que muchos de los fabricantes tampoco piensan en darle soporte de su hardware a éste sistema operativo (recuerdo haber leído por ahí un "olvidalo pingüino desgraciado"), pero gracias a los verdaderos genios: los desarrolladores de controladores para linux, podemos disfrutar de soporte para nuestros componentes.

y por lo mismo tenemos el agrado de crear éste pequeño manual para levantar la wifi de nuestro note F700, del que luego de instalar debian lenny, no funciona =S.. googleando, me encontré con unos cuantos manuales pero ninguno funcionó ya que el link hacia el paquete del madwifi estaba roto, por lo que, husmeando por ahi encontré el paquete para nuestro chip y realicé lo explicaremos en este mini manual (tb para mi en caso que necesite hacerlo de nuevo y se me olvide xD).

bueno, sin más, abrimos una consola, nos logueamos como root (con su) y tipeamos nuestro famoso

#lspci

nos encontraremos con la siguiente salida:

03:00.0 Ethernet controller: Atheros Communications Inc. AR242x 802.11abg Wireless PCI Express Adapter (rev 01)

nuestro lspci nos indica que contamos con le chip AR242x, pero realmente el modelo que tenemos es el AR5007, pero inclusive los paquetes madwifi-tools o madwifi-source no detectan éste chip, por lo que otra opción seria migrar el driver de Windows a linux a través de ndiswrapper, pero TUM!.. necesitamos el driver de éste chip para XP, por que el de vista, en el mejor caso, funciona de repente, sin contar que cuesta demasiado encontrar uno que funcione =S..

entonces, lo que haremos luego será matar el módulo que levanta Debian aunque no sirva:

#rmmod ath5k

luego enviamos a la lista negra a nuestro módulo para que no se cargue, con nuestro editor favorito (en mi caso nano :P) abrimos el siguiente archivo:

/etc/modprobe.d/blacklist

y agregamos

blacklist ath5k

luego instalamos lo que necesitamos para instalar:

#apt-get install build-essential linux-headers-$(uname -r)

y nos bajamos el siguiente archivo con:

#wget -c http://snapshots.madwifi-project.org/madwifi-hal-0.10.5.6/madwifi-hal-0.10.5.6-r4031-20090529.tar.gz

luego aplicamos un:

#tar -xzvf madwifi-hal-0.10.5.6-r4031-20090529.tar.gz && cd madwifi-hal-0.10.5.6-r4031-20090529

aplicamos un

#make

luego un

#make install

y después un

#modprobe ath_pci

con ésto ya deberíamos tener activado nuestro dispositivo.

pero necesitamos que cargue cada vez que arranquemos nuestro sistema, por lo que nuevamente con nuestro editor favorito modificamos el archivo:

/etc/modules

y agregamos:

ath_pci

para activar el wifi, damos un

#ifconfig ath0 up

y probamos si funciona con un

#iwlist ath0 scan

encontraremos un par de redes y nos podremos conectar, recuerden tener instalados también los paquetes para administrar redes, como el network-manager, wireless-tools etc..

y voilà..

saludos.

domingo, diciembre 09, 2007

Puerta Automatica en OpenGL

Uno de mis amigos (Jaime Espinoza, estudiante Ing Informática, UPLA) está en un arduo trabajo para crear un pequeño juego 3D en OpenGL, bueno estuve con el la semana pasada lo estaba desarrollando yo hacia lo mismo para una aplicación en Java.

Hace un par de días atrás me contó que uno de los algoritmos con los que se está cabeceando ya está listo, éste es el de que, al acercarse a una puerta, ésta se abra. Sinceramente para que ésto ocurra hay que complicarse bastante calculando los puntos de intersección entre la cámara y la representación. Ahora aunque no está listo acá hay un pequeño video para ver el funcionamiento de este algoritmo concretamente.



Luego de la entrega de el proyecto, podremos publicar el código, previo consentimiento de mi amigo, quien lo realizó obviamente.

Saludos.

Cubo rotando con imagen bitmap en OpenGL para C

Este fué el programa que presenté para la exposición de software de la carrera de informática de mi Universidad el año pasado.

Consiste básicamente en el uso de algoritmos y rutinas utilizadas por la API de OpenGL en C para generar un cubo compuesto por 6 polígonos y que en cada cara se encuentra empotrada una imagen .bmp, que en este caso, es el logo de mi carrera.

acá pueden descargar el código que realicé, espero les guste y cualquier duda la respondo (si es que la se).

El cubo debe verse mas o menos así:



Ah!, me olvidaba, para poder compilar en OpenGL, necesitas tener instaladas las librerías para C de la API


Obtener de la red los archivos cabecera y las librerias para compilar:
En l visual studio vienen algunas librerias de opengl, pero no siempre es así
las pueden obtener en http://www.opengl.org.

Los archivos necesarios son:

Archivos cabecera: gl.h, glut.h, glu.h y glaux.h Ficheros
de cabecera


Librerias estáticas: opengl32.lib, glu32.lib, glut.lib y glaux.lib
Bibliotecas estáticas

Librerias dinámicas: opengl32.dll, glu32.dll, glut32.dll
Bibliotecas dinámicas


  • Copiar los archivos cabecera en la direccion: c:/Archivos de programa/Microsoft
    Visual Studio/VC98/include/gl.


  • Copiar las librerias estáticas
    en c:/Archivos de programa/Microsoft Visual Studio/VC98/Lib
  • y las librerias dinámicas en C:/windows/system.

  • Quizá los archivos opengl32.lib, opengl32.dll , gl.h y glu.h, ya estén
    en estas carpetas, por que el Visual generalmente las incluye. Pero si no están instalados, los puedes obtener desde opengl.org.

  • Saludos.

    PD: el código fué compilado en Visual C++ 6.0 y puede tirar algunos errores de compilación parecidos a éstos.

    VC6 error LNK2001: unresolved external symbol _auxDIBImageLoadA@4


    éstos errores se solucionan oprimiendo ctrl+F7 ó llendo a Project->Settings luego a la pestaña links se deben agregar las siguientes librerías:

    glut.lib glu32.lib glaux.lib glut32.lib opengl32.lib

    y se vuelve a compilar voilà.

    Programas

    Hola, luego de algunos comentarios y sugerencias por parte de amigos, he decidido mostrar parte de mis trabajos y los de mis compañeros.. entre los que se cuentan aplicaciones en Java, C, C++, OpenGL, PHP y otros...

    espero os guste...

    jueves, septiembre 20, 2007

    Instalando driver libre de Ati en Debian etch

    Uno de los cachos mas grandes de Linux siempre ha sido el soporte de hardware, particularmente de Ati, quienes desde las primeras distribuciones, han dado un soporte prácticamente nulo y han emitido drivers para su hardware de rendimiento paupérrimo en todos los matices... pero esto ahora ha cambiado un poco ya que en el último tiempo algunos los papis mundiales del ensamblado de computadores han adoptado al pingüino como sistema operativo en una parte de sus productos y le han tirado la oreja a la gente de Ati y a la vez de AMD, dueña de ésta.

    Pero eso por ahora es parte de la historia, ya que AMD anunció que se rajará con las especificaciones de las tarjetas de video Ati para tener un libre desarrollo de los controladores de su hardware, de hecho dijeron que ya estaban trabajando con firmas desarrolladoras de software libre para la emisión de estos drivers.. lo que no se sabe en realidad es ¿Cuándo estarán listos?.

    Bueno por mientras esperamos, les dejo un manualcito para instalar los drivers libres de Ati conocidos como fglrx en la versión estable de Debian, en realidad no es un gran calvario instalarlos como muchos dicen, al menos a mi me funco impeque en mi radeon express 200M, simplemente sigan los pasos jeje..

    ingredientes:
    -Debian etch
    -consola (konsole, xterm, etc..)
    -Apt
    -La tarjeta ati (por supuesto..)
    -driver fglrx (lo descargaremos mediante apt)

    si desean pueden llegar, copiar y pegar en la consola los comandos que necesitan:
    1. abrimos una consola (Konsole, Xterm, etc..) y entramos como root mediante su, (necesitas la contraseña de root)
      su
    2. con un editor de texto (en este caso usaremos nano, pero puedes usar el que se te antoje) agregamos las fuentes Non-Free al archivo de repositorios
      nano /etc/apt/sources.list
    3. abajo de todo el aparataje, agregas esta línea (para pegar sobre consola el portapapeles de linux lo podemos hacer mediante shift+insert)
      deb http://http.us.debian.org/debian/ etch main contrib non-free
    4. luego de agregarlo para salir de nano si no lo has ocupado antes es ctrl+x, luego S para guardar el nuevo archivo sources.list y enter
    5. cerramos y actualizamos la lista de fuentes
      apt-get update
    6. instalaremos los paquetes que necesitaremos
      apt-get install fglrx-control fglrx-driver fglrx-kernel-src module-assistant mesa-utils build-essential
    7. compilamos el módulo (cada linea es un comando diferente)
      cd /usr/src

      m-a prepare

      m-a a-i fglrx
    8. Antes de lo lindo, les recomiendo respaldar la configuracion del Xorg (nunca está demás)
      cp /etc/X11/xorg.conf /etc/X11/xorgviejo.conf

    9. Ahora viene lo lindo: configurar el Xorg, con un editor de texto modificaremos el xorg.conf
      nano /etc/X11/xorg.conf
    10. Buscamos la sección "Module" (con comillas) y agregamos al final "fglrx" (también con comillas)
      Section "Module"
      Load "i2c"
      Load "bitmap"
      Load "ddc"
      Load "dri"
      Load "extmod"
      Load "freetype"
      Load "glx"
      Load "int10"
      Load "vbe"
      Load “fglrx”
    11. Buscamos la sección "Device" cambiamos la parte que dice "Vesa" por "fglrx", y agregamos las lineas Option “VideoOverlay” “on” y Option “OpenGLOverlay” “off”, NO CAMBIEN NADA EN Identifier NI EN BusID
      Section "Device"
      Identifier "Tarjeta de vídeo genérica"
      Driver "fglrx"
      Option "VideoOverlay" "on"
      Option "OpenGLOverlay" "off"
      BusID "PCI:3:0:0"
    12. Cierran el archivo (ctrl+x si estan usando nano), lo guardan (S, Enter si estan usando nano) y luego ponen lo siguiente (cada línea es un comando diferente):
      aticonfig --initial

      aticonfig --overlay-type=Xv
    13. Cerramos la sesion y entramos a una terminal aplicando crtl+f1, aparecerá solo la interfaz de comandos y nos pedirá logearnos, lo hacemos como root con su respectiva contraseña
    14. Dentro de la interfaz de comandos y logeados, pararemos la X (no se asusten solo la detendremos momentaneamente mientras levantamos los modulos del driver)
      en Gnome:
      /etc/init.d/gdm stop
      en Kde:
      /etc/init/kdm stop
    15. Montamos los módulos (cada línea es un comando)
      modprobe -r radeon

      modprobe fglrx
    16. Levantamos nuevamente la X
      en Gnome:
      /etc/init.d/gdm start
      en Kde:
      /etc/init/kdm start
    17. revisamos si tenemos aceleración
      glxinfo

      la salida debería ser algo como esto:
      name of display: :0.0
      display: :0 screen: 0
      direct rendering: Yes
      server glx vendor string: SGI
      server glx version string: 1.2
      server glx extensions:
    18. Si te lanzó una salida como la anterior es por que ya está listo y funcionando el driver, ahora si quieres saber el rendimiento (FPS) debes hacer lo siguiente
      glxgears --printfps
      la salida debería ser algo como esto (varía según el hardware que tengas):
      1147 frames in 5.0 seconds = 229.260 FPS
    Y eso sería todo... consultas, comentarios, etc pueden hacerlo en la parte de consultas

    Esto me lo traje de ¡Siempre LinuX! y al menos aca estamos esperando un soporte mejor por parte de Ati-AMD para los drivers de Linux...

    salud.

    sinchance's blog