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 -> Γίντις
1 、 Ανάπτυξη ζωντανής μετάδοσης βίντεο για κινητά
Μπορεί να φανεί ότι, από υπολογιστή σε κινητό, όλο και περισσότερες εφαρμογές ζωντανής μετάδοσης είναι συνδεδεμένες στο διαδίκτυο και η μετάδοση μέσω κινητού έχει εισέλθει σε ένα πρωτοφανές στάδιο έκρηξης. Ωστόσο, για τις περισσότερες ζωντανές μεταδόσεις μέσω κινητού, εξακολουθεί να εφαρμόζεται κυρίως από εγγενείς πελάτες, αλλά το HTML5 παίζει επίσης αναντικατάστατο ρόλο στο τέλος ζωντανής μετάδοσης για κινητά, όπως το HTML5 Με τα πλεονεκτήματα της γρήγορης μετάδοσης και της εύκολης κυκλοφορίας, το HTML5 μπορεί επίσης να παίξει ζωντανά βίντεο όταν είναι το πιο σημαντικό.
Η πλήρης ζωντανή μετάδοση μπορεί να χωριστεί στα ακόλουθα:
(1) Τερματικό εγγραφής βίντεο: Σε γενικές γραμμές, είναι μια συσκευή εισόδου ήχου και βίντεο υπολογιστή ή μια κάμερα ή μικρόφωνο στο κινητό τερματικό. Επί του παρόντος, το βίντεο του κινητού τηλεφώνου είναι το κύριο μέρος.
(2) Πρόγραμμα αναπαραγωγής βίντεο: μπορεί να είναι πρόγραμμα αναπαραγωγής στον υπολογιστή, εγγενές πρόγραμμα αναπαραγωγής από την πλευρά του κινητού τηλεφώνου και ετικέτα βίντεο HTML5. Προς το παρόν, εξακολουθεί να είναι ο κύριος εγγενής παίκτης στο κινητό τηλέφωνο.
(3) Διακομιστής βίντεο: γενικά, είναι ένας διακομιστής nginx, ο οποίος χρησιμοποιείται για την αποδοχή της πηγής βίντεο που παρέχεται από την πλευρά εγγραφής βίντεο και την παροχή της υπηρεσίας ροής στο τέλος της αναπαραγωγής βίντεο.
2, βίντεο εγγραφής HTML5:
Για εγγραφή βίντεο HTML5, το ισχυρό webrtc (επικοινωνία σε πραγματικό χρόνο WEB) είναι μια τεχνολογία που υποστηρίζει συνομιλία μέσω φωνής ή βίντεο σε πραγματικό χρόνο στο πρόγραμμα περιήγησης ιστού. Το μειονέκτημα είναι ότι υποστηρίζει καλύτερα μόνο σε χρώμιο υπολογιστή και η πλευρά του κινητού δεν είναι ιδανική.
Η βασική διαδικασία εγγραφής βίντεο με το webrtc είναι:
Καλέστε το window.navigator.webkitGetUserMedia (λάβετε τα δεδομένα βίντεο της κάμερας υπολογιστή του χρήστη).
Μετατροπή δεδομένων που αποκτήθηκαν σε ροή βίντεο σε window.webkitRTCPeerConnection (μορφή δεδομένων ροής βίντεο).
Χρησιμοποιώντας websocket για μεταφορά δεδομένων ροής βίντεο σε διακομιστή
Επειδή πολλές μέθοδοι πρέπει να προκαταρκθούν με το πρόγραμμα περιήγησης, πολλά προγράμματα περιήγησης για κινητά δεν υποστηρίζουν το webrtc, επομένως η πραγματική εγγραφή βίντεο εξακολουθεί να εφαρμόζεται από τον πελάτη (IOS, Android) και το αποτέλεσμα θα είναι καλύτερο.
3, ζωντανή μετάδοση βίντεο HTML5:
Για αναπαραγωγή βίντεο, μπορείτε να χρησιμοποιήσετε το πρωτόκολλο HLS (ζωντανή ροή HTTP) για αναπαραγωγή ζωντανής ροής. Το iOS και το Android υποστηρίζουν φυσικά αυτό το πρωτόκολλο. Είναι απλό να ρυθμίσετε και να χρησιμοποιήσετε ετικέτες βίντεο απευθείας.
Εδώ είναι ένας απλός κώδικας για την αναπαραγωγή ζωντανών βίντεο χρησιμοποιώντας βίντεο:
(1) τι είναι το πρωτόκολλο HLS:
Εν ολίγοις, ολόκληρη η ροή χωρίζεται σε μικρά αρχεία, τα οποία λαμβάνονται βάσει HTTP. Μόνο μερικά κατεβάζονται κάθε φορά. Το προηγούμενο αρχείο του M3u8 που εισήχθη σε ζωντανή μετάδοση HTML5 βασίζεται σε πρωτόκολλο HLS, το οποίο αποθηκεύει τα μεταδεδομένα της ροής βίντεο.
Κάθε αρχείο M3u8 αντιστοιχεί σε πολλά αρχεία TS, τα οποία είναι τα δεδομένα για την πραγματική αποθήκευση βίντεο. Το αρχείο m3u8 αποθηκεύει μόνο τις πληροφορίες διαμόρφωσης και τις σχετικές διαδρομές ορισμένων αρχείων TS. Κατά την αναπαραγωγή του βίντεο, το αρχείο.M3u8 αλλάζει δυναμικά. Η ετικέτα βίντεο θα αναλύσει το αρχείο και θα βρει το αντίστοιχο αρχείο TS για αναπαραγωγή. Έτσι, για να επιταχύνετε την ταχύτητα, το αρχείο.M3u8 θα χρησιμοποιηθεί για την ανάλυση του αρχείου και την εύρεση του αντίστοιχου αρχείου TS για αναπαραγωγή. Επομένως, προκειμένου να επιταχυνθεί η ταχύτητα, το αρχείο.M3u8 θα χρησιμοποιηθεί για την ανάλυση του αρχείου και την εύρεση του αντίστοιχου αρχείου TS για αναπαραγωγή. Επομένως, προκειμένου να επιταχυνθεί Βάλτε το στον διακομιστή ιστού και το αρχείο TS στο CDN.
Το αρχείο.M3u8 είναι στην πραγματικότητα ένα αρχείο M3U που κωδικοποιείται με UTF-8. Δεν είναι δυνατή η αναπαραγωγή αυτού του αρχείου από μόνο του, αλλά μόνο το αρχείο κειμένου που περιέχει τις πληροφορίες αναπαραγωγής.
(2) Διαδικασία αιτήματος HLS:
Η διεύθυνση URL του αιτήματος HTTP m3u8.
Ο διακομιστής επιστρέφει μια λίστα αναπαραγωγής του m3u8, η οποία ενημερώνεται σε πραγματικό χρόνο. Γενικά, η διεύθυνση URL 5 τμημάτων δεδομένων δίνεται κάθε φορά.
Ο πελάτης αναλύει τη λίστα αναπαραγωγής του m3u8 και, στη συνέχεια, ζητά τη διεύθυνση URL κάθε τμήματος προκειμένου να αποκτήσει τη ροή δεδομένων TS.
(3) Καθυστέρηση ζωντανής μετάδοσης HLS:
Γνωρίζουμε ότι το πρωτόκολλο HLS χωρίζει τη ζωντανή ροή σε ένα μικρό τμήμα βίντεο για λήψη και αναπαραγωγή. Ας υποθέσουμε ότι η λίστα περιέχει 5 αρχεία TS, κάθε αρχείο TS περιέχει 5 δευτερόλεπτα περιεχομένου βίντεο και, στη συνέχεια, η συνολική καθυστέρηση είναι 25 δευτερόλεπτα. Επειδή όταν βλέπετε αυτά τα βίντεο, ο οικοδεσπότης ηχογράφησε το βίντεο και το ανέβασε, οπότε η καθυστέρηση οφείλεται σε αυτό. Φυσικά, το μήκος της λίστας και το μέγεθος ενός αρχείου TS μπορεί να μειωθεί για να μειωθεί η καθυστέρηση. Στο άκρο, το μήκος της λίστας μπορεί να μειωθεί στο 1 και η διάρκεια του TS είναι 1s. Ωστόσο, αυτό θα αυξήσει τον αριθμό των αιτημάτων και θα αυξήσει την πίεση του διακομιστή. Όταν η ταχύτητα του δικτύου είναι αργή, θα δημιουργηθεί περισσότερο buffer. Επομένως, ο χρόνος TS που συνιστά η Apple διαρκεί επίσημα για 10 δευτερόλεπτα, οπότε θα αλλάξει σε μεγάλο βαθμό την καθυστέρηση των 30. Έτσι, ο διακομιστής λαμβάνει τη ροή, διακωδικοποίηση, αποθηκεύει, κόβει το μπλοκ και στη συνέχεια το διανέμει στον πελάτη. Εδώ είναι η βασική αιτία της καθυστέρησης.
Για περισσότερες ερωτήσεις σχετικά με τις καθυστερήσεις, ανατρέξτε στην επίσημη διεύθυνση της Apple:
https://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/StreamingMediaGuide/FrequentlyAskedQuestions/FrequentlyAskedQuestions.html
Ωστόσο, το ζωντανό βίντεο HTML5 έχει μερικά αναντικατάστατα πλεονεκτήματα:
① Καλή επικοινωνία, εύκολη κοινή χρήση και άλλες λειτουργίες.
② Μπορεί να απελευθερωθεί δυναμικά, το οποίο ευνοεί την επανάληψη σε πραγματικό χρόνο των απαιτήσεων προϊόντων και την ταχεία κυκλοφορία.
③ Χωρίς εγκατάσταση εφαρμογής, ανοίξτε το πρόγραμμα περιήγησης απευθείας.
4 collection OS IOS συλλογής (εγγραφή) δεδομένων ήχου και βίντεο
Για την απόκτηση και εγγραφή ήχου και βίντεο, πρώτα, διευκρινίζονται οι ακόλουθες έννοιες:
Cod 1 cod Κωδικοποίηση βίντεο: η κωδικοποίηση βίντεο αναφέρεται στον τρόπο με τον οποίο ένα αρχείο σε μορφή βίντεο μετατρέπεται σε άλλο αρχείο μορφής βίντεο μέσω συγκεκριμένης τεχνολογίας συμπίεσης. Το βίντεο που καταγράφεται από το iPhone που χρησιμοποιούμε πρέπει να κωδικοποιείται, να ανεβάζεται και να αποκωδικοποιείται προτού μπορεί να αναπαραχθεί στο πρόγραμμα αναπαραγωγής από την πλευρά του χρήστη.
(2 standard Πρότυπο κωδικοποιητή: τα πιο σημαντικά πρότυπα κωδικοποιητή στη μετάδοση ροής βίντεο περιλαμβάνουν τα H.261, H.263 και H.264 του ITU, στα οποία το πρωτόκολλο HLS υποστηρίζει κωδικοποίηση μορφής H.264.
(3 cod Κωδικοποίηση ήχου: παρόμοια με την κωδικοποίηση βίντεο, η αρχική ροή ήχου κωδικοποιείται, μεταφορτώνεται, αποκωδικοποιείται σύμφωνα με ορισμένα πρότυπα και παίζεται στη συσκευή αναπαραγωγής. Φυσικά, ο ήχος έχει επίσης πολλά πρότυπα κωδικοποίησης, όπως κώδικα PCM, κώδικας wma, κωδικός AAC κ.λπ., η μέθοδος κωδικοποίησης ήχου που υποστηρίζεται από το πρωτόκολλο HLS είναι ο κωδικός AAC.
Η απόκτηση δεδομένων βίντεο και ήχου χωρίζεται κυρίως στα ακόλουθα βήματα:
(1 acquisition η λήψη δεδομένων βίντεο και ήχου χρησιμοποιώντας τη φωτογραφική μηχανή στο IOS
(2) Στο IOS, η αρχική ροή δεδομένων ήχου και βίντεο μπορεί να συλλεχθεί μέσω του avcapturesession και του avcapturedevice.
(3) Το βίντεο κωδικοποιείται με h264 και ο ήχος κωδικοποιείται AAC. Στο IOS, υπάρχουν ήδη συσκευασμένες βιβλιοθήκες κωδικοποίησης για την πραγματοποίηση της κωδικοποίησης ήχου και βίντεο.
(4 data Τα δεδομένα ήχου και βίντεο μετά την κωδικοποίηση συναρμολογούνται και σφραγίζονται.
(5) Δημιουργήστε σύνδεση RTMP και σπρώξτε την στον διακομιστή.
Ακολουθεί η συγκεκριμένη διαδικασία συλλογής δεδομένων ήχου και βίντεο:
(1) σχετικά με το RTMP:
Το πρωτόκολλο ανταλλαγής μηνυμάτων σε πραγματικό χρόνο (RTMP) είναι ένα σύνολο πρωτοκόλλων ζωντανών βίντεο που αναπτύχθηκε από τη Macromedia και ανήκει πλέον στο adobe. Όπως και με το HLS, μπορεί να χρησιμοποιηθεί για μετάδοση βίντεο. Η διαφορά είναι ότι το RTMP δεν μπορεί να παίξει σε πρόγραμμα περιήγησης IOS με βάση το φλας, αλλά είναι καλύτερο σε πραγματικό χρόνο από το HLS. Έτσι, αυτό το πρωτόκολλο χρησιμοποιείται γενικά για τη μεταφόρτωση ροής βίντεο, δηλαδή, η ροή βίντεο ωθείται στο διακομιστή.
(2) ροή ώθησης
Η λεγόμενη ροή αναφέρεται στην αποστολή δεδομένων ήχου και βίντεο που έχουμε κωδικοποιήσει στον διακομιστή ροής βίντεο. Στον κώδικα IOS, χρησιμοποιείται συνήθως η ροή RTMP. Το Librtmp IOS, μια βιβλιοθήκη τρίτων, μπορεί να χρησιμοποιηθεί για ροή. Το Librtmp ενσωματώνει ορισμένα βασικά API για να καλούν οι χρήστες. Για παράδειγμα, πιέστε το API και ούτω καθεξής, διαμορφώστε τη διεύθυνση του διακομιστή και, στη συνέχεια, ωθήστε τη ροή βίντεο διακωδικοποίησης στον διακομιστή.
Λοιπόν, πώς να δημιουργήσετε έναν διακομιστή ροής;
Έχει δημιουργηθεί ένας απλός διακομιστής ροής. Δεδομένου ότι η ροή βίντεο που ανεβάζουμε βασίζεται στο πρωτόκολλο RTMP, ο διακομιστής πρέπει να υποστηρίζει RTMP. Μπορεί να λάβει τα ακόλουθα βήματα:
) 1) Εγκαταστήστε έναν διακομιστή nginx.
(2) Έχει εγκατασταθεί η επέκταση RTMP του nginx. Διαμόρφωση αρχείου conf για nginx
(3) Επανεκκινήστε το nginx και γράψτε τη διεύθυνση ροής του RTMP ως rtmp: // ip: 1935 / hls / mystream, όπου HLS_ Path αντιπροσωπεύει τη διεύθυνση των παραγόμενων αρχείων. M3u8 και TS, το HLS_ Fragment αντιπροσωπεύει το μήκος του slice και το mystream αντιπροσωπεύει μια παρουσία. Το όνομα αρχείου που θα δημιουργηθεί μπορεί να ρυθμιστεί από μόνο του.
5 interaction Αλληλεπίδραση χρήστη σε ζωντανή μετάδοση:
Για την αλληλεπίδραση του χρήστη σε ζωντανή μετάδοση, μπορεί να χωριστεί σε περίπου:
δίνοντας δώρα.
Για να σχολιάσετε ή να παίξετε
Για την παράδοση δώρων, το DOM και το CSS3 μπορούν να χρησιμοποιηθούν για να κατανοήσουν τη λογική της αποστολής δώρων και κάποιου ειδικού κινούμενου δώρου σε HTML5. Οι τεχνικές δυσκολίες δεν είναι πολύ μεγάλες.
Για ένα μπαράζ, για να είναι λίγο πιο περίπλοκο, ίσως χρειαστεί να προσέξετε τα εξής:
Η απόδοση σε πραγματικό χρόνο του βλήματος μπορεί να σταλεί και να ληφθεί σε πραγματικό χρόνο μέσω webscock και να παρασχεθεί.
Για προγράμματα περιήγησης που δεν υποστηρίζουν websocket, μπορούν να υποβαθμιστούν μόνο σε παρατεταμένη ψηφοφορία ή με χρονοδιακόπτη front-end αποστολή αιτημάτων για να λάβετε αναδυόμενο παράθυρο σε πραγματικό χρόνο.
Ανίχνευση κινούμενων σχεδίων και σύγκρουσης (δηλ. Χωρίς επικάλυψη) και ούτω καθεξής στην απόδοση
|
Εισαγάγετε 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