FMUSER Wireless Video- und Audioübertragung einfacher!
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org -> Afrikaans
sq.fmuser.org -> Albanisch
ar.fmuser.org -> Arabisch
hy.fmuser.org -> Armenisch
az.fmuser.org -> Aserbaidschanisch
eu.fmuser.org -> Baskisch
be.fmuser.org -> Weißrussisch
bg.fmuser.org -> Bulgarisch
ca.fmuser.org -> Katalanisch
zh-CN.fmuser.org -> Chinesisch (vereinfacht)
zh-TW.fmuser.org -> Chinesisch (traditionell)
hr.fmuser.org -> Kroatisch
cs.fmuser.org -> Tschechisch
da.fmuser.org -> Dänisch
nl.fmuser.org -> Niederländisch
et.fmuser.org -> Estnisch
tl.fmuser.org -> Philippinisch
fi.fmuser.org -> Finnisch
fr.fmuser.org -> Französisch
gl.fmuser.org -> Galizisch
ka.fmuser.org -> Georgisch
de.fmuser.org -> Deutsch
el.fmuser.org -> Griechisch
ht.fmuser.org -> Haitianisches Kreol
iw.fmuser.org -> Hebräisch
hi.fmuser.org -> Hindi
hu.fmuser.org -> Ungarisch
is.fmuser.org -> Isländisch
id.fmuser.org -> Indonesisch
ga.fmuser.org -> Irisch
it.fmuser.org -> Italienisch
ja.fmuser.org -> Japanisch
ko.fmuser.org -> Koreanisch
lv.fmuser.org -> Lettisch
lt.fmuser.org -> Litauisch
mk.fmuser.org -> Mazedonisch
ms.fmuser.org -> Malaiisch
mt.fmuser.org -> Malteser
no.fmuser.org -> Norwegisch
fa.fmuser.org -> Persisch
pl.fmuser.org -> Polnisch
pt.fmuser.org -> Portugiesisch
ro.fmuser.org -> Rumänisch
ru.fmuser.org -> Russisch
sr.fmuser.org -> Serbisch
sk.fmuser.org -> Slowakisch
sl.fmuser.org -> Slowenisch
es.fmuser.org -> Spanisch
sw.fmuser.org -> Suaheli
sv.fmuser.org -> Schwedisch
th.fmuser.org -> Thai
tr.fmuser.org -> Türkisch
uk.fmuser.org -> Ukrainisch
ur.fmuser.org -> Urdu
vi.fmuser.org -> Vietnamesisch
cy.fmuser.org -> Walisisch
yi.fmuser.org -> Jiddisch
Der Open Source Code live555 ist das SDK, mit dem die Streaming Media-Übertragungsfunktion implementiert wird. Verwenden Sie die Wiedergabe Common.cpp im Ordner teSTProgs im SDK, um das Übertragungsmodul der IP-TV-Set-Top-Box zu entwerfen, und bilden Sie zusammen mit dem Wiedergabemodul den Streaming-Media-Player des IPTV-Set-Top-Box-Prozesses. playCommon. cpp ist eine Brücke zwischen Server und Client. Das Funktionsprinzip besteht darin, dass der Client, wenn er Daten vom Server anfordert, die SDP-Beschreibungsinformationen von der Server-URL abruft, eine Multimedia-Sitzung basierend auf dem SDP erstellt und schließlich den Datenstrom wiedergibt.
Einführung des Designprozesses des IPTV-Set-Top-Box-Streaming-Media-Players unter Verwendung der Funktion playCommON.cpp in Live555-Open-Source-Code, kombiniert mit dem Softwarestrukturdesign der IPTV-Set-Top-Box, Entwicklung des Übertragungsmoduls der IPTV-Set-Top-Box . Dann wird das Übertragungsmodul über die Nachrichtenwarteschlange mit der Middleware verbunden und gleichzeitig über die Eingabefunktion des Wiedergabemoduls mit dem Wiedergabemodul verbunden und bildet schließlich den Streaming Media Player der IPTV-Set-Top-Box. Der Player wurde getestet und hat eine stabile Leistung.
1 Design des IPTV-Set-Top-Box-Streaming-Media-Players
1. 1 IPTV-Set-Top-Box-Softwarestruktur
Der Software-Code der Set-Top-Box ist in vier Teile unterteilt: Hardwaretreiber, Betriebssystem, Middleware, Anwendungsschicht.
1) Der Hardwaretreiber verbindet die zugrunde liegende Hardware und das obere Betriebssystem. 2) Betriebssystem Hier wird der kostenlose Open Source Code Linux verwendet. 3) Middleware Die Software-Anpassungsschicht, die die obere Anwendungsschicht vom zugrunde liegenden Betriebssystem und der zugrunde liegenden Hardware isoliert. Die Kernmodule der Middleware umfassen hauptsächlich: (1) Browser: Beziehen Sie die URL vom Server und zeigen Sie die entsprechende EPG-Seite an. (2) Grafische Benutzeroberflächenverwaltung: Bereitstellung grafischer Funktionen wie Steuerung der Benutzeroberfläche (wie Schaltflächen, Listen) und grafische Bildzeichnung für Anwendungen. 4) Die Anwendungsschicht realisiert die Wiedergabe von Audio- und Videomediendateien.
1.2 Systemstruktur des IPTV-Set-Top-Box-Streaming-Media-Players
Im Open555-Open-Source-Code erkennt playCommon.cpp die Funktion, einen Computer als Empfangsterminal zu verwenden, VLC-Software zu empfangen, mit ihr zu spielen und sie schließlich auf dem Computer anzuzeigen. Der Inhalt der Forschung besteht darin, playCommon.cpp in den Software-Code der Set-Top-Box zu integrieren und schließlich die Funktion zu realisieren, die IPTV-Set-Top-Box als Empfangsterminal zu verwenden und sie abzuspielen und auf dem Fernseher anzuzeigen. Dies stellt neue Anforderungen an das Design des Codes: Zum einen erhält playCommon.cpp die URL des Servers durch Eingabe von rtsp: // lokale IP-Adresse: Portnummer / Dateiname, die in der RTSP-Spalte von VLC abgespielt werden soll . Erworben. Bei der IPTV-Set-Top-Box ist die vom Übertragungsmodul erhaltene URL jedoch die entsprechende URL, wenn der Benutzer das Programm auf dem EPG über die Fernbedienung auswählt. Diese URL wird vom Browser in der Middleware gelesen, daher ist es erforderlich, die Middleware und das Übertragungsmodul im Stehen zu verbinden. Andererseits wird der von playCommon.cpp gesendete Datenstrom über VLC empfangen und abgespielt. Bei IPTV-Set-Top-Boxen wird der vom Übertragungsmodul gesendete Datenstrom über das Wiedergabemodul empfangen und wiedergegeben. Daher ist es notwendig, das Übertragungsmodul und das Wiedergabemodul zu verbinden.
Um die Middleware, das Ausgabemodul und das Wiedergabemodul zu verbinden, wird eine Nachrichtenwarteschlange entworfen, um die Datenkommunikation zwischen diesen drei Modulen zu realisieren. Darüber hinaus ist pt hread create () im Programm so konzipiert, dass der Thread rt spmain () erstellt wird, um die Parallelität des Programms zu realisieren.
1.3 Programmstrukturanalyse
1.3.1 Übertragungsmodul.
1) Hauptfunktion (1) void initMsgQ () initialisiert die Nachrichtenwarteschlange. dataQid stellt die Nachrichtenwarteschlange von Daten dar, die einige im Netzwerk übertragene Daten enthält. Schließlich werden die Daten in der Nachrichtenwarteschlange über die Funktion zum Senden von Daten an player () an den Player gesendet. msgkeyQid repräsentiert die Nachrichtenwarteschlange des Nachrichtenschlüsselwerts. Das Übertragungsmodul empfängt den von der Middleware erhaltenen Befehl für den Fernbedienungsschlüsselwert und sendet ihn an den Player, um Vorwärts-, Rücklauf-, Stopp- und Wiedergabevorgänge durchzuführen. fromeMiddleQid repräsentiert die Nachrichtenwarteschlange der Middleware. Das Übertragungsmodul empfängt die von der Middleware gesendete URL als Zieladresse, wenn der Client-Player Daten vom Server anfordert. playerStateQid repräsentiert die Nachrichtenwarteschlange des Wiedergabestatus. Das Übertragungsmodul wird verwendet, um den Status des Players zu senden und zu empfangen und um zu steuern, ob der Player bei Bedarf, live oder zeitversetzt ist. (2) phread_create (& g_session_thread_info, & tattr, (void * (*) (void *)) rtsp_main, (void *) & urlInform); Erstellen Sie den Thread rtsp_main (). Stellen Sie sicher, dass die Kommunikation der Nachrichtenwarteschlange und die Übertragung des Streaming-Mediums gleichzeitig ausgeführt werden.
2) Funktion rtsp_main. (1) recvMiddlewareMsg (fromeMiddleQid, url): Der Wert der von der Middleware übergebenen URL wird der variablen URL zugewiesen. (Die Definition der URL ist in der Middleware abgeschlossen, muss also von der Middleware bezogen werden.) (2) playCommon.cpp-Funktion: Wenn der Client eine Anforderung an den Server sendet, antwortet der Server auf die Anforderung, erstellt eine Mediensitzung und spielt den Datenstrom ab. (3) main_player_entry (gTrans. First Create): Der Client empfängt den Stream und ruft die Eingabefunktion des Players auf, um den Player zu initialisieren. (4) void send_data_to_player (): Rufe den Player an, sende die aus dem Internet empfangenen Daten an den Player und beginne zu spielen.
|
Geben Sie eine E-Mail-Adresse ein, um eine Überraschung zu erhalten
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org -> Afrikaans
sq.fmuser.org -> Albanisch
ar.fmuser.org -> Arabisch
hy.fmuser.org -> Armenisch
az.fmuser.org -> Aserbaidschanisch
eu.fmuser.org -> Baskisch
be.fmuser.org -> Weißrussisch
bg.fmuser.org -> Bulgarisch
ca.fmuser.org -> Katalanisch
zh-CN.fmuser.org -> Chinesisch (vereinfacht)
zh-TW.fmuser.org -> Chinesisch (traditionell)
hr.fmuser.org -> Kroatisch
cs.fmuser.org -> Tschechisch
da.fmuser.org -> Dänisch
nl.fmuser.org -> Niederländisch
et.fmuser.org -> Estnisch
tl.fmuser.org -> Philippinisch
fi.fmuser.org -> Finnisch
fr.fmuser.org -> Französisch
gl.fmuser.org -> Galizisch
ka.fmuser.org -> Georgisch
de.fmuser.org -> Deutsch
el.fmuser.org -> Griechisch
ht.fmuser.org -> Haitianisches Kreol
iw.fmuser.org -> Hebräisch
hi.fmuser.org -> Hindi
hu.fmuser.org -> Ungarisch
is.fmuser.org -> Isländisch
id.fmuser.org -> Indonesisch
ga.fmuser.org -> Irisch
it.fmuser.org -> Italienisch
ja.fmuser.org -> Japanisch
ko.fmuser.org -> Koreanisch
lv.fmuser.org -> Lettisch
lt.fmuser.org -> Litauisch
mk.fmuser.org -> Mazedonisch
ms.fmuser.org -> Malaiisch
mt.fmuser.org -> Malteser
no.fmuser.org -> Norwegisch
fa.fmuser.org -> Persisch
pl.fmuser.org -> Polnisch
pt.fmuser.org -> Portugiesisch
ro.fmuser.org -> Rumänisch
ru.fmuser.org -> Russisch
sr.fmuser.org -> Serbisch
sk.fmuser.org -> Slowakisch
sl.fmuser.org -> Slowenisch
es.fmuser.org -> Spanisch
sw.fmuser.org -> Suaheli
sv.fmuser.org -> Schwedisch
th.fmuser.org -> Thai
tr.fmuser.org -> Türkisch
uk.fmuser.org -> Ukrainisch
ur.fmuser.org -> Urdu
vi.fmuser.org -> Vietnamesisch
cy.fmuser.org -> Walisisch
yi.fmuser.org -> Jiddisch
FMUSER Wireless Video- und Audioübertragung einfacher!
Kontakt
Adresse
Nr.305 Zimmer HuiLan Gebäude Nr.273 Huanpu Road Guangzhou China 510620
Kategorien
Newsletter