Академический Документы
Профессиональный Документы
Культура Документы
2. LOS CODECS.
El audio y el vdeo, al igual que las imgenes, se pueden codificar en un fichero binario. Por ejemplo, si grabamos sonido en formato CD (48KHz, streo, 16 bits de resolucin), esto da un flujo de 48000 x 2 x 16 = 1.536.000 bits por segundo. Por lo tanto, un fichero de audio de un minuto de duracin ocupara 92.160.000 bits (11.250 Kilobytes 11 Mb). De hecho, este es el sistema de los ficheros wav, que almacenan el sonido sin compresin alguna. Sin embargo, es evidente que de esta manera el audio ocupa mucho (un album de m sica de una hora 700Mb)... Y el vdeo necesita mucha ms informacin! Esto hace que tanto el audio como el vdeo se simplifiquen y compriman para convertirlo en ficheros que ocupen mucho menos espacio. De esta manera, se aplican CODECS3 a los contenidos multimedia, que no son sino algoritmos que convierten un flujo de audio/vdeo que ocupa mucho espacio, en un flujo de audio/vdeo comprimido, que ocupa muy poco espacio en relacin con el original. De esta forma, un flujo de audio comprimido en mp3 de alta calidad, con una velocidad de 320Kbps, ocupa 2,3 Mb por cada minuto, en lugar de los 11,2Mb que ocupar a sin comprimir. (320 Kb por cada segundo, ms los bits de control que son muy pocos). Por lo tanto, podemos definir un CODEC como un algoritmo de dos sentidos que codifica y decodifica un flujo multimedia en un fichero binario comprimido. El codec utilizado influir enormemente en la calidad de nuestro servicio, pues dependiendo del CODEC tendremos que transportar un flujo de bits mayor o menor. El problema de los CODECS Los CODECS generalmente son algoritmos patentados, que no se incluyen en los sistemas operativos. Es el usuario el que debe instalar los CODECS que necesite. Adems, es habitual que existan diversas implementaciones para un mismo CODEC, por lo que el usuario tiene ms posibilidades donde elegir. Si bien normalmente poder elegir es bueno, en este caso genera bastante confusin. Hay implementaciones que funcionan bien en determinados sistemas, o distribuciones, y otras que no. Otro problema es que el CODEC debe integrarse bien con los programas que lo vayan a utilizar (reproductores, navegadores, etc.), lo que provoca que en la prctica, saber qu CODECS debemos instalar es bastante complicado. Para agravar todo esto, en distribuciones de Linux tenemos el problema aadido de que muchos de los CODECS que podemos necesitar NO son software libre, estn protegidos por patentes4, por lo que no se encuentran por defecto en los repositorios de las distribuciones. Si bien este panorama puede resultar desalentador, he de decir que con un poco de paciencia y bastante tiempo, el usuario que se introduzca en el mundo del vdeo digital, acabar por resolver todos estos problemas y podr sacarle mucho partido.
3 http://es.wikipedia.org/wiki/C%C3%B3dec 4 Slo en el a o 2!!"# la patente del C$%&C mp3# gener 2"#1 millones de e'ros en derechos para s's a'tores. I.E.S. Julio Verne Pgina 2.
ninguna licencia para su instalacin y uso... Otra cosa es que la emisora no vulnere los derechos de autor emitiendo contenidos protegidos de forma ilegal. Si buscamos por Internet, encontraremos todas las emisoras conocidas (KissFM, M80, Cadena SER, etc.). De esta manera no limitan su mbito de actuacin a un mbito geogrfico.
Vamos a instalar un servicio multimedia bajo demanda en Linux. Para ello utilizaremos el servidor de streaming gnump3d, alojado en http://www.gnu.org/software/gnump3d/ Gnump3d es un servidor streaming de audio y vdeo, bajo demanda, multiplataforma. Sus caractersticas principales son estas: 1. Es capaz de trabajar con una amplia variedad de formatos, tanto de audio como de vdeo. La lista es la siguiente:
Formatos de audio: 669, aac, ape6, m4a, dsm, far, flac, it , mid, mod, mp3, mtm,
ogg7, ra , rm , s3m, stm, ult, wav, xm , wma, m4p, mpc, aif, aiff, shn.
Formatos de vdeo: mov, mpg, mpeg, avi, wmv. Formatos de listas de reproduccin: m3u, ram, pls. 2. Es pequeo, estable, autocontenido (incorpora todo lo que necesita, hasta un pequeo servidor web) y seguro. 3. Es simple de instalar, configurar y usar. 4. Es multiplataforma: Es portable entre diferentes variedades de UNIX, Linux y plataformas Windows. 5. Incluye un servidor web (independiente de Apache y compatible con l) donde se conectan los clientes para consultar el catlogo y ordenar las reproducciones. 6. Incluye un sistema automtico de gestin de contenidos multimedia configurable, capaz de indexar automticamente todos los contenidos multimedia y de montar automticamente el catlogo con funciones de bsqueda por mltiples criterios.
" &l (ormato ape# comprime el a'dio pero sin modi(icar el original# es decir# sin p)rdida de calidad alg'na. *n (ichero de a'dio comprimido en ape + l'ego descomprimido# es e,actamente ig'al -'e el original. Como contrapartida# s' relacin de compresin es pe-'e a# en torno al 1:!#.. /http://www.monke+sa'dio.com/0 1 $gg 2or3is es 'na tecnolog4a de compresin + codi(icacin de streaming pro(esional de a'dio# a3ierta# no patentada# -'e se 3ene(icia de las 5enta6as de ser So(tware 7i3re. /http://www.5or3is.com/0 I.E.S. Julio Verne Pgina 4.
Instalacin de gnump3d. (http://www.gnu.org/software/gnump3d/install.html#Install) 1. Acudimos a la pgina oficial del proyecto gnump3d: http://www.gnu.org/software/gnump3d/ 2. 8inchamos en %ownload + elegimos 3a6ar el (ichero de la 9ltima 5ersin esta3le /act'almente es gn'mp3d:3.!.tar.g;0. 3. *na 5e; o3tenido el (ichero# lo mo5emos a 'na carpeta de n'estra eleccin + lo descomprimimos all4. <l hacerlo se crear= 'na carpeta llamada gnump3d-3.0. 4. &n modo consola# como root# nos despla;amos hasta dentro de dicha carpeta + e6ec'tamos:
# make install
5. >a ha3remos instalado el programa. Configuracin de gnump3d. (http://www.gnu.org/software/gnump3d/config.html#Config) 1. La gnump3d, /etc/gnump3d/gnump3d.conf. configuracin de se realiza a travs del fichero
allowed_clients
Permite seleccionar las Ips de los clientes a los ue siempre se les permite conectarse. Es la directiva opuesta a denied_clients. =0 No funcionar como streaming, cuando se reproduzca un fichero, el cliente se lo bajar entero y luego lo reproducir Funcionar como Streaming, cuando se reproduzca un fichero, el cliente se conectar a un flujo multimedia y comenzar a reproducirlo inmediatamente. No guardar el fichero.
always_stream
=1
binding_host directory_format
En el caso de que el servidor tenga ms de una direccin IP, esta directiva indica a travs de cul de ellas escuchar gnump3d. This is a format string which is documented within the configuration file itself; it allows you to specify a template which will be used in the output file for each directory name which is found. Esta directiva permite deshabilitar la navegacin por el catlogo a travs de l ainterfaz grfica. Se usa cuando se desea que los clientes estn restringidos a una reproduccin aleatoria de los ficheros. Esta directiva determina el nombre del fichero log de errores. Si el servidor se est ejecutando en modo debug, esta directiva no tiene efecto, pues los errores se mostrarn por consola. El modo debug se arranca aadiendo la opcin --debug a la orden de arranque, es decir, arrancando el servidor mediante la orden: #gnump3d --debug This is a format string which is documented within the configuration file itself; it allows you to specify a template which will be used to generate the output for each file which is found. Pgina 5.
enable_browsing
errorlog
file_format
Servicios de Streaming de Audio/Vdeo. Cuando un cliente reproduce un fichero multimedia de un servidor gnump3d, en modo streaming, ste lo conecta con una URL donde se encuentra el flujo multimedia que debe reproducir. Con esta directiva, definiremos el nombre del servidor que se usar para construir dicha URL. Es muy til en el caso de que nuestro servidor tenga ms de un mobre DNS, as podremos elegir con cul se mostrar. Con esta directiva podemos especificar qu fichero implementar el log completo de todas las conexiones y accesos que hagan los usuarios. El fichero se produce en el formato de Apache commons logfile.
hostname
logfile
Con esta directiva se pueden limitar el nmero mximo de conexiones simultneas que el servidor atender. Se debe ajustar en funcin de la potencia de la mquina y, sobre maximum_connectio todo, del ancho de banda disponible. ns Cualquier intento de conexin por encima de ese nmero, ser rechazada, y se responder con una pgina de error al cliente. Como parte de su rol de servidor, gnump3d es un servidor HTTP capaz de servir los ficheros multimedia en descarga, o en streaming, adems de la web para navegar por el catlogo. Para seleccionar el tipo de fichero a la hora de servirlo (slo sirve en streaming los ficheros multimedia), usa un registro en forma de fichero de texto. Por defecto, es el fichero /etc/gnump3d/mime.types Con esta directiva lo podemos cambiar. Permite definir el texto que ser mostrado en los enlaces play all. El servidor gnump3d se instala junto con un conjunto de plugins. Esta directiva indica dnde se han instalado. No conviene modificarlo... Define el puerto donde escucha el servidor. Permite definir si las listas de reproduccin recursivas son aleatorias, o por orden alfabtico. Controla el tiempo mximo de escucha despus de una peticin de un cliente. El valor por defecto, 10 segunods, debera ser suficiente. Especifica el directorio a partir del cul cuelgan los archivos multimedia que sirve gnump3d. El dueo debe ser root, el grupo dueo debe ser root y los permisos deben ser 775.
mime_file
play_all_text
play_recursively_text Permite definir el texto que ser mostrado en los enlaces recursivos plugin_directory port recursive_randomize read_time root
Si esta directiva est habilitada, se habilita el streaming usando el protocolo Shoutcast. Entonces, los metadatos de la cancin (ttulo, autor, etc.) se envan mezcladas junto shoutcast_streaming con el streaming del fichero a travs de dicho protocolo... (http://en.wikipedia.org/wiki/SHOUTcast) song_format sort_order stats_program stats_arguments theme Define una plantilla para interpretar el nombre de fichero de las canciones, indicando el autor, lbum, ttulo, fecha, etc. Controla el orden en que se listan las canciones en las pginas del catlogo. Es especialmente til cuando los directorios contienen una gran cantidad de ficheros. Especifica cul es el fichero script que ejecuta las estadsticas. Por defecto, es el fichero /usr/bin/gnump3d-top, hecho en Perl. Permite especificar parmetros adicionales que pasarle al script de las estadsticas (gnump3d-top). Para consultar sobre el tema, acudir al manual de linux: man
gnump3d-top
La apariencia del servidor web multimedia puede modificarse usando una coleccin de plantillas o temas. Pgina 6.
Servicios de Streaming de Audio/Vdeo. Esta directiva indica qu tema se est usando. Incluye slo el nombre del tema. theme_directory Esta directiva permite indicar cul es el directorio base donde se ubican los temas. Por defecto, es /usr/share/gnump3d/ Cada tema se alojar en una carpeta con su nombre, ubicada dentro de este directorio base. Esta directiva permite borrar los ficheros log antiguos al iniciar una nueva sesin del servidor, para que slo contengan los datos de esa ltima sesin. Esta directiva controla si el servidor usar la cabecera Host: nombre en sus transmisiones. Esto puede ser til cuando se implementan operaciones de tunelling SSH, o cuando se trabaja en un servidor que tenga ms de un nombre de host. Si se especifica esta directiva, entonces el servidor se ejecutar con el usuario indicado, despus de crear los sockets de escucha. Esto es importante por razones de seguridad. Por defecto, se usa el usuario nobody. Es importante recordar que el usuario que se especifique debe tener acceso de lectura a los archivos muiltimedia, y de lectura a los ficheros log.
truncate_log_files
use_client_host
user
Uso de gnump3d. (http://www.gnu.org/software/gnump3d/screenshots.html#Screenshots) Una vez que hemos hecho los ajustes necesarios en el fichero de configuracin, ejecutaremos GNUMP3d accediendo al terminal y escribiendo:
# sudo gnump3d &
Si todo ha ido bien, podremos acceder a nuestro servidor de streaming desde cualquier ordenador escribiendo lo siguiente en cualquier navegador de Internet:
http://direccin_ip_del_servidor:8888
La primera vez que accedamos al servidor veremos una pgina como la siguiente, en la que se nos mostrarn un listado con los ficheros multimedia, ordenados en ficheros de msica y de vdeo.
Pgina 7.
Si queremos reproducir las canciones de un directorio particular tendremos que hacer clic sobre el enlace Play. Tambin podremos ir navegando por los directorios para ver las canciones que contiene. La pestaa Browse by tag nos permite navegar por ir seleccionando canciones por artistas, lbume, aos o gneros. Obviamente para poder hacer esto tendremos que tener bien organizada nuestra biblioteca musical. La pestaa Random Selection permite hacer una seleccin al azar de las canciones de la biblioteca, seleccin que por supuesto podremos reproducir va streaming. Tambin disponemos de una opcin para buscar canciones por artista, lbum, nombre de cancin, gneros, etc. Se puede incluso obtener estadsticas de las canciones ms escuchadas o usuarios que ms veces se han conectado al servidor. Tambin podemos obtener un listado de los usuarios que estn actualmente conectados al servidor.
Pgina 8.