PDF de programación - Transmisión de multimedia en Internet usando proyecto FFmpeg

Imágen de pdf Transmisión de multimedia en Internet usando proyecto FFmpeg

Transmisión de multimedia en Internet usando proyecto FFmpeggráfica de visualizaciones

Publicado el 23 de Junio del 2019
1.263 visualizaciones desde el 23 de Junio del 2019
486,7 KB
5 paginas
Creado hace 15a (01/12/2008)
Informe nº2 de Redes de Computadores II, 01 de diciembre de 2008.

1

Transmisión de multimedia en Internet usando

proyecto FFmpeg.

Mario A. Ungemach M., Sebastián U. Duque R., Redes de Computadores II, Departamento de

Electrónica, Universidad Técnica Federico Santa María.,

Abstract— El presente trabajo trata de la transmisión de
multimedia a través de Internet haciendo uso del proyecto
FFmpeg, dentro del desarrollo de una herramienta de educación
a distancia a través de la red.
Esta entrega, explica los aspectos relativos a la implementación
de la solución, describiendo los principales elementos usados.
Además se presenta el tipo de arquitectura utilizada en la
implementación, sus limitaciones y eventuales mejoras.

Index Terms— captura pantalla, exposiciones, FFmpeg,

Internet, software libre, streaming, Unicast, Java.

I.INTRODUCCION

E

STE documento presenta la segunda entrega del trabajo
desarrollado en el marco de la asignatura Redes de
Computadores II del Departamento de Electrónica de la
Universidad Técnica Federico Santa María. El que trata de la
transmisión de multimedia a través de Internet haciendo uso
del proyecto FFMpeg [1]. Se describen principalmente los
elementos usados, como la aplicación para conversión de
formatos multimedia ffmpeg, el servidor de streaming ffserver,
una aplicación para el control de flujo multimedia escrita en
lenguaje Java, además de otros elementos que permiten llevar
a cabo la solución, tales como el servidor Web Apache y el
servidor de dominios DynDns. Se continúa con la descripción
de funcionamiento del sistema, aspectos relativos a los
requerimientos de BW y por último se exponen las
conclusiones generales.

Incluso en muchas ocasiones, la figura del mismo expositor no
es necesaria, solo lo es el material de presentación, su voz y
un elemento que sirva para indicar un lugar en la imagen del
material del cual se está exponiendo.
Acerca del material que está siendo presentado, este siempre
se encontrará en el top de la pantalla del computador donde
está corriendo la presentación y el elemento indicador puede
ser el cursor de la computadora manejado por el mouse.
Acerca del feedback entre expositor-audiencia este depende
del tipo de presentación y puede ser suplida por otras
aplicaciones de comunicación por voz a través de Internet.

A partir de lo anteriormente expuesto, se ve la necesidad de
ofrecer una herramienta que permita a uno o varios usuarios
(clientes) acceder a las imágenes que están siendo proyectadas
en la pantalla de un servidor, junto con el audio proveniente
de la entrada de micrófono de este. De esta manera, uno o
varios clientes puedan presenciar, sin mayores requerimientos,
presentaciones donde quien expone se comunica a través de la
pantalla de su computador y de lo que habla a través de su
micrófono.
El esquema de funcionamiento de la aplicación se muestra a
continuación.

II.ESCENARIO Y OBJETIVOS DE LA APLICACIÓN.

Es muy común hoy en día el uso de la Internet para la
realización de exposiciones, donde quien presenta se
encuentra muy alejado físicamente de su audiencia. En este
sentido, es muy usual observar el uso de aplicaciones de tipo
vídeo conferencia para realizar este tipo de actividades, las
cuales permiten un feedback entre quienes presencian la
exposición y el expositor mismo.
Esta información viaja a través de la red, grandes distancias,
es capturada por la aplicación cliente dentro de un terminal y
es luego proyectada para ser observada y oída por los
asistentes en un lugar definido.
No obstante, muchas de estas aplicaciones requieren del uso
de elementos físicos agregados que permitan el traspaso de
esta información, como por ejemplo, el uso cámaras digitales
para la captura de imágenes del material de presentación y del
expositor mismo y dispositivos de captura de voz como
micrófonos.

Fig. 1. Esquema de la aplicación del proyecto Ffmpeg. Comunicación de

contenidos a distancia.

III. ESQUEMA DE COMUNICACIÓN

El sistema propuesto está basado en un tipo de comunicación
Unicast, donde existe una conexión directa entre emisor y
receptor, lo que hace que para cada receptor se debe crear una
nueva conexión.

A continuación se presenta un esquema explicativo.

Informe nº2 de Redes de Computadores II, 01 de diciembre de 2008.

2

dpkg-dev, libimlib2-dev, texi2html, liblame-dev, libfaad2-dev,
libmp4v2-dev, libfaac-dev, libxvidcore4-dev, libtheora-dev,
libgsm1-dev, libogg-dev, libvorbis-dev, liba52-dev, libdts-dev,
libsdl1.2-dev, libraw1394-dev, libdc1394-13-dev y quilt
.

Al momento de compilar las fuentes antes de instalar es
necesario para nuestros fines habilitar ciertos módulos, en
linux esto se realiza de forma similar al siguiente comando:

$   ./configure     ­­enable­gpl   ­­enable­
libmp3lame ­­enable­x11grab

Donde los argumentos son los módulos que se habilitarán de
ffmpeg, que serán necesarios para este proyecto.
De la misma forma si se necesitan habilitar otros módulos se
deben agregar de forma similar.

Tal como se dijo en [2] Ffmpeg es un programa sin interfaz
gráfica que permite convertir o transformar formatos
multimedia, tanto de video como de audio. Aunque existen
otros programas, algunos sin necesidad de usar comandos, es
una de las opciones con más posibilidades y con una
performance muy rápida.

La sintaxis en línea de comandos es la siguiente:

$ffmpeg [[infile options][`­i' infile]]... 
{[outfile options] outfile}...

Un ejemplo de uso es el siguiente:

$ffmpeg ­i test1.mpg ­vcodec mpeg4 ­s 
320x240 ­b 300k ­r 10 ­acodec mp3 ­ar 
22050 ­ab 64k ­f avi test1.avi

En donde
vcodec :Especifica el codec de video para compresión usado.
s

:Especifica el size de compresión del vídeo de

entrada.

b
r

:Especifica el bitrate de vídeo de compresión.
:Especifica la taza de cuadros por segundo de captura.

acodec :Especifica el codec de audio usado.
ar

:Especifica la taza de audio usada.

ab
f

:Especifica bitrate de audio usado.
:Fuerza al formato de salida.

Fig. 2. Esquema de la comunicación de contenidos a distancia. Modo

Unicast.

En este esquema, cada vez que un cliente realice una petición
al servidor, este creará una nueva conexión para suministrar la
información.

IV. DETALLE DE ELEMENTOS NECESARIOS.

Por parte del servidor los elementos necesitados para esta
solución son:



Servidor Web (Apache2) + Página alojada (Flash
embebido).

• Un dominio público (DynDns, p.e.)
• Herramientas libres para streaming: Proyecto

FFmpeg.

• Herramienta para control de servidor de streaming y
alimentador de información (Tópicos del curso de
Programación de Sistemas: Java-Runtime-Process
más adelante).

Por parte del cliente los requerimientos impuestos son:

• Navegador Web + soporte Flash.

todas

las aplicaciones:

La solución presentada como se puede observar coloca al
servidor toda la carga de funcionamiento, ya que es donde
corren
servidor de
streaming(ffserver), el alimentador (ffmpeg) que entrega la
información de la pantalla del computador junto con el audio
proveniente de la entrada de micrófono empaquetados en
formato swf, la herramienta de control de flujo multimedia
explicada más adelante y la página alojada en el servidor
Web Apache.

El

Por parte del cliente la solución propuesta minimiza lo más
posible sus requerimientos, de manera de que sea una
aplicación plug and play, de fácil acceso para estos.

Antes de realizar la instalación manual del paquete de
herramientas que contiene a ffpmpeg, ffserver y ffplay que
componen el Proyecto Ffmpeg, es necesario haber instalado el
soporte para que se puedan utilizar todas sus funcionalidades,
esto es, se deben haber instalado una serie de bibliotecas. Una
lista completa de estas es:

Por otra parte tal como se menciona en [2] FFserver es un
componente anexo que permite servir flujos de vídeo y audio
a través de HTTP/RTP/RTSP. Soporta archivos multimedia
almacenados o que están siendo recibidos en tiempo real.
Para su uso es necesario conocer acerca de su archivo de
configuración, el cual por defecto es llamado ffserver.conf, si
bien puede ser llamado posteriormente de cualquier manera
dándoselo a ffserver como argumento de entrada con la
opción -f.

Informe nº2 de Redes de Computadores II, 01 de diciembre de 2008.

3

Un segmento importante de de este archivo especifica el
puerto usado por ffserver para realizar el streaming, la
dirección de bind, la cual es necesaria si tenemos más de una
interfaz de red, la máxima cantidad de clientes conectados, el
ancho de banda máximo utilizado entre todos los clientes y
por último si este funcionará como demonio o será iniciado
manualmente.

Un ejemplo de esto es el siguiente:

Port 8090
BindAddress 0.0.0.0 
MaxClients 1000
MaxBandwidth 1000 
NoDaemon

El resto del archivo de configuración contiene dos importantes
secciones:

<Feed> : Cada Feed contiene una secuencia de Video y/o
Audio proveniente de la salida de alguna instancia de ffmpeg.
Es una sección del archivo de configuración.

$./ffmpeg ­i INPUTFILE 
http://localhost:8090/feed1.ffm 

Notar que en este caso el archivo de configuración de ffserver
se le da como argumento mediante la opción -f y puede estar
alojado en cualquier directorio en disco.

Para poder visualizar el contenido que está siendo generado,
un cliente solo debe colocar en un navegador o mediante
alguna aplicación aprop
  • Links de descarga
http://lwp-l.com/pdf16179

Comentarios de: Transmisión de multimedia en Internet usando proyecto FFmpeg (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad