FMUSER Wirless Verzend video en audio eenvoudiger!
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org -> Afrikaans
sq.fmuser.org -> Albanees
ar.fmuser.org -> Arabisch
hy.fmuser.org -> Armenian
az.fmuser.org -> Azerbeidzjaans
eu.fmuser.org -> Baskisch
be.fmuser.org -> Wit-Russisch
bg.fmuser.org -> Bulgarian
ca.fmuser.org -> Catalaans
zh-CN.fmuser.org -> Chinees (vereenvoudigd)
zh-TW.fmuser.org -> Chinees (traditioneel)
hr.fmuser.org -> Kroatisch
cs.fmuser.org -> Tsjechisch
da.fmuser.org -> Deens
nl.fmuser.org -> Nederlands
et.fmuser.org -> Ests
tl.fmuser.org -> Filipijns
fi.fmuser.org -> Fins
fr.fmuser.org -> Frans
gl.fmuser.org -> Galicisch
ka.fmuser.org -> Georgisch
de.fmuser.org -> Duits
el.fmuser.org -> Greek
ht.fmuser.org -> Haïtiaans Creools
iw.fmuser.org -> Hebreeuws
hi.fmuser.org -> Hindi
hu.fmuser.org -> Hungarian
is.fmuser.org -> IJslands
id.fmuser.org -> Indonesisch
ga.fmuser.org -> Iers
it.fmuser.org -> Italian
ja.fmuser.org -> Japans
ko.fmuser.org -> Koreaans
lv.fmuser.org -> Lets
lt.fmuser.org -> Lithuanian
mk.fmuser.org -> Macedonisch
ms.fmuser.org -> Maleis
mt.fmuser.org -> Maltees
no.fmuser.org -> Norwegian
fa.fmuser.org -> Perzisch
pl.fmuser.org -> Pools
pt.fmuser.org -> Portugees
ro.fmuser.org -> Roemeens
ru.fmuser.org -> Russisch
sr.fmuser.org -> Servisch
sk.fmuser.org -> Slowaaks
sl.fmuser.org -> Slovenian
es.fmuser.org -> Spaans
sw.fmuser.org -> Swahili
sv.fmuser.org -> Zweeds
th.fmuser.org -> Thai
tr.fmuser.org -> Turks
uk.fmuser.org -> Oekraïens
ur.fmuser.org -> Urdu
vi.fmuser.org -> Vietnamese
cy.fmuser.org -> Welsh
yi.fmuser.org -> Jiddisch
De open source-code live555 is de SDK die wordt gebruikt om de functie voor het verzenden van streaming media te implementeren. Gebruik de play Common.cpp in de teSTProgs-map in de SDK om de transmissiemodule van de IP TV-settopbox te ontwerpen en samen met de afspeelmodule de streaming mediaspeler van het IPTV-settopbox-proces te vormen. playCommon. cpp is een brug die de server en de client verbindt. Het werkingsprincipe is dat wanneer de client gegevens opvraagt bij de server, deze de SDP-beschrijvingsinformatie verkrijgt van de server-URL en een multimediasessie creëert op basis van de SDP, en tenslotte de datastroom afspeelt.
introduceerde het ontwerpproces van IPTV set-top box streaming mediaspeler, met behulp van de functie van playCommON.cpp in live555 open source code, gecombineerd met het softwarestructuurontwerp van IPTV set-top box, ontwikkelde de transmissiemodule van IPTV set-top box . Vervolgens is de transmissiemodule verbonden met de middleware via de berichtenwachtrij en tegelijkertijd verbonden met de afspeelmodule via de invoerfunctie van de afspeelmodule, en vormt tenslotte de streaming mediaspeler van de IPTV-settopbox. De speler is getest en levert stabiele prestaties.
1 IPTV set-top box streaming mediaspeler ontwerp
1. 1 IPTV set-top box softwarestructuur
De softwarecode van de settopbox is onderverdeeld in 4 delen: hardwarestuurprogramma, besturingssysteem, middleware, applicatielaag.
1) Het hardwarestuurprogramma verbindt de onderliggende hardware en het bovenste besturingssysteem. 2) Besturingssysteem De gratis open source code Linux wordt hier gebruikt. 3) Middleware De softwareaanpassingslaag die de bovenste applicatielaag isoleert van het onderliggende besturingssysteem en hardware. De kernmodules van de middleware omvatten voornamelijk: (1) Browser: verkrijg de URL van de server en geef de bijbehorende EPG-pagina weer. (2) Grafisch gebruikersinterfacebeheer: biedt grafische functies zoals bediening van de gebruikersinterface (zoals knoppen, lijsten) en grafische afbeeldingstekening voor toepassingen. 4) De applicatielaag realiseert het afspelen van audio- en videomediabestanden.
1.2 IPTV set-top box streaming mediaspeler systeemstructuur
In de Live555 open source-code realiseert playCommon.cpp de functie van het gebruik van een computer als een ontvangende terminal, het ontvangen en spelen met VLC-software en deze uiteindelijk op de computer weer te geven. De inhoud van het onderzoek is om playCommon.cpp te integreren in de softwarecode van de set-top box, en uiteindelijk de functie te realiseren van het gebruik van de IPTV set-top box als de ontvangende terminal en deze af te spelen en weer te geven op de tv. Dit stelt nieuwe eisen aan het ontwerp van de code: enerzijds verkrijgt playCommon.cpp de URL van de server door rtsp: // lokaal IP-adres: poortnummer / bestandsnaam in te voeren in de RTSP-kolom van VLC . Verworven. Voor de IPTV-settopbox is de URL die wordt verkregen door de transmissiemodule echter de overeenkomstige URL wanneer de gebruiker het programma op de EPG selecteert via de afstandsbediening. Deze URL wordt door de browser in de middleware gelezen, dus het is noodzakelijk om de middleware en de transmissiemodule stand-up te verbinden. Aan de andere kant wordt de datastroom die door playCommon.cpp wordt verzonden, ontvangen en afgespeeld via VLC. Voor IPTV-settopboxen wordt de datastroom die door de transmissiemodule wordt verzonden, ontvangen en afgespeeld via de afspeelmodule. Daarom is het nodig om de transmissiemodule en de afspeelmodule te verbinden.
Om de middleware, de uitgangsmodule en de afspeelmodule met elkaar te verbinden, is een berichtenwachtrij ontworpen om de datacommunicatie tussen deze drie modules te realiseren. Bovendien is pt hread create () ook ontworpen in het programma om thread rt spmain () te maken om de gelijktijdigheid van het programma te realiseren.
1.3 Programmastructuuranalyse
1.3.1 Transmissiemodule.
1) hoofdfunctie (1) void initMsgQ () initialiseert de berichtenwachtrij. dataQid vertegenwoordigt de berichtenwachtrij met gegevens, die gegevens bevat die over het netwerk worden verzonden. Ten slotte worden de gegevens in de berichtenwachtrij naar de speler gestuurd via de functie void send data to player (). msgkeyQid vertegenwoordigt de berichtenwachtrij van de berichtsleutelwaarde. De transmissiemodule ontvangt de afstandsbedieningssleutelwaardeopdracht die is verkregen van de middleware en stuurt deze naar de speler om snel vooruit-, terugspoel-, stop- en afspeelbewerkingen uit te voeren. fromeMiddleQid vertegenwoordigt de berichtenwachtrij van de middleware. De transmissiemodule ontvangt de URL die door de middleware is verzonden als het bestemmingsadres wanneer de cliëntspeler gegevens opvraagt bij de server. playerStateQid vertegenwoordigt de berichtenwachtrij van de afspeelstatus. De transmissiemodule wordt gebruikt om de status van de speler te verzenden en te ontvangen, en om te bepalen of de speler on-demand, live of timeshift is. (2) phread_create (& g_session_thread_info, & tattr, (void * (*) (void *)) rtsp_main, (void *) & urlInform); Maak een rtsp_main () thread. Zorg ervoor dat de communicatie van de berichtenwachtrij en de verzending van de streaming media gelijktijdig plaatsvinden.
2) rtsp_main-functie. (1) recvMiddlewareMsg (fromeMiddleQid, url): De waarde van de url die door de middleware wordt doorgegeven, wordt toegewezen aan de variabele url. (De definitie van url is voltooid in de middleware, dus het moet worden opgehaald uit de middleware); (2) playCommon.cpp Functie: wanneer de client een verzoek naar de server verzendt, reageert de server op het verzoek, maakt een mediasessie aan en speelt de datastroom af. (3) main_player_entry (gTrans. First Create): De client ontvangt de stream en roept de toegangsfunctie van de speler op om de speler te initialiseren. (4) void send_data_to_player (): bel de speler, stuur de ontvangen gegevens van internet naar de speler en begin met spelen.
|
Voer een e-mailadres in om een verrassing te ontvangen
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org -> Afrikaans
sq.fmuser.org -> Albanees
ar.fmuser.org -> Arabisch
hy.fmuser.org -> Armenian
az.fmuser.org -> Azerbeidzjaans
eu.fmuser.org -> Baskisch
be.fmuser.org -> Wit-Russisch
bg.fmuser.org -> Bulgarian
ca.fmuser.org -> Catalaans
zh-CN.fmuser.org -> Chinees (vereenvoudigd)
zh-TW.fmuser.org -> Chinees (traditioneel)
hr.fmuser.org -> Kroatisch
cs.fmuser.org -> Tsjechisch
da.fmuser.org -> Deens
nl.fmuser.org -> Nederlands
et.fmuser.org -> Ests
tl.fmuser.org -> Filipijns
fi.fmuser.org -> Fins
fr.fmuser.org -> Frans
gl.fmuser.org -> Galicisch
ka.fmuser.org -> Georgisch
de.fmuser.org -> Duits
el.fmuser.org -> Greek
ht.fmuser.org -> Haïtiaans Creools
iw.fmuser.org -> Hebreeuws
hi.fmuser.org -> Hindi
hu.fmuser.org -> Hungarian
is.fmuser.org -> IJslands
id.fmuser.org -> Indonesisch
ga.fmuser.org -> Iers
it.fmuser.org -> Italian
ja.fmuser.org -> Japans
ko.fmuser.org -> Koreaans
lv.fmuser.org -> Lets
lt.fmuser.org -> Lithuanian
mk.fmuser.org -> Macedonisch
ms.fmuser.org -> Maleis
mt.fmuser.org -> Maltees
no.fmuser.org -> Norwegian
fa.fmuser.org -> Perzisch
pl.fmuser.org -> Pools
pt.fmuser.org -> Portugees
ro.fmuser.org -> Roemeens
ru.fmuser.org -> Russisch
sr.fmuser.org -> Servisch
sk.fmuser.org -> Slowaaks
sl.fmuser.org -> Slovenian
es.fmuser.org -> Spaans
sw.fmuser.org -> Swahili
sv.fmuser.org -> Zweeds
th.fmuser.org -> Thai
tr.fmuser.org -> Turks
uk.fmuser.org -> Oekraïens
ur.fmuser.org -> Urdu
vi.fmuser.org -> Vietnamese
cy.fmuser.org -> Welsh
yi.fmuser.org -> Jiddisch
FMUSER Wirless Verzend video en audio eenvoudiger!
Neem contact op
Adres:
No.305 Zaal HuiLan Gebouw No.273 Huanpu Road Guangzhou China 510620
Categorieën
Nieuwsbrief