Archive for the 'GNU/linux' Category

25th Oct 2008

Documentacion PyGame

PyGame es un conjunto de módulos de python que nos permite desarrollar Video Juegos en 2D de forma rápida y sencilla.

También se ha usado para desarrollar aplicaciones multimedia dándole una elegancia profesional. Existen competencias en linea como la PyWeek donde los competidores tienen una semana completa para desarrollar un video-juego creativo y divertido.

Yo hace poco me uní a los fans de desarrollo de python, y desde hace pocos meses empece a usar PyGame, por lo que requería la poca documentación que existe en el sitio web oficial pero sin tener que estar conectado a Internet siempre.

Así que aquí pongo a su disposición la documentación actual.

Descargar Doc PyGame

Posted in CSS, GNU/linux, programacion, python, sobre el ITC, software libre | 1 Comment »

23rd Oct 2008

Compilar Python a ByteCode

La forma de correr un programa echo en python normalmente es como un script:

$ python programa.py

Pero existe la formar de obtener un ByteCode de python y obtener mejor rapidez en nuestras aplicaciones. Python está escrito en C, por lo que convertir un código de python a ByteCode resulta accesible, este ByteCode generado es puede ejecutarse gracias a CPython Interpreter.

La manera de hacerlo es la siguiente

1. Entramos al interprete de python.

$ python

2. Una vez dentro, importamos nuestro modulo a compilar

>>> import mimodulo

3. Ahora debemos importar una librería que nos permitirá compilar nuestro modulo ya importado

>>> import py_compile

4. Ejecutamos la función y compilamos.

>>> py_compile.compile("mimodulo.py")

5. Y listo. Ahora podemos correr nuestro programa ByteCode.

$ chmod +x mimodulo.pyc
$ ./mimodulo.pyc

Enlaces:

effbot.org

Posted in GNU/linux, programacion, python, sobre el ITC | 1 Comment »

08th Oct 2008

OpenGL en C + Anjuta + Linux

Algunos de nosotros nos gusta programar de vez en cuando en C, C++, y hay otros a quienes nos gusta hacerlo en un simple editor de texto.

Bien, para los que gustan de usar IDE’s al estilo Dev-C, en linux contamos con Anjuta, que nos proporciona una interfaz muy agradable y capas de personalizarse a través de plug-ins.

Para rematar, intentaremos programar algo con las librerías OpenGL.

Instalamos los compiladores necesarios para trabajar con C como lo son gcc, g++ y g77:

$ sudo apt-get install gcc g++ g77 make

Instalamos las librerías:

$ sudo apt-get install freeglut3 freeglut3-dbg freeglut3-dev

Instalamos Anjuta:

$ sudo apt-get install anjuta

Y listo, ahora, manos a la obra, abrimos Anjuta y empezamos a trabajar.

Abrimos Anjuta.

Creamos un nuevo proyecto :: Archivo->Nuevo->Proyecto

Del tipo C++ Genérico:

Llenamos los datos necesarios:

Le decimos el destino donde se guardara nuestro proyecto, así como decimos No al soporte para bibliotecas compartidas, internacionalización, y paquetes externos ya que todo esto lo podemos hacer trabajando sobre el proyecto:

Ya casi terminamos el proyecto. Solo confirmamos lo anterior:

Por último, solo falta decirle que editor nos gustaría utilizar para programar, en lo particular me gusta Scintilla.

Ahora si, a programar. En este caso, yo metí un código muy sencillo y traté de compilarlo, y esto fue lo que obtuve (pueden bajar el programa de aqui).

Es decir, no pude compilarlo “Completado incorrectamente”, el motivo es predecible, como estoy utilizando la librería GLUT de OpenGL, necesito indicarle al compilador que haga uso de ella. En modo consola solo escribíamos:

g++ -O programa.cc -o programa -lglut

Utilizando Anjuta es solo cuestión de indicarselo. Damos click en la pestaña Proyecto, luego click derecho sobre nuestro proyecto, propiedades y añadimos el argumento como se muestra en la imagen.

Ahora si, compilamos, y listo, vemos el resultado de nuestro trabajo.

Eso es todo, ahora podremos programar C/C++ en Anjuta sobre Linux.

Dudas y preguntas, por favor, comentenlas.

Posted in C, GNU/linux, codigos, programacion | 8 Comments »

30th Sep 2008

Convertir FLV a MP4 en Linux con Flv2Mpeg4

Ayer por la tarde traté de convertir un video del tipo flv que descargamos de youtube al formato mp4 con ffmpeg.

Pensé que la cosa sería sencilla, convertir a otros formatos es simple, pero creo que se complico mas de lo que imaginaba.

ffmpeg funciona perfecto convirtiendo flv a avi por ejemplo.

$ ffmpeg -i video.flv video.avi

pero al tratar de hacerlo para mp4 parece no soportar el codec.

$ ffmpeg -i video.flv video.mp4
FFmpeg version SVN-rUNKNOWN, Copyright (c) 2000-2007 Fabrice Bellard, et al.
 configuration: --enable-gpl --enable-pp --enable-swscaler
--enable-pthreads --enable-libvorbis --enable-libtheora --enable-libogg
--enable-libgsm --enable-dc1394 --disable-debug --enable-shared
--prefix=/usr
 libavutil version: 1d.49.3.0
 libavcodec version: 1d.51.38.0
 libavformat version: 1d.51.10.0
 built on Jul 23 2008 22:38:24, gcc: 4.2.3 (Ubuntu 4.2.3-2ubuntu7)

Seems stream 0 codec frame rate differs from container frame rate: 1000.00
(1000/1) -> 30.00 (30/1)
Input #0, flv, from 'Santa Sabina.flv':
 Duration: 00:08:02.6, start: 0.000000, bitrate: 64 kb/s
 Stream #0.0: Video: flv, yuv420p, 320x240, 30.00 fps(r)
 Stream #0.1: Audio: mp3, 22050 Hz, mono, 64 kb/s
Output #0, mp4, to 'video.mp4':
 Stream #0.0: Video: mpeg4, yuv420p, 320x240, q=2-31, 200 kb/s, 30.00 fps(c)
 Stream #0.1: Audio: 0x0000, 22050 Hz, mono, 64 kb/s
Stream mapping:
 Stream #0.0 -> #0.0
 Stream #0.1 -> #0.1
Unsupported codec for output stream #0.1

Así que trate de buscar alguna manera de hacerlo, pero no logre nada. Buscando encontré una utilidad llamada flv2mpeg4 que viene incluida en los repositorios de getDeb, así que me propuse a bajarla e instalarla.

Primeramente debemos instalarnos unas librerías/codecs necesarias para poder hacer las conversiones.

$ sudo apt-get install libavcodec-dev libavformat-dev libavutil-de

Descargamos flv2mpeg4 desde aquí, y lo instalamos.

$ sudo dpkg -i flv2mpeg4_0svn3-2~getdeb1_i386.deb

Listo, ya lo tenemos instalado.

Para convertir un video formato flv a mp4 simplemente hacemos

$ flv2mpeg4 video.flv video.mp4

Posted in GNU/linux, software libre, utilerias | No Comments »