Está en la página 1de 10

Trasnmision de video streaming usando GNU-Radio y

USRP
Mauricio Palacio, Francisco Pino, y Hector Giraldo.

Resumen- Este documento como streaming.


presenta los conceptos básicos de En este proyecto se realizara una
vídeo streaming en tiempo real a descripción de cómo funciona el
través de una plataforma de código streaming, sus componentes, y
abierto de bajo costo - Radio de tendrá un enfoque educativo
GNU. El GStreamer sirve como ya que para la implementación se
base para crear muchos tipos de utilizaran equipos existentes en el
aplicaciones multimedia, tales como laboratorio de telecomunicaciones y
editores de vídeo, reproductores un programa como GNU-Radio lo
multimedia en los medios de que permitirá que docentes y
comunicación y los organismos de estudiantes que tengan acceso a
radiodifusión. Puede ayudar a los este Proyecto puedan conocer y
educadores para hacer frente a los recrear una transmisión de video en
retos de los diferentes estilos de el aula de clase.
aprendizaje y mejorar la forma en la
que los estudiantes pueden Los avances en el sistema de
procesar y utilizar la información. comunicación inalámbrica son las
Una cámara web sencilla se utiliza principales áreas de investigación en
para transmitir el video a la GNU este momento. El desarrollo incluye
Radio través de una tubería la transferencia de datos, imágenes,
GStreamer. Los datos transmitidos vídeo, etc., en el mismo medio que
pueden ser recibidos y transmitidos se utiliza para la transmisión de voz
por un servidor en tiempo real en las últimas décadas. Esto impone
utilizando Mplayer. El vídeo una capacidad adicional para el
transmitido se muestra en el bloque sistema y requiere estructura más
receptor. En el lado del receptor, el extensa para ser tratada con estos
búfer se hace para almacenar el tipos de procesamiento de la señal
vídeo en directo. [1]. Las modificaciones en la
infraestructura podrían incluir la
instalación de nuevo hardware como
Palabras clave: Streaming, USRP, enrutadores y conmutadores. Otra
GNU-Radio, GStreaming, Mplayer solución a este problema es utilizar la
tecnología en constante evolución de
INTRODUCCIO´ N la radio definida por software (SDR):
que requiere un cambio en sólo el
La transmisión de video en tiempo software, en lugar de hardware. Se
real se ha convertido en una da la flexibilidad en el proceso de
necesidad tanto en enfoques implementación, además de su
educativos, comerciales como rentabilidad. SDR se puede
laborales, este proceso se conoce implementar en diferentes ambientes
como GNU Radio, Radio virtual, exploración de aplicar la transmisión
OSS, de video en tiempo real (O incluso
streaming) de un punto a otro.
La transmisión de vídeo ha
aumentado la capacidad de conectar
y educar a diversas personas de todo MATERIALES Y ME´ TODOS
el mundo. Los profesores pueden
realizar conferencias y clases a
distancia con el uso de la línea en STREAMING
vivo, en sitio, streaming de vídeo.
Facultades, padres, personal, También llamado retransmisión o
administradores y estudiantes transmisión por secuencias consiste
pueden comunicarse entre sí y en la distribución o descarga de datos
racionalizar tanto la comunicación y desde un proveedor o servidor en
el proceso de aprendizaje internet mientras el usuario hace uso
transmisión remota de la de los datos en cuanto estos son
presentación en vivo a los descargados. Por lo tanto el
aficionados locales y distantes es usuario no necesita esperar hasta
posible. que la descarga sea completada para
La técnica propuesta ayudará a los poder comenzar a utilizar los datos.
maestros para transmitir vídeo de La interacción de vídeo en directo
una manera de bajo costo para puede proporcionar fiable y rentable
aplicaciones de comunicación y de educación efectiva a las aulas de
control. todo el mundo. Los estudiantes
pueden capturar su propio video en
Con lo anterior dicho el fundamento vivo para sus teléfonos móviles y
de nuestra idea es de la fusión de aplicaciones portátiles. El vídeo
GNU radio y un dispositivo USRP capturado se puede transmitir a los
para que el diseño de la aplicación dispositivos móviles o en la web con
este concatenado con nuestro otros compañeros o amigos.
hardware (En este caso nuestra Transmisión de vídeo con USRP
antena Tx) y permita al usuario la permite al instructor para enseñar la
flexibilidad de cambiar los parámetros misma lección en diferentes aulas de
de comunicación independientemente forma simultánea, como se muestra
si el canal este encendido o no. en la Figura 1. Ofrece varias
La USRP ayuda al soporte de soluciones campus multi-sitio para
invención de rápidos prototipos y el satisfacer diferentes aplicaciones que
desarrollo de SDR s estables y institución educativa requiere, entre
accesibles para el usuario final, así, ellos: el vídeo bajo demanda, punto a
el uso de USRP s viene siendo punto, punto a multipunto.
nuestro principal apoyo para esta
práctica y que de por si tiene
extensas vertientes incluido en
servicios comerciales, civiles y hasta
incluso militares, y con estas
características el proyecto busca la
decir los diferentes códigos escritos
para filtrar y otra de procesamiento
de señales. El sistema SDR consta
de antenas, el extremo frontal de
RF, de analógico a digital, de digital
a analógico (A / D, D / A)
convertidores y la parte software. El
lado receptor tiene convertidor A / D
(ADC) como la señal recibida está
en forma y necesidades analógica
para su digitalización para ser
procesado por software que se
ejecuta en un ordenador. Similar a
la ADC, hay un convertidor D / A
Fig. 1. Concepto de video streaming (DAC) en el lado del transmisor para
interconectar el ordenador con el
SDR extremo frontal de RF. La
investigación ha estado ocurriendo
Software Defined Radio es una a ADC optimizar el rendimiento y la
solución de adaptación, para el futuro DAC, pero nuestro objetivo es
que hace que las redes inalámbricas énfasis en la parte de software y
de alta flexibilidad. Se puede más sobre el uso de software para
reemplazar el hardware de radio hacer experimentos de
convencional con radios comunicación.
reconfigurables, reprogramables,
GNU-Radio
abriendo el camino para nuevos
servicios y prolongar la vida útil de un Radio de GNU es un conjunto de
dispositivo inalámbrico móvil [2]. herramientas de software de código
Sistemas de radio convencionales abierto que permite la construcción
constaban de extremo frontal de RF, de un Software Defined Radio [3].
las antenas y un número bastante Se permite la modulación,
grande de componentes electrónicos demodulación, filtrado de
para hacer varias actividades de codificación, decodificación,
procesamiento de señal. Este codificación de fuente, codificación
hardware de procesamiento de de canal, etc, que proporciona la
señales se ha convertido ahora en funcionalidad y está escrito en
formato de software para permitir la software. La ventaja de usar
reconfiguración, la flexibilidad y la software para cambiar el
escalabilidad. Las finales y un comportamiento de una radio radica
conjunto de software formas frontales en la propiedad de reconfiguración
de RF del Software Defined Radio. de DEG. Por ejemplo, si el esquema
de modulación de una radio tuvo
Radio recibe señales y cambia
que ser cambiado, tuvimos que
estas señales para señales de audio
cambiar toda la circuitería analógica
o sonido, que son perceptibles por
empleada para la modulación. Pero,
los seres humanos. El rendimiento
en un SDR, sólo el código para la
de la radio está definido por
modulación tiene que ser escrito o
software. Por el software, queremos
ya códigos disponibles puede ser Las aplicaciones de GNU están
reescrito. La radio de GNU basadas en el lenguaje de
proporciona códigos confeccionadas programación Python y soporta
con fines de experimentación por algoritmos de deprocesamientos de
los jugadores de software ardientes. señales programados con
La estructura general de receptor anterioridad, y se pueden modificar
SDR y el transmisor se muestra en en cualquier momento sin necesidad
de utilizar hardware
Como en todos los sistemas de radio
definida por software la mejor
característica es la reconfigurabilidad,
es mucho más prácticos que comprar
radios con características fijas
programadas.

la Fig.2
Fig. 2. Estructura del receptor SDR
y lado del transmisor. GSTREAMER

GStreamer es un motor multimedia


popular y ampliamente utilizado en
Radio GNU proporciona una interfaz Linux y muchos reproductores de
gráfica de usuario con Radio GNU medios comerciales lo utilizan como
Companion (GRC). Los el núcleo central. Es un marco
experimentos se llevan a cabo multimedia basada en la tubería
mediante la conexión de bloques de escrito en lenguaje de programación
procesamiento de señales escritas C con el sistema de tipos basado en
en C ++. El gráfico de flujo está GObject. Gstreamer ayuda al
escrita y realizada usando Python. programador para crear numerosos
Este conjunto de herramientas componentes de manejo de
proporciona un simple arrastrar y mediadores, incluyendo audio y
bloques de procesamiento de reproducción de vídeo, reproducción
señales basado con la que muchos de audio simple, la grabación, la
experimentos de comunicación transmisión de la edición, etc. La
pueden hacerse soltar [4]. estructura de tuberías está diseñado
de tal manera, para crear muchos
GNU Radio Companion (GRC) es tipos de aplicaciones multimedia,
una herramienta de desarrollo libre, tales como editores de vídeo,
basada en bloques donde se pueden streaming emisoras de medios de
programar funciones para crear un comunicación y reproductores de
sistema de radio definida por medios. GStreamer se sabe que
software. funcionan en Linux (x86, PowerPC y
Puede utilizarse con hardware no ARM), Solaris (Intel y SPARC) y
muy costosos, como también Open Solaris, Microsoft Windows,
utilizarse en ambientes de simulación FreeBSD, NetBSD, Mac OS X,
esto más que todo con fines OpenBSD y OS / 400. GStreamer
educativos. tiene fijaciones, para la programación
lenguajes como Python, Vala, C ++, principalmente.
Perl, Guile de GNU. Dado que el USB es compatible con
una velocidad máxima de 480
USRP millones de bits por segundo (Mbps),
el FPGA tiene que reducir y las
Universal Software Radio tasas de aumento de datos en
Peripheral (USRP) es una ambas recibir y trayectos de
plataforma de hardware para utilizar transmisión para que coincida con
como un software de radio. Ha sido las limitaciones de velocidad del
diseñado por Ettus Investigación y USB. Los diferentes productos de la
de la empresa, de National serie USRP son: Serie USRP en red,
Instruments [5]. USRP proporcionar la serie USRP Embedded y la serie
soporte experimental para de autobuses USRP. La serie de
estudiantes, laboratorios, autobuses USRP se conoce
investigadores y universidades. Se comúnmente como USRP 1. Viene
extiende como un extremo frontal en torno a un precio sólido de
de RF mediante la conexión de un 40.000 rupias indias. Las 2 series
equipo host a un puerto USB de USRP están siendo reemplazados
alta velocidad o una conexión por mejores homólogos como la
Gigabit Ethernet. La serie USRP 1 serie conectada en red y embebida.
utiliza una conexión USB y USRP 2 Vienen alrededor de un lakh INR,
utiliza el enlace Ethernet. Las series con exclusión de las placas hijas.Las
tienen USRP arquitectura y se placas hijas son en realidad los
diferencia similar en la selección de componentes dependientes de la
las placas hijas. Se trata frecuencia en un USRP. USRPs
básicamente de una placa base con permiten un máximo de cuatro
ranuras para un máximo de cuatro placas hijas. Dos ranuras se asignan
placas hijas. Estas placas hijas para el lado del transmisor y dos
sirven como los extremos frontales para camino del receptor. Las
de RF. Vienen en diferentes tipos ranuras previstas para cada uno de
en función de las frecuencias de los lados del transmisor y receptor
funcionamiento. La placa base tiene están etiquetados como TXA y TXB,
funcionalidades de un reloj, FPGA, RXA y RXB, referidos como lado A y
Convertidores de datos (ADC y lado B. Cada lado tiene acceso a 2
DAC), el poder etc. El Convertidor de los 4 ADCs y DACs, de entrada
Analógico a Digital (ADC) entradas ADC para el receptor y DAC salida
de señal analógica y la convierte en para el transmisor. Las placas hijas
forma digital, a razón de 64 millones comúnmente disponibles son los
de muestras por segundo (Msps). básicos, LFTX / LFRX, TVRX,
El CAD o de digital a analógico DBSRX; tableros WBX etc, cada uno
convertidor hace que estos datos diferente en los rangos de frecuencia
digitales eficientes para la de operación.
transmisión mediante su conversión
en forma analógica a razón de 128
Msps. Las ofertas de FPGA con la
parte de procesamiento de señal y
conversión de los tipos de muestra
Apagado El dispositivo no está activo.
Verde El dispositivo está recibiendo
datos.
PPS IN Terminal de entrada para
referencia de temporización de pulso
por segundo (PPS). PPS IN es una
Fig.3. USRP 2900
hembra
Conector SMA con una impedancia
TX1 RX1 Terminal de entrada y
de 50 Ω, y es una entrada de un solo
salida para la señal de RF. TX1 RX1
extremo
es un conector SMA (f) con una
canal. PPS IN acepta señales TTL de
impedancia de 50 Ω y es un canal de
0 V a 3,3 V y señales TTL de 0 V a 5
entrada o salida de un solo extremo.
V.
TX1 RX1 Indica el estado de
Entrada PWR que acepta un conector
transmisión del dispositivo.
de alimentación de CC externo de 6
Apagado El dispositivo no está activo.
V, 3 A.
Verde El dispositivo está recibiendo
datos.
MPLAYER
Rojo El dispositivo está transmitiendo
datos.
Naranja El dispositivo está Reproduce la mayoría de los
cambiando entre transmitir y archivos MPEG, VOB, AVI, OGG/OG
recibiendo información. M, MKV, VIVO, ASF/WMA/WMV,
REF IN Terminal de entrada para una QT/MOV/MP4, FLI, RM,
señal de referencia externa para el NuppelVideo, YUV4MPEG, FILM,
oscilador local (LO) en el dispositivo. RoQ, PVA, soportados por
REF IN es un conector SMA hembra algunos códecs nativos, XAnim, y
con una impedancia de 50 Ω, y DLL's Win32. Además puede
Es una entrada de referencia de un reproducir VideoCD, SVCD, DVD,
solo extremo. REF IN acepta una 3ivx y DivX/Xvid 3/4/5.
señal de 10 MHz con una potencia de También trae la opción
entrada mínima de 0 dBm (0.632 para subtítulos, soportando 14
Vpk-pk) y una potencia de entrada formatos diferentes
máxima de 15 dBm (3.56 Vpk-pk) (MicroDVD, SubRip, SubViewer,
para una onda cuadrada u onda Sami, VPlayer, RT, SSA, AQTitle,
sinusoidal. JACOsub, VobSub, CC, OGM, PJS y
MPsub).
Terminal de entrada RX2 para la
señal de RF. Junto al paquete de descarga de
RX2 es un conector SMA (f) con una MPlayer, se puede encontrar la
impedancia de 50 Ω y es un canal de aplicación MEncoder, una
entrada de un solo extremo. herramienta esencial para el proceso
RX2 indica el estado de recepción de de codificación de vídeo o audio.
dispositivo. Además trae por defecto
Entrada USB que acepta un cable un GUI hecho en GTK+ llamado
USB estándar. Se incluye un cable gmplayer, aunque existen también
USB adecuado en el kit de hardware algunos otros GUI's como por
ejemplo SMPlayer, el cual está hecho había realizado una simulación de la
en Qt. trasmisión de video, usando solo un
pc, donde el programa GNU-Radio
El reproductor puede funcionar en la
simulaba tanto el TX como el RX y
mayoría de las plataformas,
además el canal inalámbrico por
incluyendo Linux, derivados
donde se transmite la información.
de Unix, Mac OS
X, Syllable, MorphOS, AmigaOS y
Se ejecutan estos comandos en el
también en Windows. Hay también
terminal como requisitos previos para
derivados de DOS y FreeDOS y en la
que corra el programa.
consola de juegos Wii (v. Mplayer
CE).
1. Para instalar las bibliotecas
GStreamer.
SIMULACION  sudo apt install gnu-smalltank :
creación de envío de paquetes
Montaje experimental para la por medio de GNU
simulación
 sudo apt install gstreamer-tools :
Se utiliza un sistema que tiene CAM herramientas de gstreamer
WEB con Ubuntu -12,04 versión.  sudo apt-get install
Grc un archivo se creará en el gstreamer0.10-plugins-good :
componentes para creación de
compañero GNU Radio para el
drivers de gstream
proceso de transmisión de .Incluye
 sudo apt-get install gstreamer1.0-
plugins-ugly : actualización de
 archivo de origen reproducción de video en gstream
 Paquete de codificador /  sudo apt install root-system-bin :
decodificador instalacion de root para
 Multiplicar constante implementacion de respaldos de
 GMSK modulador / sistema
demodulador
 receptor de archivo 2. Para instalar el reproductor de
Antes de ejecutar el archivo de vídeo “mplayer“
bloque Grc (Fig. 4), se crean dos  sudo apt-get install mplayer
archivos, dando algunos comandos (en el PC receptor)
en el terminal; uno en el formato
crudo (transmisión de archivo de 3.crear manualmente myfifo.ts y
búfer) y el otro en el formato TS video2.ts
(recibiendo archivo de búfer).  myfifo.ts mkfifo
 video2.ts mkfifo
Procedimientos:
4. Para capturar el flujo de vídeo
Se procede a realizar la conexión de desde la cámara WEB
dos dispositivos USRP en dos - gst-launch-1.0 v4l2src
computadores diferentes donde uno device=/dev/video1 ! 'video/x-
servirá como transmisor (TX) y el otro raw,width=640,height=480,framer
como receptor (RX), previamente se ate=30/1' ! x264enc bitrate=498 !
mpegtsmux ! filesink
location=myfifo.ts
5.Ejecutar el archivo RX y TX en ese
orden.

6.Abrir una nueva terminal y escriba


el siguiente

- En sudo su
Fig.6 TX en GNU
mplayer /home/itm/video2.ts

Luego se procede a correr los


archivos en GNU-Radio tanto en TX
como en RX, en las siguientes
imágenes se muestra el proceso de la
transmisión.

Fig.7 RX en GNU

Fig.4.Simulacion
Fig. 8 señal transmitida

Fig.5 Diagrama de bloques usando Fig.9 señal recibida


USRP y GNU
SDR(radio definida por software)
mediante la investigación para llegar
integrar un hardware , la USRP , el
software GNU RADIO Y una cámara
web sencilla y asi construir un modelo
tanto simulado como real de una
transmisión de video en vivo o lo
comúnmente llamado streming,
Fig.10 espectro recibido después de validar varias pruebas en
la transmisión del video se nota un
retardo de algunos segundos
CONCLUSIONES ,posiblemente por incompatibilidad o
funcionalidad del computador donde
En el ámbito educativo con el pasar se realiza el proyecto.
de los días se encuentran o diseñan
nuevas metodologías de enseñanza En la ejecución de la programación
lo que permite una mejor adaptación de los bloques de GNU radio se
tanto de maestros como de variaron algunos valores para buscar
estudiantes, es así como un sistema mejores resultados en la transmisión
de streaming entra a jugar un papel del video, debió consultarse algunos
importante en la educación códigos del lenguaje de programación
actualmente, permitiendo que los Python
docentes puedan tener una mayor El proyecto se implementó más que
facilidad a la hora de tener contacto todo con fines educativos y de
con los estudiantes, sea con investigación aprendiendo así sobre
transmisiones a grandes distancias o los dispositivos reprogramables para
dentro de la misma universidad transmisión y recepción de señales
combinando diferentes aulas muy utilizados con l radio y en este
simultáneamente para una clase o proyecto para video ya que
conferencia especifica lo que permite comercialmente sería difícil
un mayor número de estudiantes implementarlo por el alto costo de los
recibiendo la misma información, con equipos USRP.
el desarrollo de este proyecto
logramos una transmisión de video REFERENCIAS
sin necesidad de utilizar internet que
es la herramienta esencial del [1] R.Gandhiraj, KPSoman, “el
streaming, lo que permite que los desarrollo de sistemas de
comunicación digital analógico
estudiantes tengan una mayor
moderna y el uso de GNU Radio con
interacción con los equipos utilizados
USRP”, Springer, 2013
en la trasmisión y comprendan su
funcionamiento, y quizás logren hacer
modificaciones de acuerdo a las [2] Markus Dillinger, Kambiz Madany,
necesidades de cada sesión de clase. y Nancy Alonistioti, "Software-Defined
Radio Lo esencial,"
Ha sido posible realizar de este Revision de software defined radio:
proyecto gracias a la perseverancia Arquitecturas
de querer descubrir otros usos de Vol. 6, no. 10, 2005.
[3] Abirami M, “Analisis de
rendimiento de tiempo real Sistema
de comunicacion basado en el uso de
GNURadio y USRP OFDM”,
International Journal of Advance
Investigacion en Ingenieria y software
Informatica, 3 (4), pp.1-6, 2013.

[4] GNU Radio Companion: http: //


www.gnuradio.org / trac/ Wiki /
compañero de GNU Radio

[5] Matt Ettus "de la Guía del


desarrollador de usuario y USRP"

También podría gustarte