FMUSER ¡Transmite video y audio sin cables más fácilmente!
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org -> Afrikáans
sq.fmuser.org -> albanés
ar.fmuser.org -> árabe
hy.fmuser.org -> Armenio
az.fmuser.org -> azerbaiyano
eu.fmuser.org -> Vasco
be.fmuser.org -> bielorruso
bg.fmuser.org -> Bulgaria
ca.fmuser.org -> catalán
zh-CN.fmuser.org -> chino (simplificado)
zh-TW.fmuser.org -> Chino (tradicional)
hr.fmuser.org -> croata
cs.fmuser.org -> checo
da.fmuser.org -> danés
nl.fmuser.org -> Holandés
et.fmuser.org -> estonio
tl.fmuser.org -> filipino
fi.fmuser.org -> finlandés
fr.fmuser.org -> Francés
gl.fmuser.org -> gallego
ka.fmuser.org -> georgiano
de.fmuser.org -> alemán
el.fmuser.org -> Griego
ht.fmuser.org -> criollo haitiano
iw.fmuser.org -> hebreo
hi.fmuser.org -> Hindi
hu.fmuser.org -> Hungarian
is.fmuser.org -> islandés
id.fmuser.org -> indonesio
ga.fmuser.org -> irlandés
it.fmuser.org -> Italiano
ja.fmuser.org -> japonés
ko.fmuser.org -> coreano
lv.fmuser.org -> letón
lt.fmuser.org -> Lituania
mk.fmuser.org -> macedonio
ms.fmuser.org -> malayo
mt.fmuser.org -> maltés
no.fmuser.org -> Noruega
fa.fmuser.org -> persa
pl.fmuser.org -> polaco
pt.fmuser.org -> portugués
ro.fmuser.org -> Rumano
ru.fmuser.org -> ruso
sr.fmuser.org -> serbio
sk.fmuser.org -> eslovaco
sl.fmuser.org -> Eslovenia
es.fmuser.org -> español
sw.fmuser.org -> Swahili
sv.fmuser.org -> sueco
th.fmuser.org -> Tailandés
tr.fmuser.org -> turco
uk.fmuser.org -> ucraniano
ur.fmuser.org -> Urdu
vi.fmuser.org -> Vietnamita
cy.fmuser.org -> galés
yi.fmuser.org -> Yiddish
El código fuente abierto live555 es el SDK que se utiliza para implementar la función de transmisión de medios en tiempo real. Utilice play Common.cpp en la carpeta teSTProgs del SDK para diseñar el módulo de transmisión del decodificador de IP TV y, junto con el módulo de reproducción, constituya el reproductor multimedia de transmisión del proceso del decodificador de IPTV. playCommon. cpp es un puente que conecta el servidor y el cliente. Su principio de funcionamiento es que cuando el cliente solicita datos del servidor, obtiene la información de descripción del SDP de la URL del servidor y crea una sesión multimedia basada en el SDP, y finalmente reproduce el flujo de datos.
introdujo el proceso de diseño del reproductor multimedia de transmisión de decodificador de IPTV, utilizando la función de playCommON.cpp en el código fuente abierto live555, combinado con el diseño de la estructura de software del decodificador de IPTV, desarrolló el módulo de transmisión del decodificador de IPTV . Luego, el módulo de transmisión se conecta con el middleware a través de la cola de mensajes, y al mismo tiempo se conecta con el módulo de reproducción a través de la función de entrada del módulo de reproducción, y finalmente constituye el reproductor multimedia de transmisión del decodificador de IPTV. El reproductor ha sido probado y tiene un rendimiento estable.
1 decodificador de IPTV con diseño de reproductor de medios de transmisión
1. 1 estructura de software del decodificador de IPTV
El código de software del decodificador se divide en 4 partes: controlador de hardware, sistema operativo, middleware, capa de aplicación.
1) El controlador de hardware conecta el hardware subyacente y el sistema operativo superior. 2) Sistema operativo Aquí se utiliza el código fuente abierto gratuito Linux. 3) Middleware La capa de adaptación de software que aísla la capa de aplicación superior del sistema operativo y el hardware subyacentes. Los módulos principales del middleware incluyen principalmente: (1) Navegador: obtenga la URL del servidor y muestre la página EPG correspondiente. (2) Gestión de la interfaz gráfica de usuario: proporciona funciones gráficas como el control de la interfaz de usuario (como botones, listas) y el dibujo de imágenes gráficas para aplicaciones. 4) La capa de aplicación se da cuenta de la reproducción de archivos multimedia de audio y video.
1.2 Estructura del sistema del reproductor multimedia de transmisión del decodificador de IPTV
En el código fuente abierto Live555, playCommon.cpp realiza la función de usar una computadora como terminal de recepción, recibir y jugar con el software VLC y finalmente mostrarlo en la computadora. El contenido de la investigación es integrar playCommon.cpp en el código de software del decodificador y finalmente realizar la función de usar el decodificador de IPTV como terminal de recepción y reproducirlo y mostrarlo en el televisor. Esto plantea nuevos requisitos para el diseño del código: por un lado, playCommon.cpp obtiene la URL del servidor ingresando rtsp: // dirección IP local: número de puerto / nombre de archivo que se reproducirá en la columna RTSP de VLC . Adquirido. Sin embargo, para el decodificador de IPTV, la URL obtenida por el módulo de transmisión es la URL correspondiente cuando el usuario selecciona el programa en la EPG a través del control remoto. Esta URL es leída por el navegador en el middleware, por lo que es necesario conectar el middleware y el módulo de transmisión de pie. Por otro lado, el flujo de datos enviado por playCommon.cpp se recibe y se reproduce a través de VLC. Para los decodificadores de IPTV, el flujo de datos enviado por el módulo de transmisión se recibe y se reproduce a través del módulo de reproducción. Por tanto, es necesario conectar el módulo de transmisión y el módulo de reproducción.
Para conectar el middleware, el módulo de salida y el módulo de reproducción, se diseña una cola de mensajes para realizar la comunicación de datos entre estos tres módulos. Además, pt hread create () también está diseñado en el programa para crear el hilo rt spmain () para darse cuenta de la concurrencia del programa.
1.3 Análisis de la estructura del programa
1.3.1 Módulo de transmisión.
1) función principal (1) void initMsgQ () inicializa la cola de mensajes. dataQid representa la cola de mensajes de datos, que contiene algunos datos transmitidos en la red. Finalmente, los datos en la cola de mensajes se envían al jugador a través de la función void enviar datos al jugador (). msgkeyQid representa la cola de mensajes del valor de la clave del mensaje. El módulo de transmisión recibe el comando de valor de clave de control remoto obtenido del middleware y lo envía al reproductor para realizar operaciones de avance rápido, rebobinado rápido, parada y reproducción. fromeMiddleQid representa la cola de mensajes del middleware. El módulo de transmisión recibe la URL enviada desde el middleware como dirección de destino cuando el jugador cliente solicita datos del servidor. playerStateQid representa la cola de mensajes del estado de reproducción. El módulo de transmisión se utiliza para enviar y recibir el estado del jugador y para controlar si el jugador está bajo demanda, en vivo o en horario. (2) phread_create (& g_session_thread_info, & tattr, (void * (*) (void *)) rtsp_main, (void *) & urlInform); Cree el hilo rtsp_main (). Asegúrese de que la comunicación de la cola de mensajes y la transmisión de los medios de transmisión se ejecuten simultáneamente.
2) función rtsp_main. (1) recvMiddlewareMsg (fromeMiddleQid, url): el valor de la url pasada desde el middleware se asigna a la variable url. (La definición de URL se completa en el middleware, por lo que debe obtenerse del middleware); (2) Función playCommon.cpp: Cuando el cliente envía una solicitud al servidor, el servidor responde a la solicitud, crea una sesión multimedia y reproduce el flujo de datos. (3) main_player_entry (gTrans. First Create): el cliente recibe la transmisión y llama a la función de entrada del jugador para inicializar el reproductor. (4) void send_data_to_player (): llame al jugador, envíe los datos recibidos de Internet al jugador y comience a jugar.
|
Ingrese el correo electrónico para recibir una sorpresa
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org -> Afrikáans
sq.fmuser.org -> albanés
ar.fmuser.org -> árabe
hy.fmuser.org -> Armenio
az.fmuser.org -> azerbaiyano
eu.fmuser.org -> Vasco
be.fmuser.org -> bielorruso
bg.fmuser.org -> Bulgaria
ca.fmuser.org -> catalán
zh-CN.fmuser.org -> chino (simplificado)
zh-TW.fmuser.org -> Chino (tradicional)
hr.fmuser.org -> croata
cs.fmuser.org -> checo
da.fmuser.org -> danés
nl.fmuser.org -> Holandés
et.fmuser.org -> estonio
tl.fmuser.org -> filipino
fi.fmuser.org -> finlandés
fr.fmuser.org -> Francés
gl.fmuser.org -> gallego
ka.fmuser.org -> georgiano
de.fmuser.org -> alemán
el.fmuser.org -> Griego
ht.fmuser.org -> criollo haitiano
iw.fmuser.org -> hebreo
hi.fmuser.org -> Hindi
hu.fmuser.org -> Hungarian
is.fmuser.org -> islandés
id.fmuser.org -> indonesio
ga.fmuser.org -> irlandés
it.fmuser.org -> Italiano
ja.fmuser.org -> japonés
ko.fmuser.org -> coreano
lv.fmuser.org -> letón
lt.fmuser.org -> Lituania
mk.fmuser.org -> macedonio
ms.fmuser.org -> malayo
mt.fmuser.org -> maltés
no.fmuser.org -> Noruega
fa.fmuser.org -> persa
pl.fmuser.org -> polaco
pt.fmuser.org -> portugués
ro.fmuser.org -> Rumano
ru.fmuser.org -> ruso
sr.fmuser.org -> serbio
sk.fmuser.org -> eslovaco
sl.fmuser.org -> Eslovenia
es.fmuser.org -> español
sw.fmuser.org -> Swahili
sv.fmuser.org -> sueco
th.fmuser.org -> Tailandés
tr.fmuser.org -> turco
uk.fmuser.org -> ucraniano
ur.fmuser.org -> Urdu
vi.fmuser.org -> Vietnamita
cy.fmuser.org -> galés
yi.fmuser.org -> Yiddish
FMUSER ¡Transmite video y audio sin cables más fácilmente!
Contacto
Dirección:
Habitación No.305 Edificio HuiLan No.273 Huanpu Road Guangzhou China 510620
Categorías
Newsletter