FMUSER Wirless Transmituj wideo i audio łatwiejsze!
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org -> Afrikaans
sq.fmuser.org -> albański
ar.fmuser.org -> arabski
hy.fmuser.org -> Armeński
az.fmuser.org -> Azerbejdżański
eu.fmuser.org -> baskijski
be.fmuser.org -> białoruski
bg.fmuser.org -> bułgarski
ca.fmuser.org -> kataloński
zh-CN.fmuser.org -> chiński (uproszczony)
zh-TW.fmuser.org -> chiński (tradycyjny)
hr.fmuser.org -> chorwacki
cs.fmuser.org -> czeski
da.fmuser.org -> duński
nl.fmuser.org -> holenderski
et.fmuser.org -> estoński
tl.fmuser.org -> filipiński
fi.fmuser.org -> fiński
fr.fmuser.org -> francuski
gl.fmuser.org -> galicyjski
ka.fmuser.org -> gruziński
de.fmuser.org -> niemiecki
el.fmuser.org -> grecki
ht.fmuser.org -> kreolski haitański
iw.fmuser.org -> hebrajski
hi.fmuser.org -> hindi
hu.fmuser.org -> węgierski
is.fmuser.org -> islandzki
id.fmuser.org -> indonezyjski
ga.fmuser.org -> irlandzki
it.fmuser.org -> włoski
ja.fmuser.org -> japoński
ko.fmuser.org -> koreański
lv.fmuser.org -> łotewski
lt.fmuser.org -> litewski
mk.fmuser.org -> macedoński
ms.fmuser.org -> malajski
mt.fmuser.org -> maltański
no.fmuser.org -> norweski
fa.fmuser.org -> perski
pl.fmuser.org -> polski
pt.fmuser.org -> portugalski
ro.fmuser.org -> rumuński
ru.fmuser.org -> rosyjski
sr.fmuser.org -> serbski
sk.fmuser.org -> słowacki
sl.fmuser.org -> słoweński
es.fmuser.org -> hiszpański
sw.fmuser.org -> suahili
sv.fmuser.org -> szwedzki
th.fmuser.org -> Tajski
tr.fmuser.org -> turecki
uk.fmuser.org -> ukraiński
ur.fmuser.org -> Urdu
vi.fmuser.org -> wietnamski
cy.fmuser.org -> walijski
yi.fmuser.org -> jidysz
Kod open source live555 to zestaw SDK używany do implementacji funkcji transmisji mediów strumieniowych. Użyj pliku play Common.cpp w folderze teSTProgs w SDK, aby zaprojektować moduł transmisyjny dekodera IP TV i razem z modułem odtwarzania stanowić odtwarzacz mediów strumieniowych procesu dekodera IPTV. playCommon. cpp to most łączący serwer i klienta. Jego zasada działania polega na tym, że gdy klient żąda danych z serwera, uzyskuje informacje opisu SDP z adresu URL serwera i tworzy sesję multimedialną w oparciu o SDP, a na koniec odtwarza strumień danych.
wprowadził proces projektowania odtwarzacza multimedialnego dekodera IPTV, wykorzystując funkcję playCommON.cpp w kodzie open source live555, w połączeniu z projektem struktury oprogramowania dekodera IPTV, opracował moduł transmisji dekodera IPTV . Następnie moduł transmisji jest połączony z oprogramowaniem pośredniczącym przez kolejkę komunikatów, a jednocześnie jest połączony z modułem odtwarzania poprzez funkcję wejścia modułu odtwarzającego i ostatecznie stanowi odtwarzacz multimediów strumieniowych dekodera IPTV. Odtwarzacz został przetestowany i ma stabilną wydajność.
1 Projekt odtwarzacza multimediów z dekoderem IPTV
1. 1 Struktura oprogramowania dekodera IPTV
Kod oprogramowania dekodera jest podzielony na 4 części: sterownik sprzętu, system operacyjny, oprogramowanie pośrednie, warstwa aplikacji.
1) Sterownik sprzętu łączy podstawowy sprzęt i wyższy system operacyjny. 2) System operacyjny Wykorzystano tutaj darmowy otwarty kod źródłowy Linux. 3) Oprogramowanie pośrednie Warstwa adaptacji oprogramowania, która izoluje górną warstwę aplikacji od podstawowego systemu operacyjnego i sprzętu. Podstawowe moduły oprogramowania pośredniego obejmują głównie: (1) Przeglądarka: Uzyskaj adres URL z serwera i wyświetl odpowiednią stronę EPG. (2) Zarządzanie graficznym interfejsem użytkownika: zapewnia funkcje graficzne, takie jak sterowanie interfejsem użytkownika (takie jak przyciski, listy) i rysowanie obrazów graficznych dla aplikacji. 4) Warstwa aplikacji realizuje odtwarzanie plików multimedialnych audio i wideo.
1.2 Struktura systemu odtwarzacza multimediów z dekoderem IPTV
W otwartym kodzie źródłowym Live555 playCommon.cpp realizuje funkcję używania komputera jako terminala odbiorczego, odbierania i odtwarzania z oprogramowaniem VLC, a na końcu wyświetlania go na komputerze. Przedmiotem badań jest zintegrowanie playCommon.cpp z kodem oprogramowania dekodera, a na koniec zrealizowanie funkcji wykorzystania dekodera IPTV jako terminala odbiorczego i odtwarzania go i wyświetlania na telewizorze. Stawia to nowe wymagania dotyczące projektu kodu: z jednej strony playCommon.cpp uzyskuje adres URL serwera wpisując rtsp: // lokalny adres IP: numer portu / nazwa pliku do odtworzenia w kolumnie RTSP VLC . Nabyty. Jednak w przypadku dekodera IPTV adres URL uzyskany przez moduł transmisji jest odpowiednim adresem URL, gdy użytkownik wybierze program w EPG za pomocą pilota. Ten adres URL jest odczytywany przez przeglądarkę w oprogramowaniu pośrednim, dlatego konieczne jest podłączenie oprogramowania pośredniego i modułu transmisji w pozycji stojącej. Z drugiej strony strumień danych wysłany przez playCommon.cpp jest odbierany i odtwarzany przez VLC. W przypadku dekoderów IPTV strumień danych wysyłany przez moduł transmisji jest odbierany i odtwarzany przez moduł odtwarzania. Dlatego konieczne jest podłączenie modułu transmisyjnego i modułu odtwarzającego.
Aby połączyć oprogramowanie pośrednie, moduł wyjściowy i moduł odtwarzania, zaprojektowano kolejkę komunikatów, aby zrealizować komunikację danych między tymi trzema modułami. Ponadto funkcja pt hread create () jest również zaprojektowana w programie do tworzenia wątku rt spmain () w celu zrealizowania współbieżności programu.
1.3 Analiza struktury programu
1.3.1 Moduł transmisyjny.
1) funkcja główna (1) void initMsgQ () inicjuje kolejkę komunikatów. dataQid reprezentuje kolejkę komunikatów danych, która zawiera pewne dane przesyłane w sieci. Na koniec dane w kolejce wiadomości są wysyłane do gracza za pomocą funkcji void send data to player (). msgkeyQid reprezentuje kolejkę komunikatów wartości klucza komunikatu. Moduł transmisji odbiera polecenie wartości klucza zdalnego sterowania uzyskane z oprogramowania pośredniego i wysyła je do odtwarzacza w celu wykonania operacji szybkiego przewijania do przodu, przewijania do tyłu, zatrzymania i odtwarzania. fromeMiddleQid reprezentuje kolejkę komunikatów oprogramowania pośredniego. Moduł transmisji odbiera adres URL wysłany z oprogramowania pośredniego jako adres docelowy, gdy odtwarzacz klienta żąda danych z serwera. playerStateQid reprezentuje kolejkę komunikatów stanu odtwarzania. Moduł transmisyjny służy do wysyłania i odbierania stanu odtwarzacza oraz do kontrolowania, czy jest on na żądanie, na żywo lub z przesunięciem czasowym. (2) phread_create (& g_session_thread_info, & tattr, (void * (*) (void *)) rtsp_main, (void *) & urlInform); Utwórz wątek rtsp_main (). Upewnij się, że komunikacja kolejki komunikatów i transmisja mediów strumieniowych przebiegają jednocześnie.
2) funkcja rtsp_main. (1) recvMiddlewareMsg (fromeMiddleQid, url): wartość adresu URL przekazanego z oprogramowania pośredniego jest przypisywana do zmiennej url. (Definicja adresu URL jest uzupełniana w oprogramowaniu pośrednim, więc należy ją pobrać z oprogramowania pośredniego); (2) playCommon.cpp Funkcja: gdy klient wysyła żądanie do serwera, serwer odpowiada na to żądanie, tworzy sesję multimedialną i odtwarza strumień danych. (3) main_player_entry (gTrans. First Create): Klient odbiera strumień i wywołuje funkcję wejścia odtwarzacza w celu zainicjowania odtwarzacza. (4) void send_data_to_player (): zadzwoń do gracza, wyślij do niego dane otrzymane z Internetu i zacznij grać.
|
Wpisz e-mail, aby otrzymać niespodziankę
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org -> Afrikaans
sq.fmuser.org -> albański
ar.fmuser.org -> arabski
hy.fmuser.org -> Armeński
az.fmuser.org -> Azerbejdżański
eu.fmuser.org -> baskijski
be.fmuser.org -> białoruski
bg.fmuser.org -> bułgarski
ca.fmuser.org -> kataloński
zh-CN.fmuser.org -> chiński (uproszczony)
zh-TW.fmuser.org -> chiński (tradycyjny)
hr.fmuser.org -> chorwacki
cs.fmuser.org -> czeski
da.fmuser.org -> duński
nl.fmuser.org -> holenderski
et.fmuser.org -> estoński
tl.fmuser.org -> filipiński
fi.fmuser.org -> fiński
fr.fmuser.org -> francuski
gl.fmuser.org -> galicyjski
ka.fmuser.org -> gruziński
de.fmuser.org -> niemiecki
el.fmuser.org -> grecki
ht.fmuser.org -> kreolski haitański
iw.fmuser.org -> hebrajski
hi.fmuser.org -> hindi
hu.fmuser.org -> węgierski
is.fmuser.org -> islandzki
id.fmuser.org -> indonezyjski
ga.fmuser.org -> irlandzki
it.fmuser.org -> włoski
ja.fmuser.org -> japoński
ko.fmuser.org -> koreański
lv.fmuser.org -> łotewski
lt.fmuser.org -> litewski
mk.fmuser.org -> macedoński
ms.fmuser.org -> malajski
mt.fmuser.org -> maltański
no.fmuser.org -> norweski
fa.fmuser.org -> perski
pl.fmuser.org -> polski
pt.fmuser.org -> portugalski
ro.fmuser.org -> rumuński
ru.fmuser.org -> rosyjski
sr.fmuser.org -> serbski
sk.fmuser.org -> słowacki
sl.fmuser.org -> słoweński
es.fmuser.org -> hiszpański
sw.fmuser.org -> suahili
sv.fmuser.org -> szwedzki
th.fmuser.org -> Tajski
tr.fmuser.org -> turecki
uk.fmuser.org -> ukraiński
ur.fmuser.org -> Urdu
vi.fmuser.org -> wietnamski
cy.fmuser.org -> walijski
yi.fmuser.org -> jidysz
FMUSER Wirless Transmituj wideo i audio łatwiejsze!
Kontakt
Adres:
Nr 305 Pokój HuiLan Budynek nr 273 Huanpu Road Guangzhou Chiny 510620
Kategorie
Newsletter