FMUSER Wirless transmet la vidéo et l'audio plus facilement!
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org -> Afrikaans
sq.fmuser.org -> albanais
ar.fmuser.org -> arabe
hy.fmuser.org -> Armenian
az.fmuser.org -> azerbaïdjanais
eu.fmuser.org -> basque
be.fmuser.org -> biélorusse
bg.fmuser.org -> Bulgare
ca.fmuser.org -> catalan
zh-CN.fmuser.org -> chinois (simplifié)
zh-TW.fmuser.org -> Chinois (traditionnel)
hr.fmuser.org -> croate
cs.fmuser.org -> tchèque
da.fmuser.org -> danois
nl.fmuser.org -> Néerlandais
et.fmuser.org -> estonien
tl.fmuser.org -> Philippin
fi.fmuser.org -> finnois
fr.fmuser.org -> Français
gl.fmuser.org -> Galicien
ka.fmuser.org -> géorgien
de.fmuser.org -> allemand
el.fmuser.org -> Grec
ht.fmuser.org -> Créole haïtien
iw.fmuser.org -> hébreu
hi.fmuser.org -> Hindi
hu.fmuser.org -> Hongrois
is.fmuser.org -> islandais
id.fmuser.org -> indonésien
ga.fmuser.org -> irlandais
it.fmuser.org -> Italien
ja.fmuser.org -> japonais
ko.fmuser.org -> coréen
lv.fmuser.org -> letton
lt.fmuser.org -> Lituanien
mk.fmuser.org -> macédonien
ms.fmuser.org -> malais
mt.fmuser.org -> maltais
no.fmuser.org -> Norwegian
fa.fmuser.org -> persan
pl.fmuser.org -> polonais
pt.fmuser.org -> portugais
ro.fmuser.org -> Roumain
ru.fmuser.org -> russe
sr.fmuser.org -> serbe
sk.fmuser.org -> slovaque
sl.fmuser.org -> Slovène
es.fmuser.org -> espagnol
sw.fmuser.org -> Swahili
sv.fmuser.org -> suédois
th.fmuser.org -> Thai
tr.fmuser.org -> turc
uk.fmuser.org -> ukrainien
ur.fmuser.org -> ourdou
vi.fmuser.org -> Vietnamienne
cy.fmuser.org -> Gallois
yi.fmuser.org -> Yiddish
Le code open source live555 est le SDK utilisé pour implémenter la fonction de transmission multimédia en continu. Utilisez le play Common.cpp dans le dossier teSTProgs du SDK pour concevoir le module de transmission du décodeur IP TV et, avec le module de lecture, constitue le lecteur multimédia en continu du processus de décodeur IPTV. playCommon. cpp est un pont reliant le serveur et le client. Son principe de fonctionnement est que lorsque le client demande des données au serveur, il obtient les informations de description SDP à partir de l'URL du serveur et crée une session multimédia basée sur le SDP, et enfin lit le flux de données.
a introduit le processus de conception du lecteur multimédia de streaming de décodeur IPTV, en utilisant la fonction de playCommON.cpp dans le code open source live555, combiné à la conception de la structure logicielle du décodeur IPTV, a développé le module de transmission du décodeur IPTV . Ensuite, le module de transmission est connecté au middleware via la file d'attente de messages, et en même temps est connecté au module de lecture via la fonction d'entrée du module de lecture, et constitue enfin le lecteur multimédia en continu du décodeur IPTV. Le lecteur a été testé et a des performances stables.
1 boîtier décodeur IPTV conception de lecteur multimédia en continu
1. 1 structure logicielle du décodeur IPTV
Le code logiciel du décodeur est divisé en 4 parties: pilote matériel, système d'exploitation, middleware, couche application.
1) Le pilote matériel connecte le matériel sous-jacent et le système d'exploitation supérieur. 2) Système d'exploitation Le code open source gratuit Linux est utilisé ici. 3) Middleware Couche d'adaptation logicielle qui isole la couche d'application supérieure du système d'exploitation et du matériel sous-jacents. Les modules de base du middleware comprennent principalement: (1) Navigateur: Obtenez l'URL du serveur et affichez la page EPG correspondante. (2) Gestion de l'interface utilisateur graphique: fournit des fonctions graphiques telles que le contrôle de l'interface utilisateur (comme les boutons, les listes) et le dessin d'image graphique pour les applications. 4) La couche application réalise la lecture de fichiers multimédias audio et vidéo.
1.2 Structure du système de lecteur multimédia en continu du décodeur IPTV
Dans le code open source Live555, playCommon.cpp réalise la fonction d'utiliser un ordinateur comme terminal de réception, de recevoir et de jouer avec le logiciel VLC, et enfin de l'afficher sur l'ordinateur. Le contenu de la recherche est d'intégrer playCommon.cpp dans le code logiciel du décodeur, et enfin de réaliser la fonction d'utiliser le décodeur IPTV comme terminal de réception, de le lire et de l'afficher sur le téléviseur. Cela met en avant de nouvelles exigences pour la conception du code: d'une part, playCommon.cpp obtient l'URL du serveur en entrant rtsp: // adresse IP locale: numéro de port / nom de fichier à lire dans la colonne RTSP de VLC . Acquis. Cependant, pour le décodeur IPTV, l'URL obtenue par le module de transmission est l'URL correspondante lorsque l'utilisateur sélectionne le programme sur l'EPG via la télécommande. Cette URL est lue par le navigateur dans le middleware, il est donc nécessaire de connecter le middleware et le module de transmission debout. D'autre part, le flux de données envoyé par playCommon.cpp est reçu et lu via VLC. Pour les décodeurs IPTV, le flux de données envoyé par le module de transmission est reçu et lu via le module de lecture. Par conséquent, il est nécessaire de connecter le module de transmission et le module de lecture.
Afin de connecter le middleware, le module de sortie et le module de lecture, une file d'attente de messages est conçue pour réaliser la communication de données entre ces trois modules. De plus, pt hread create () est également conçu dans le programme pour créer thread rt spmain () pour réaliser la concurrence du programme.
1.3 Analyse de la structure du programme
1.3.1 Module de transmission.
1) main function (1) void initMsgQ () initialise la file d'attente des messages. dataQid représente la file d'attente de messages de données, qui contient certaines données transmises sur le réseau. Enfin, les données de la file d'attente des messages sont envoyées au lecteur via la fonction void send data to player (). msgkeyQid représente la file d'attente de messages de la valeur de clé de message. Le module de transmission reçoit la commande de valeur de clé de télécommande obtenue du middleware et l'envoie au lecteur pour réaliser des opérations d'avance rapide, de retour rapide, d'arrêt et de lecture. fromeMiddleQid représente la file d'attente de messages du middleware. Le module de transmission reçoit l'URL envoyée par le middleware comme adresse de destination lorsque le lecteur client demande des données au serveur. playerStateQid représente la file d'attente des messages de l'état de lecture. Le module de transmission est utilisé pour envoyer et recevoir l'état du lecteur et pour contrôler si le lecteur est à la demande, en direct ou en décalage temporel. (2) phread_create (& g_session_thread_info, & tattr, (void * (*) (void *)) rtsp_main, (void *) & urlInform); Créez un thread rtsp_main (). Assurez-vous que la communication de la file d'attente des messages et la transmission du média en continu se déroulent simultanément.
2) fonction rtsp_main. (1) recvMiddlewareMsg (fromeMiddleQid, url): La valeur de l'url transmise par le middleware est affectée à la variable url. (La définition de l'url est complétée dans le middleware, elle doit donc être obtenue à partir du middleware); (2) playCommon.cpp Fonction: lorsque le client envoie une demande au serveur, le serveur répond à la demande, crée une session multimédia et lit le flux de données. (3) main_player_entry (gTrans. First Create): Le client reçoit le flux et appelle la fonction d'entrée du joueur pour initialiser le lecteur. (4) void send_data_to_player (): appelez le joueur, envoyez les données reçues d'Internet au joueur et commencez à jouer.
|
Entrez l'email pour avoir une surprise
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org -> Afrikaans
sq.fmuser.org -> albanais
ar.fmuser.org -> arabe
hy.fmuser.org -> Armenian
az.fmuser.org -> azerbaïdjanais
eu.fmuser.org -> basque
be.fmuser.org -> biélorusse
bg.fmuser.org -> Bulgare
ca.fmuser.org -> catalan
zh-CN.fmuser.org -> chinois (simplifié)
zh-TW.fmuser.org -> Chinois (traditionnel)
hr.fmuser.org -> croate
cs.fmuser.org -> tchèque
da.fmuser.org -> danois
nl.fmuser.org -> Néerlandais
et.fmuser.org -> estonien
tl.fmuser.org -> Philippin
fi.fmuser.org -> finnois
fr.fmuser.org -> Français
gl.fmuser.org -> Galicien
ka.fmuser.org -> géorgien
de.fmuser.org -> allemand
el.fmuser.org -> Grec
ht.fmuser.org -> Créole haïtien
iw.fmuser.org -> hébreu
hi.fmuser.org -> Hindi
hu.fmuser.org -> Hongrois
is.fmuser.org -> islandais
id.fmuser.org -> indonésien
ga.fmuser.org -> irlandais
it.fmuser.org -> Italien
ja.fmuser.org -> japonais
ko.fmuser.org -> coréen
lv.fmuser.org -> letton
lt.fmuser.org -> Lituanien
mk.fmuser.org -> macédonien
ms.fmuser.org -> malais
mt.fmuser.org -> maltais
no.fmuser.org -> Norwegian
fa.fmuser.org -> persan
pl.fmuser.org -> polonais
pt.fmuser.org -> portugais
ro.fmuser.org -> Roumain
ru.fmuser.org -> russe
sr.fmuser.org -> serbe
sk.fmuser.org -> slovaque
sl.fmuser.org -> Slovène
es.fmuser.org -> espagnol
sw.fmuser.org -> Swahili
sv.fmuser.org -> suédois
th.fmuser.org -> Thai
tr.fmuser.org -> turc
uk.fmuser.org -> ukrainien
ur.fmuser.org -> ourdou
vi.fmuser.org -> Vietnamienne
cy.fmuser.org -> Gallois
yi.fmuser.org -> Yiddish
FMUSER Wirless transmet la vidéo et l'audio plus facilement!
Contactez-Nous
Adresse :
No.305 Chambre HuiLan Building No.273 Huanpu Road Guangzhou Chine 510620
Catégories
Newsletter