FMUSER Wirless Μετάδοση βίντεο και ήχου πιο εύκολα!
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org -> Αφρικανικά
sq.fmuser.org -> Αλβανικά
ar.fmuser.org -> Αραβικά
hy.fmuser.org -> Αρμενίων
az.fmuser.org -> Αζερμπαϊτζάν
eu.fmuser.org -> Βάσκων
be.fmuser.org -> Λευκορωσικά
bg.fmuser.org -> Βουλγαρικά
ca.fmuser.org -> Καταλανικά
zh-CN.fmuser.org -> Κινέζικα (απλοποιημένα)
zh-TW.fmuser.org -> Κινέζικα (Παραδοσιακά)
hr.fmuser.org -> Κροατικά
cs.fmuser.org -> Τσέχικα
da.fmuser.org -> Δανικά
nl.fmuser.org -> Ολλανδικά
et.fmuser.org -> Εσθονικά
tl.fmuser.org -> Φιλιππινέζικα
fi.fmuser.org -> Φινλανδικά
fr.fmuser.org -> Γαλλικά
gl.fmuser.org -> Γαλικιανά
ka.fmuser.org -> Γεωργιανά
de.fmuser.org -> Γερμανικά
el.fmuser.org -> Ελληνική
ht.fmuser.org -> Κρεόλ της Αϊτής
iw.fmuser.org -> Εβραϊκά
hi.fmuser.org -> Χίντι
hu.fmuser.org -> Ουγγρική
is.fmuser.org -> Ισλανδικά
id.fmuser.org -> Ινδονησιακά
ga.fmuser.org -> Ιρλανδικά
it.fmuser.org -> Ιταλικά
ja.fmuser.org -> Ιαπωνικά
ko.fmuser.org -> Κορεάτικα
lv.fmuser.org -> Λετονικά
lt.fmuser.org -> Λιθουανικά
mk.fmuser.org -> Μακεδόνας
ms.fmuser.org -> Μαλαισιανά
mt.fmuser.org -> Μαλτέζικα
no.fmuser.org -> Νορβηγική
fa.fmuser.org -> Περσικά
pl.fmuser.org -> Πολωνικά
pt.fmuser.org -> Πορτογαλικά
ro.fmuser.org -> Ρουμανικά
ru.fmuser.org -> Ρωσικά
sr.fmuser.org -> Σέρβικα
sk.fmuser.org -> Σλοβακικά
sl.fmuser.org -> Σλοβένικα
es.fmuser.org -> Ισπανικά
sw.fmuser.org -> Σουαχίλι
sv.fmuser.org -> Σουηδικά
th.fmuser.org -> Ταϊλάνδης
tr.fmuser.org -> Τουρκικά
uk.fmuser.org -> Ουκρανικά
ur.fmuser.org -> Ουρντού
vi.fmuser.org -> Βιετνάμ
cy.fmuser.org -> Ουαλικά
yi.fmuser.org -> Γίντις
Ο ανοιχτός κώδικας live555 είναι το SDK που χρησιμοποιείται για την εφαρμογή της λειτουργίας μετάδοσης μέσων ροής. Χρησιμοποιήστε το παιχνίδι Common.cpp στο φάκελο teSTProgs στο SDK για να σχεδιάσετε τη μονάδα μετάδοσης του αποκωδικοποιητή IP TV και μαζί με τη μονάδα αναπαραγωγής αποτελούν τη συσκευή αναπαραγωγής πολυμέσων συνεχούς ροής της διαδικασίας αποκωδικοποιητή IPTV. παιχνίδιCommon. Το cpp είναι μια γέφυρα που συνδέει τον διακομιστή και τον πελάτη. Η αρχή λειτουργίας του είναι ότι όταν ο πελάτης ζητά δεδομένα από το διακομιστή, λαμβάνει τις πληροφορίες περιγραφής SDP από τη διεύθυνση URL του διακομιστή και δημιουργεί μια συνεδρία πολυμέσων με βάση το SDP και τελικά αναπαράγει τη ροή δεδομένων.
εισήγαγε τη διαδικασία σχεδίασης της συσκευής αναπαραγωγής πολυμέσων συνεχούς ροής IPTV, χρησιμοποιώντας τη λειτουργία του playCommON.cpp σε κώδικα ανοιχτού κώδικα live555, σε συνδυασμό με το σχεδιασμό δομής λογισμικού του αποκωδικοποιητή IPTV, ανέπτυξε τη μονάδα μετάδοσης του αποκωδικοποιητή IPTV . Στη συνέχεια, η μονάδα μετάδοσης συνδέεται με το μεσαίο λογισμικό μέσω της ουράς μηνυμάτων και ταυτόχρονα συνδέεται με τη μονάδα αναπαραγωγής μέσω της λειτουργίας εισόδου της μονάδας αναπαραγωγής και τελικά αποτελεί τη συσκευή αναπαραγωγής πολυμέσων ροής του αποκωδικοποιητή IPTV. Η συσκευή αναπαραγωγής έχει δοκιμαστεί και έχει σταθερή απόδοση.
1 Σχεδιασμός προγράμματος αναπαραγωγής πολυμέσων ροής αποκωδικοποιητή IPTV
1. 1 δομή λογισμικού αποκωδικοποιητή IPTV
Ο κωδικός λογισμικού του αποκωδικοποιητή χωρίζεται σε 4 μέρη: πρόγραμμα οδήγησης υλικού, λειτουργικό σύστημα, μεσαίο λογισμικό, επίπεδο εφαρμογής.
1) Το πρόγραμμα οδήγησης υλικού συνδέει το υποκείμενο υλικό και το ανώτερο λειτουργικό σύστημα. 2) Λειτουργικό σύστημα Ο ελεύθερος κώδικας ανοιχτού κώδικα Linux χρησιμοποιείται εδώ. 3) Middleware Το επίπεδο προσαρμογής λογισμικού που απομονώνει το ανώτερο επίπεδο εφαρμογής από το υποκείμενο λειτουργικό σύστημα και υλικό. Οι βασικές ενότητες του μεσαίου λογισμικού περιλαμβάνουν κυρίως: (1) Πρόγραμμα περιήγησης: Λάβετε τη διεύθυνση URL από το διακομιστή και εμφανίστε την αντίστοιχη σελίδα EPG. (2) Διαχείριση γραφικών διεπαφών χρήστη: παροχή γραφικών λειτουργιών όπως έλεγχος διεπαφής χρήστη (όπως κουμπιά, λίστες) και σχέδιο γραφικών εικόνων για εφαρμογές. 4) Το επίπεδο εφαρμογής πραγματοποιεί την αναπαραγωγή αρχείων πολυμέσων ήχου και βίντεο.
1.2 Δομή συστήματος αναπαραγωγής πολυμέσων ροής αποκωδικοποιητή IPTV
Στον κώδικα ανοιχτού κώδικα Live555, το playCommon.cpp συνειδητοποιεί τη λειτουργία της χρήσης ενός υπολογιστή ως τερματικού λήψης, λήψης και αναπαραγωγής με λογισμικό VLC και τελικά την εμφάνισή του στον υπολογιστή. Το περιεχόμενο της έρευνας είναι να ενσωματώσει το playCommon.cpp στον κώδικα λογισμικού του αποκωδικοποιητή και τελικά να συνειδητοποιήσει τη λειτουργία της χρήσης του αποκωδικοποιητή IPTV ως τερματικού λήψης και αναπαραγωγής του και εμφάνισης του στην τηλεόραση. Αυτό θέτει νέες απαιτήσεις για τον σχεδιασμό του κώδικα: Από τη μία πλευρά, το playCommon.cpp αποκτά τη διεύθυνση URL του διακομιστή εισάγοντας rtsp: // τοπική διεύθυνση IP: αριθμό θύρας / όνομα αρχείου που θα αναπαραχθεί στη στήλη RTSP του VLC . Επίκτητος. Ωστόσο, για το αποκωδικοποιητή IPTV, το URL που λαμβάνεται από τη μονάδα μετάδοσης είναι το αντίστοιχο URL όταν ο χρήστης επιλέγει το πρόγραμμα στο EPG μέσω του τηλεχειριστηρίου. Αυτή η διεύθυνση URL διαβάζεται από το πρόγραμμα περιήγησης στο μεσαίο λογισμικό, οπότε είναι απαραίτητο να συνδέσετε το ενδιάμεσο λογισμικό και τη μονάδα μετάδοσης όρθια. Από την άλλη πλευρά, η ροή δεδομένων που αποστέλλεται από το playCommon.cpp λαμβάνεται και αναπαράγεται μέσω VLC. Για αποκωδικοποιητές IPTV, η ροή δεδομένων που αποστέλλεται από τη μονάδα μετάδοσης λαμβάνεται και αναπαράγεται μέσω της μονάδας αναπαραγωγής. Επομένως, είναι απαραίτητο να συνδέσετε τη μονάδα μετάδοσης και τη μονάδα αναπαραγωγής.
Για τη σύνδεση του ενδιάμεσου λογισμικού, της μονάδας εξόδου και της μονάδας αναπαραγωγής, έχει σχεδιαστεί μια ουρά μηνυμάτων για την πραγματοποίηση της επικοινωνίας δεδομένων μεταξύ αυτών των τριών μονάδων. Επιπλέον, το pt hread create () έχει επίσης σχεδιαστεί στο πρόγραμμα για να δημιουργήσει νήμα rt spmain () για να συνειδητοποιήσει την ταυτόχρονη εφαρμογή του προγράμματος.
1.3 Ανάλυση δομής προγράμματος
1.3.1 Ενότητα μετάδοσης.
1) κύρια λειτουργία (1) void initMsgQ () αρχικοποιεί την ουρά μηνυμάτων. Το dataQid αντιπροσωπεύει την ουρά μηνυμάτων δεδομένων, η οποία περιέχει ορισμένα δεδομένα που μεταδίδονται στο δίκτυο. Τέλος, τα δεδομένα στην ουρά μηνυμάτων αποστέλλονται στη συσκευή αναπαραγωγής μέσω της λειτουργίας κενής αποστολής δεδομένων στη συσκευή αναπαραγωγής (). msgkeyQid αντιπροσωπεύει την ουρά μηνυμάτων της τιμής κλειδιού μηνύματος. Η μονάδα μετάδοσης λαμβάνει την εντολή τιμής κλειδιού τηλεχειριστηρίου που λαμβάνεται από το μεσαίο λογισμικό και τη στέλνει στη συσκευή αναπαραγωγής για να πραγματοποιήσει λειτουργίες γρήγορης προώθησης, γρήγορης επαναφοράς, διακοπής και αναπαραγωγής. fromeMiddleQid αντιπροσωπεύει την ουρά μηνυμάτων του middleware. Η μονάδα μετάδοσης λαμβάνει τη διεύθυνση URL που αποστέλλεται από το μεσαίο λογισμικό ως διεύθυνση προορισμού όταν το πρόγραμμα αναπαραγωγής πελάτη ζητά δεδομένα από το διακομιστή. Το playerStateQid αντιπροσωπεύει την ουρά μηνυμάτων της κατάστασης αναπαραγωγής. Η μονάδα μετάδοσης χρησιμοποιείται για την αποστολή και λήψη της κατάστασης της συσκευής αναπαραγωγής και για τον έλεγχο κατά πόσον η συσκευή αναπαραγωγής είναι κατά παραγγελία, ζωντανή ή μετατόπιση χρόνου. (2) phread_create (& g_session_thread_info, & tattr, (void * (*) (void *)) rtsp_main, (void *) & urlInform); Δημιουργία νήματος rtsp_main (). Βεβαιωθείτε ότι η επικοινωνία της ουράς μηνυμάτων και η μετάδοση του μέσου ροής εκτελούνται ταυτόχρονα.
2) rtsp_main συνάρτηση. (1) recvMiddlewareMsg (fromeMiddleQid, url): Η τιμή του url που πέρασε από το middleware αντιστοιχίζεται στη μεταβλητή url. (Ο ορισμός του url έχει ολοκληρωθεί στο middleware, οπότε πρέπει να ληφθεί από το middleware). (2) playCommon.cpp Λειτουργία: Όταν ο πελάτης στέλνει ένα αίτημα στον διακομιστή, ο διακομιστής ανταποκρίνεται στο αίτημα, δημιουργεί μια συνεδρία πολυμέσων και αναπαράγει τη ροή δεδομένων. (3) main_player_entry (gTrans. First Create): Ο πελάτης λαμβάνει τη ροή και καλεί τη λειτουργία εισόδου του παίκτη για να προετοιμάσει τη συσκευή αναπαραγωγής. (4) void send_data_to_player (): καλέστε τη συσκευή αναπαραγωγής, στείλτε τα δεδομένα που λαμβάνονται από το Διαδίκτυο στη συσκευή αναπαραγωγής και ξεκινήστε να παίζετε.
|
Εισαγάγετε email για να εκπλήξετε
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org -> Αφρικανικά
sq.fmuser.org -> Αλβανικά
ar.fmuser.org -> Αραβικά
hy.fmuser.org -> Αρμενίων
az.fmuser.org -> Αζερμπαϊτζάν
eu.fmuser.org -> Βάσκων
be.fmuser.org -> Λευκορωσικά
bg.fmuser.org -> Βουλγαρικά
ca.fmuser.org -> Καταλανικά
zh-CN.fmuser.org -> Κινέζικα (απλοποιημένα)
zh-TW.fmuser.org -> Κινέζικα (Παραδοσιακά)
hr.fmuser.org -> Κροατικά
cs.fmuser.org -> Τσέχικα
da.fmuser.org -> Δανικά
nl.fmuser.org -> Ολλανδικά
et.fmuser.org -> Εσθονικά
tl.fmuser.org -> Φιλιππινέζικα
fi.fmuser.org -> Φινλανδικά
fr.fmuser.org -> Γαλλικά
gl.fmuser.org -> Γαλικιανά
ka.fmuser.org -> Γεωργιανά
de.fmuser.org -> Γερμανικά
el.fmuser.org -> Ελληνική
ht.fmuser.org -> Κρεόλ της Αϊτής
iw.fmuser.org -> Εβραϊκά
hi.fmuser.org -> Χίντι
hu.fmuser.org -> Ουγγρική
is.fmuser.org -> Ισλανδικά
id.fmuser.org -> Ινδονησιακά
ga.fmuser.org -> Ιρλανδικά
it.fmuser.org -> Ιταλικά
ja.fmuser.org -> Ιαπωνικά
ko.fmuser.org -> Κορεάτικα
lv.fmuser.org -> Λετονικά
lt.fmuser.org -> Λιθουανικά
mk.fmuser.org -> Μακεδόνας
ms.fmuser.org -> Μαλαισιανά
mt.fmuser.org -> Μαλτέζικα
no.fmuser.org -> Νορβηγική
fa.fmuser.org -> Περσικά
pl.fmuser.org -> Πολωνικά
pt.fmuser.org -> Πορτογαλικά
ro.fmuser.org -> Ρουμανικά
ru.fmuser.org -> Ρωσικά
sr.fmuser.org -> Σέρβικα
sk.fmuser.org -> Σλοβακικά
sl.fmuser.org -> Σλοβένικα
es.fmuser.org -> Ισπανικά
sw.fmuser.org -> Σουαχίλι
sv.fmuser.org -> Σουηδικά
th.fmuser.org -> Ταϊλάνδης
tr.fmuser.org -> Τουρκικά
uk.fmuser.org -> Ουκρανικά
ur.fmuser.org -> Ουρντού
vi.fmuser.org -> Βιετνάμ
cy.fmuser.org -> Ουαλικά
yi.fmuser.org -> Γίντις
FMUSER Wirless Μετάδοση βίντεο και ήχου πιο εύκολα!
Επικοινωνία
Διεύθυνση:
No.305 Room HuiLan Building No.273 Huanpu Road Guangzhou Κίνα 510620
Κατηγορίες
Newsletter