Blog de Abelardo Jara Berrocal: Ubuntu, electronica y software libre

Septiembre 30, 2008

Instalar Flash Player 10 en Ubuntu AMD64

Archivado en: Linux Ubuntu Administracion — Abelardo Jara @ 1:52 am
Flash Player 10

Flash Player 10

Nota muy importante: Adobe ya ha liberado Adobe nativo de 64 bits, les recomiendo seguir los pasos de esta nueva guia:

HACER CLICK EN ESTE LINK ->

Instalar Adoble Flash Player 10 de 64 bits en Ubuntu Hardy y superiores

Anterior guia empieza aqui:

Recientemente he tenido el problema de que Mozilla Firefox en Ubuntu pone de repente los cuadros donde hay animaciones de Flash (como en Youtube) como cajas grises y la unica solucion es reiniciar Ubuntu. Lei en un forum que es debido a un fallo de segmentacion del programa dado que Adobe nunca ha publicado reproductores de Flash para arquitecturas de 64 bits de modo que en Ubuntu 64 tenemos que usar algunos trucos para podeer ejecutar Flash.

Sin embargo, para poder solucionar este problema una alternativa es actualizar a Flash Player 10, sin embargo este tiene librerias tambien de 32 bits. Exite un excelente programa para Ubuntu 64 llamado getlibs que permite instalar las librerias que sean necesarias por cualquier programa de 32 bits que querramos instalar.

Primero debemos agregar los repositorios de getlib en nuestro /etc/apt/sources.list

#Repositorios para Flash
deb http://ppa.launchpad.net/intuitivenipple/ubuntu hardy main
deb-src http://ppa.launchpad.net/intuitivenipple/ubuntu hardy main

Luego hacemos un apt-get update

Y finalmente hacemos un:

>> apt-get install getlibs

Ahora, podemos ya instalar el Flash Player 10, para eso debemos crear un script de shell:

gedit flash_installer.sh

Y copiamos dentro lo siguiente:

#!/bin/bash
# Script  created by
# Romeo-Adrian Cioaba romeo.cioaba@spotonearth.com
# Super minor updates by jason.melton[at]gmail[dot]com
# Released under GPL

echo “Stopping any Firefox that might be running”
sudo killall -9 firefox

echo “Removing any other flash plugin previously installed:”
sudo apt-get remove -y –purge flashplugin-nonfree gnash gnash-common mozilla-plugin-gnash swfdec-mozilla libflashsupport nspluginwrapper
sudo rm -f /usr/lib/mozilla/plugins/*flash*
sudo rm -f ~/.mozilla/plugins/*flash*
sudo rm -f /usr/lib/firefox/plugins/*flash*
sudo rm -f /usr/lib/firefox-addons/plugins/*flash*
sudo rm -rfd /usr/lib/nspluginwrapper

echo “Installing ia32-libs and nspluginwrapper”
sudo apt-get install ia32-libs nspluginwrapper

echo “Getting libs”
sudo getlibs -p libcurl3
sudo getlibs -p libnss3-1d
sudo getlibs -p libnspr4-0d

echo “Installing Flash Player 10″
cd ~
wget http://download.macromedia.com/pub/labs/flashplayer10/flashplayer10_install_linux_091508.tar.gz
tar zxvf flashplayer10_install_linux_091508.tar.gz
sudo cp install_flash_player_10_linux/libflashplayer.so /usr/lib/mozilla/plugins/
rm -rf ~/install_flash_player_10_linux/
sudo nspluginwrapper -i /usr/lib/mozilla/plugins/libflashplayer.so

echo “Linking the libraries so Firefox can find it.”
sudo ln -sf /usr/lib/nspluginwrapper/plugins/npwrapper.libflashplayer.so /usr/lib/mozilla/plugins/
sudo ln -sf /usr/lib/nspluginwrapper/plugins/npwrapper.libflashplayer.so /usr/lib/firefox-addons/plugins/

echo “Done :-)

Grabamos y salimos, luego lo hacemos este script ejecutable:

chmod +x flash_installer.sh

Finalmente lo ejecutamos:

>> sudo ./flash_installer.sh

Este script hara toda la tarea por nosotros, removera la version anterior de Flash (la 9) e instalara los programas nuevos requeridos.

Listo, ahora tendras Flash Player 10 en tu Ubuntu :)

Espero que les haya sido util.

Septiembre 27, 2008

Creando un programa paralelo en OpenMP

Archivado en: Programacion C++ en Linux — Abelardo Jara @ 3:03 am

OpenMP es una API que nos permite añadir concurrencia a las aplicaciones mediante paralelismo con memoria compartida. Se basa en la creación de hilos de ejecución paralelos compartiendo las variables del proceso padre que los crea.
Esta disponible en multiples plataformas y lenguajes, desde las derivadas de UNIX hasta las plataforma Windows. Existen extensiones para los lenguajes más conocidos como C, C++, Fortran

OpenMP se basa en el modelo fork-join, paradigma que proviene de los sistemas unix, donde una tarea muy pesada se divide en K hilos (fork) con menor peso, para luego “recolectar” sus resultados al final y unirlos en un solo resultado (join)

Si deseas instalar soporte para compilar programas en procesodores multicore corriendo Ubuntu, puedes instalar las cabeceras y librerias con un simple:

>> sudo apt-get install gcc-4.2-multilib gcc-4.2-base

Si haces un programa lo debes compilar como:

>> g++ test.cpp -lgomp

Adjunto un programa de prueba usando OpenMP (observen la cabecera omp.h)

/******************************************************************************
* FILE: omp_getEnvInfo.c
* DESCRIPTION:
*   OpenMP Example – Get Environment Information – C/C++ Version
*   The master thread queries and prints selected environment information.
* AUTHOR: Blaise Barney  7/06
* LAST REVISED: 07/12/06
******************************************************************************/

#include <omp.h>
#include <stdio.h>
#include <stdlib.h>

int main (int argc, char *argv[])
{
int nthreads, tid, procs, maxt, inpar, dynamic, nested;

/* Start parallel region */
#pragma omp parallel private(nthreads, tid)
{

/* Obtain thread number */
tid = omp_get_thread_num();

/* Only master thread does this */
if (tid == 0)
{
printf(“Thread %d getting environment info…\n”, tid);

/* Get environment information */
procs = omp_get_num_procs();
nthreads = omp_get_num_threads();
maxt = omp_get_max_threads();
inpar = omp_in_parallel();
dynamic = omp_get_dynamic();
nested = omp_get_nested();

/* Print environment information */
printf(“Number of processors = %d\n”, procs);
printf(“Number of threads = %d\n”, nthreads);
printf(“Max threads = %d\n”, maxt);
printf(“In parallel? = %d\n”, inpar);
printf(“Dynamic threads enabled? = %d\n”, dynamic);
printf(“Nested parallelism supported? = %d\n”, nested);

}

}  /* Done */

}

Septiembre 26, 2008

Codificar con script de bash todos los archivos de video de un directorio

Archivado en: Linux Ubuntu Administracion, Programacion del Bash — Abelardo Jara @ 8:24 pm

Hola amigos, con frecuencia bajo muchos videos de Youtube, el problema es que deseo codificarlos todos en MP4, para poder llevarlos en un DVD, (en general de Youtube se descarga en formato FLV, que no se puede reproducir en un reproductor portatil tipo Ipod).

Asi que para este fin, cree este script de Bash, lo que hace es ir uno por uno cada archivo de extension FLV en un directorio y lo codifica a MP4, de modo que lo puedes ya tener listo. Aqui va:

#!/bin/bash
input_file_path=$1
output_file_path=$2

cd “$input_file_path”

for file in `dir -d *.flv`
do
echo “$file”
if [ -f "$file" ]; then
/usr/bin/ffmpeg -i “$file” -acodec copy -b 320000 “$file”.mp4
fi
done

La opcion -acodec es para que no comprima el audio y lo copie del archivo FLV tal como esta, y la opcion -b 320000 es para comprimir un poco el video, si no desean esa opcion y quieren la misma calidad de video entonces la opcion es -sameq. Sin embargo, el archivo puede quedar un poco grande.

Muchos saludos,

Abelardo

Septiembre 5, 2008

Usando FFMPEG para convertir videos a MP4 para tu IPOD o reproductor Sansa View

Archivado en: Linux Ubuntu Basico — Abelardo Jara @ 4:30 pm

Hola, recientemente me consegui un reproductor Sansa View de 8GB. Trate de descargarle videos en formato MP4 desde Ubuntu y me daba errores, asi que finalmente encontre el comando necesario que es:


ffmpeg -i {INPUT} -r 29.97 -vcodec xvid -b 700k -acodec aac -ab 128k -bufsize 4M -qmax 51 -mbd 2 -flags +4mv+trell -aic 2 -cmp 2 -subcmp 2 -ar 44100 -g 300 -s 320×240 -aspect 4:3 -ac 2 -f mp4 -y {OUTPUT}

Puedes reducir the -qmin and the -qmax e incrementar -maxrate si deseas mejorar la calidad de video. Tambien puedes usar -s 480×480 para la maxima calidad de video que soporta el Ipod de acuerdo a las especificaciones de Apple. Aunque algunas personas han reportado que trabaja tambien con mayoresresoluciones.

La pantalla es de 320×240, de modo que resoluciones mas altas solo serviran si tienes una salida de IPOD a Sansa a un televisor.

Espero que les sea util. Saludos, Abelardo

Septiembre 4, 2008

Como capturar un stream de Realplayer en Ubuntu para grabarlo

Archivado en: Linux Ubuntu Administracion — Abelardo Jara @ 2:21 am

Requirements:
Mplayer – Download with Synaptic
w32codecs – Download with Synaptic after you add Medibuntu repositories

Process:
I will use Democracy Now as an example site.

1. Go to web page that has a Realplayer stream link on it.

Code:
http://www.democracynow.org/streampage.pl

2. Click on the link that should start a Realplayer stream. In this example the link is “Watch entire show – broadband or dialup”

3. Choose to save to disk the link. It will save some file to your desktop. fjdo9omg is the name of the file in this example.

4. Open the file with a text editor. You will find in the file a URL that looks something like this:

Code:
rtsp://rxn-rbn-sea01.rbn.com/farm/*/demnow/demnow/demand/2007/april/video/dnB20070420a.rm

5. Open a terminal and enter the code below. Replace the URL Here and the File Name Here with ones of your choice. Press Enter and Mplayer will save the Realplayer stream to your Home Folder with the file name you choose. It does this in real time.

Code:
mplayer -dumpstream -dumpfile "File Name Here.rm" "URL Here"

Here is the code for our example Democracy Now Stream

Code:
mplayer -dumpstream -dumpfile "democracy.rm" "rtsp://rxn-rbn-sea01.rbn.com/farm/*/demnow/demnow/demand/2007/april/video/dnB20070420a.rm"

Tip: You can watch the stream live with another instance of Mplayer or Realplayer just by opening the file that your saving.

Following-up,- I found a way to take the streams downloaded in .rm format and convert them to other formats:

First, save the stream using mplayer:

Code:
mplayer -dumpstream -dumpfile "output.rm" "rtsp://sourcestream"

Next, use mencode, convert to a different format.

Code:
mencoder output.rm -ovc lavc -oac mp3lame -o newoutput.avi

I havn’t tried other codecs yet, but I imagine it should work with xvid, etc.

Blog de WordPress.com.