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 -> Γίντις
HLS και Http Live Streaming είναι πρωτόκολλα για streaming σε πραγματικό χρόνο που ορίζονται από την Apple. Το HLS υλοποιείται με βάση το πρωτόκολλο HTTP. Το περιεχόμενο μετάδοσης περιλαμβάνει δύο μέρη, το ένα είναι το αρχείο περιγραφής M3U8 και το άλλο είναι το αρχείο μέσων TS.
1. Αρχείο M3U8
Το αρχείο πολυμέσων περιγράφεται σε κείμενο, το οποίο αποτελείται από μια σειρά ετικετών.
#EXTM3U
# EXT-X-ΣΤΟΧΟΣ: 5
# ΕΞΤΙΝΕ: 5,
./0.ts
# ΕΞΤΙΝΕ: 5,
./1.ts
# EXTM3U: Η πρώτη γραμμή κάθε αρχείου M3U8 πρέπει να είναι αυτή η ετικέτα.
# EXT-X-TARGETDURATION: Καθορίστε τη μέγιστη διάρκεια του τμήματος μέσων (δευτερόλεπτα). Η χρονική διάρκεια που καθορίζεται στο #EXTINF πρέπει να είναι μικρότερη ή ίση με αυτήν τη μέγιστη τιμή. Αυτή η τιμή μπορεί να εμφανιστεί μόνο μία φορά.
#EXTINF: Περιγράψτε το μήκος ενός μεμονωμένου αρχείου πολυμέσων. Ακολουθούν τα αρχεία πολυμέσων, όπως ./0.ts
Μπορεί να διανεμηθεί μέσω HTTP σε συσκευή iOS και mac. Το πρότυπο λίστας αναπαραγωγής είναι το αρχείο m3u8 που επεκτείνεται κατά m3u και το αρχείο πολυμέσων είναι αρχείο MPEG2-TS ή AAC (μόνο ήχος).
Υπάρχουν δύο σενάρια εφαρμογής για αρχεία m3u8:
Ροή προσαρμογής πολλαπλών ποσοστών,
#EXTM3U
# EXT-X-STREAM-INF: ΠΡΟΓΡΑΜΜΑ-ID = 1, BANDWIDTH = 1280000
# EXT-X-STREAM-INF: ΠΡΟΓΡΑΜΜΑ-ID = 1, BANDWIDTH = 2560000
# EXT-X-STREAM-INF: ΠΡΟΓΡΑΜΜΑ-ID = 1, BANDWIDTH = 7680000
# EXT-X-STREAM-INF: ΠΡΟΓΡΑΜΜΑ-ID = 1, BANDWIDTH = 65000, CODECS = "mp4a.40.5"
http://example.com/audio-only.m3u8
Ροή προσαρμογής ενιαίου ρυθμού
#EXTM3U
# EXT-X-ΣΤΟΧΟΣ: 5220
# ΕΞΤΙΝΕ: 5220,
http://media.example.com/entire.ts
# EXT-X-ENDLIST
Ο Διεθνής Οργανισμός Προτύπων ορίζει αυτό το έγγραφο rfc:
http://tools.ietf.org/html/draft-pantos-http-live-streaming-06
Το αρχείο m3u8 είναι μια επέκταση του αρχείου m3u. Οι εκτεταμένες λέξεις-κλειδιά ορίζονται στο rfc:
ανάμεσα τους:
# ΕΚΤ-Χ-ΣΤΟΧΟΛΟΓΙΑ
Καθορίστε τη μέγιστη διάρκεια κάθε TS.
# EXT-X-MEDIA-SEQUENCE
Ορίστε τον σειριακό αριθμό του πρώτου αρχείου στο τρέχον αρχείο m3u8. Κάθε αρχείο ts έχει έναν σταθερό και μοναδικό σειριακό αριθμό στο αρχείο m3u8. Ο σειριακός αριθμός χρησιμοποιείται για την εναλλαγή του ρυθμού κωδικού για ευθυγράμμιση κατά τη διάρκεια του MBR.
# EXT-X-KEY
Ορίστε τη μέθοδο κρυπτογράφησης και τη διεύθυνση url του αρχείου κλειδιού, που χρησιμοποιείται για την απόκτηση του αρχείου κλειδιού 16bytes για την αποκωδικοποίηση του αρχείου ts.
Χαρακτηριστικά:
ΜΕΘΟΔΟΣ
URL
# EXT-X-ΠΡΟΓΡΑΜΜΑ-ΗΜΕΡΟΜΗΝΙΑ-ΩΡΑ
Απόλυτος χρόνος του πρώτου αρχείου
# EXT-X-ALLOW-CACHE
Αν θα επιτρέψετε την προσωρινή μνήμη.
# EXT-X-ENDLIST
Υποδεικνύει το τέλος του αρχείου m3u8. Το Live m3u8 δεν διαθέτει αυτήν την ετικέτα.
# EXT-X-STREAM-INF
Χαρακτηριστικά:
Το BANDWIDTH καθορίζει το ρυθμό bit
Μοναδικό αναγνωριστικό PROGRAM-ID
Το CODECS καθορίζει τον τύπο κωδικοποίησης της ροής
# EXT-X-ΑΠΟΚΛΕΙΣΜΟΣ
Όταν συναντάτε την ετικέτα, τα ακόλουθα χαρακτηριστικά έχουν αλλάξει:
μορφή αρχείου
αριθμός και τύπος κομματιών
παράμετροι κωδικοποίησης
ακολουθία κωδικοποίησης
ακολουθία χρονικής σήμανσης
# EXT-X-VERSION Αυτό το χαρακτηριστικό μπορεί να χρησιμοποιηθεί ή όχι, δεν μπορείτε να έχετε κανένα
Το M3U8 χωρίζεται σε M3U8 ανώτατου επιπέδου και M3U8 δεύτερου επιπέδου. Το ανώτερο επίπεδο M3U8 χρησιμοποιείται κυρίως για προσαρμογή πολλαπλών τιμών. Το δεύτερο επίπεδο M3U8 είναι το πραγματικό αρχείο slice.
Από προεπιλογή, ο πελάτης θα επιλέξει πρώτα το αίτημα με τον υψηλότερο ρυθμό bit. Εάν διαπιστώσει ότι δεν είναι δυνατή η επίτευξη του ρυθμού bit, θα ζητήσει μια ροή με χαμηλό ρυθμό bit
Ένα αρχείο M3U8 ανώτερου επιπέδου στην πραγματική χρήση έχει ως εξής:
#EXTM3U
# EXT-X-STREAM-INF: ΠΡΟΓΡΑΜΜΑ-ID = 201273221265, BANDWIDTH = 358400
11.m3u8
# EXT-X-STREAM-INF: ΠΡΟΓΡΑΜΜΑ-ID = 201273221265, BANDWIDTH = 972800
22.m3u8
Το αρχείο M3U8 ανώτερου επιπέδου καθορίζει δύο αρχεία δευτέρου επιπέδου, 11.m3u8 και 22.m3u8 και ο πελάτης θα επιλέξει ένα από αυτά για να πάρει το περιεχόμενό του.
Το περιεχόμενο του δευτερεύοντος αρχείου M3U8 έχει ως εξής:
#EXTM3U
# ΕΚΤ-Χ-ΕΚΔΟΣΗ: 1
# EXT-X-ΣΤΟΧΟΣ: 10
# EXT-X-MEDIA-SEQUENCE: 0
# ΕΞΤΙΝΕ: 3,
1-4.τσ
# ΕΞΤΙΝΕ: 8,
1-6.τσ
# ΕΞΤΙΝΕ: 8,
1-8.τσ
# ΕΞΤΙΝΕ: 8,
1-10.τσ
# ΕΞΤΙΝΕ: 8,
1-12.τσ
# ΕΞΤΙΝΕ: 8,
1-14.τσ
# ΕΞΤΙΝΕ: 8,
1-16.τσ
# ΕΞΤΙΝΕ: 9,
1-18.τσ
# ΕΞΤΙΝΕ: 6,
1-20.τσ
# ΕΞΤΙΝΕ: 8,
1-22.τσ
# ΕΞΤΙΝΕ: 9,
1-24.τσ
# ΕΞΤΙΝΕ: 3,
1-26.τσ
# EXT-X-ENDLIST
Αφού ο πελάτης λάβει το παραπάνω δευτερεύον αρχείο M3U8, θα συνεχίσει να ζητά το αρχείο μέσα και στη συνέχεια μπορεί να αναπαραχθεί.
Τα παραπάνω αφορούν την κατάσταση κατά παραγγελία και την κατάσταση της ζωντανής μετάδοσης, θα υπάρχουν χαρακτηριστικά στο αρχείο M3U8 για να το πει ότι είναι ζωντανά και ο πελάτης θα ζητά περιοδικά νέα αρχεία M3U8.
// Όταν το HLS πραγματοποιεί κατά παραγγελία και ζωντανή μετάδοση, η διαφορά του αρχείου M3U8
1. Περιγραφή προβλήματος
Πρόσφατα έκανα ένα τεστ αναπαραγωγής με κωδικοποίηση slice, χρησιμοποιώντας το HLS (HTTP Live Streaming) για να κάνω τη ζωντανή μετάδοση. Κάθε χρόνος τμηματοποίησης TS είναι 10 δευτερόλεπτα και τα ακόλουθα ζωντανά αρχεία m3u8 δημιουργούνται σύμφωνα με τα αρχεία τμηματοποίησης TS
Αντιγράψτε τον κωδικό
#EXTM3U
# EXT-X-MEDIA-SEQUENCE: 1
# EXT-X-ΣΤΟΧΟΣ: 10
# ΕΞΤΙΝΕ: 10
hls / 1.ts
# ΕΞΤΙΝΕ: 10
hls / 2.ts
# ΕΞΤΙΝΕ: 10
hls / 3.ts
# ΕΞΤΙΝΕ: 10
hls / 4.ts
# ΕΞΤΙΝΕ: 10
hls / 5.ts
# ΕΞΤΙΝΕ: 10
hls / 6.ts
# ΕΞΤΙΝΕ: 10
hls / 7.ts
# ΕΞΤΙΝΕ: 10
hls / 8.ts
# ΕΞΤΙΝΕ: 10
hls / 9.ts
# ΕΞΤΙΝΕ: 10
hls / 10.ts
Αντιγράψτε τον κωδικό
Αποθηκεύστε το παραπάνω αρχείο m3u8 ως live.m3u8, τοποθετήστε το στον κατάλογο εγγράφων Apache και παίξτε την ακόλουθη διεύθυνση URL με VLC:
http://localhost/live.m3u8
Η δοκιμή διαπίστωσε ότι το πρώτο αρχείο που ξεκίνησε να παίζει δεν ήταν 1.ts. Μετά από αρκετές δοκιμές, διαπιστώθηκε ότι:
Εφόσον υπάρχουν περισσότερα από τρία αρχεία στη λίστα, αναπαράγονται πάντα τα τρία τελευταία αρχεία στη λίστα
2. Επίλυση προβλημάτων
Είναι πολύ λυπηρό που μετά την αναζήτηση στο Διαδίκτυο, δεν βρήκα καμία αποτελεσματική πληροφορία. Ένας φίλος αντιμετώπισε την ίδια κατάσταση, μοιράστηκε την εμπειρία του μετά την επίλυση;
Μετά από συνεννόηση με έναν συνάδελφο, ο συνάδελφος είπε ότι είναι πιθανό επειδή η λίστα αρχείων ζωντανών m3u8 πρέπει να ενημερωθεί σε πραγματικό χρόνο. Εάν κάνουμε μια δοκιμή, μπορούμε πρώτα να προσθέσουμε # EXT-X-ENDLIST στο τέλος. Αυτή η μέθοδος έχει δοκιμαστεί Λειτουργεί, αλλά δεν είναι πλέον ζωντανή λειτουργία m3u8
Αφού έψαξα ξανά στο Διαδίκτυο, επιβεβαίωσα ότι βρήκα επιτέλους μια ζωντανή περιγραφή m3u8
Ζωντανή λίστα αναπαραγωγής (Συρόμενο παράθυρο)
Για ζωντανές συνεδρίες, το αρχείο ευρετηρίου ενημερώνεται αφαιρώντας URI πολυμέσων από το αρχείο καθώς δημιουργούνται και διατίθενται νέα αρχεία πολυμέσων.
Σημαντικό: Η ετικέτα EXT-X-ENDLIST δεν υπάρχει στη λίστα αναπαραγωγής Ζωντανά, υποδεικνύοντας ότι νέα αρχεία πολυμέσων θα προστεθούν στο αρχείο ευρετηρίου μόλις γίνουν διαθέσιμα.
Δείτε την Λίστα 3 για ένα παράδειγμα ζωντανής λίστας αναπαραγωγής, όπως θα εμφανιζόταν στην αρχή μιας περιόδου σύνδεσης.
Λίστα 3 Ζωντανή λίστα αναπαραγωγής στην αρχή μιας συνεδρίας.
Αντιγράψτε τον κωδικό
#EXTM3U
# EXT-X-ΣΤΟΧΟΣ: 10
# ΕΚΤ-Χ-ΕΚΔΟΣΗ: 3
# EXT-X-MEDIA-SEQUENCE: 1
# ΕΞΤΙΝΕ: 10,
fileSequence1.ts
# ΕΞΤΙΝΕ: 10,
fileSequence2.ts
# ΕΞΤΙΝΕ: 10,
fileSequence3.ts
# ΕΞΤΙΝΕ: 10,
fileSequence4.ts
# ΕΞΤΙΝΕ: 10,
fileSequence5.ts
Αντιγράψτε τον κωδικό
Η τιμή της ετικέτας EXT-X-MEDIA-SEQUENCE ΠΡΕΠΕΙ να αυξάνεται κατά 1 για κάθε URI πολυμέσων που αφαιρείται από το αρχείο της λίστας αναπαραγωγής. Τα URI πολυμέσων πρέπει να καταργηθούν από το αρχείο της λίστας αναπαραγωγής με τη σειρά που εμφανίζονται στη λίστα αναπαραγωγής. Το ενημερωμένο αρχείο ευρετηρίου παρουσιάζει ένα κινούμενο παράθυρο σε μια συνεχή ροή. Αυτός ο τύπος συνεδρίας είναι κατάλληλος για συνεχείς εκπομπές.
Ακολουθεί η ίδια λίστα αναπαραγωγής αφού ενημερωθεί με νέα URI πολυμέσων:
Λίστα 4 Live Playlist μετά την ενημέρωση των URI πολυμέσων.
Αντιγράψτε τον κωδικό
#EXTM3U
# EXT-X-ΣΤΟΧΟΣ: 10
# ΕΚΤ-Χ-ΕΚΔΟΣΗ: 3
# EXT-X-MEDIA-SEQUENCE: 2
# ΕΞΤΙΝΕ: 10,
fileSequence2.ts
# ΕΞΤΙΝΕ: 10,
fileSequence3.ts
# ΕΞΤΙΝΕ: 10,
fileSequence4.ts
# ΕΞΤΙΝΕ: 10,
fileSequence5.ts
# ΕΞΤΙΝΕ: 10,
fileSequence6.ts
Αντιγράψτε τον κωδικό
3. ζουν κανόνες ενημέρωσης m3u8
Η λίστα των ζωντανών αρχείων m3u8 πρέπει να ενημερώνεται συνεχώς, να ενημερώνει τους κανόνες:
Αφαιρέστε το κορυφαίο (think play) αρχείο σε μια λίστα αναπαραγωγής αρχείων
Ενημερώστε συνεχώς την ετικέτα EXT-X-MEDIA-SEQUENCE, κατά 1
4. Πείραμα
Γράψτε ένα μικρό πρόγραμμα για να δημιουργήσετε ζωντανό m3u8 για δοκιμή
Χρήση:
m3u8_gen.exe start_num list_count διάρκειας όνομα αρχείου.m3u8 [πρόθεμα]
Παράδειγμα χρήσης:
m3u8_gen.exe 1 3 10 ζωντανά.m3u8 hls /
Δημιουργήστε το αρχείο live.m3u8 ως
Αντιγράψτε τον κωδικό
#EXTM3U
# EXT-X-MEDIA-SEQUENCE: 1
# EXT-X-ΣΤΟΧΟΣ: 10
# ΕΞΤΙΝΕ: 10
hls / 1.ts
# ΕΞΤΙΝΕ: 10
hls / 2.ts
# ΕΞΤΙΝΕ: 10
hls / 3.ts
Αντιγράψτε τον κωδικό
Γράψτε ένα σενάριο BAT για να ενημερώνετε το αρχείο live.m3u8 κάθε 10 δευτερόλεπτα
Αντιγράψτε τον κωδικό
@ Echo off
f
|
Εισαγάγετε 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