FMUSER Wirless Overfør video og lyd enklere!
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org -> Afrikaans
sq.fmuser.org -> albansk
ar.fmuser.org -> arabisk
hy.fmuser.org -> armensk
az.fmuser.org -> aserbajdsjansk
eu.fmuser.org -> baskisk
be.fmuser.org -> hviterussisk
bg.fmuser.org -> Bulgarian
ca.fmuser.org -> katalansk
zh-CN.fmuser.org -> Kinesisk (forenklet)
zh-TW.fmuser.org -> Kinesisk (tradisjonell)
hr.fmuser.org -> Kroatisk
cs.fmuser.org -> tsjekkisk
da.fmuser.org -> dansk
nl.fmuser.org -> Nederlandsk
et.fmuser.org -> estisk
tl.fmuser.org -> filippinsk
fi.fmuser.org -> finsk
fr.fmuser.org -> French
gl.fmuser.org -> galisisk
ka.fmuser.org -> Georgisk
de.fmuser.org -> tysk
el.fmuser.org -> gresk
ht.fmuser.org -> haitisk kreolsk
iw.fmuser.org -> hebraisk
hi.fmuser.org -> hindi
hu.fmuser.org -> Ungarsk
is.fmuser.org -> islandsk
id.fmuser.org -> indonesisk
ga.fmuser.org -> Irsk
it.fmuser.org -> Italiensk
ja.fmuser.org -> japansk
ko.fmuser.org -> koreansk
lv.fmuser.org -> lettisk
lt.fmuser.org -> litauisk
mk.fmuser.org -> makedonsk
ms.fmuser.org -> malaysisk
mt.fmuser.org -> maltesisk
no.fmuser.org -> norsk
fa.fmuser.org -> persisk
pl.fmuser.org -> polsk
pt.fmuser.org -> portugisisk
ro.fmuser.org -> rumensk
ru.fmuser.org -> russisk
sr.fmuser.org -> serbisk
sk.fmuser.org -> Slovakisk
sl.fmuser.org -> Slovenian
es.fmuser.org -> spansk
sw.fmuser.org -> Swahili
sv.fmuser.org -> svensk
th.fmuser.org -> Thai
tr.fmuser.org -> tyrkisk
uk.fmuser.org -> ukrainsk
ur.fmuser.org -> urdu
vi.fmuser.org -> Vietnamesisk
cy.fmuser.org -> walisisk
yi.fmuser.org -> Yiddish
HLS og Http Live Streaming er protokoller for sanntids streaming definert av Apple. HLS er implementert basert på HTTP-protokollen. Overføringsinnholdet inkluderer to deler, den ene er M3U8-beskrivelsesfilen, og den andre er TS-mediefilen.
1. M3U8-fil
Mediefilen er beskrevet i tekst, som består av en serie koder.
#EXTM3U
# EXT-X-MÅLSTILLING: 5
#EXTINF: 5,
./0.ts
#EXTINF: 5,
./1.ts
# EXTM3U: Den første linjen i hver M3U8-fil må være denne taggen.
# EXT-X-MÅLVARIGHET: Spesifiser maksimal mediasegmenttid (sekunder). Tidslengden spesifisert i #EXTINF må være mindre enn eller lik denne maksimale verdien. Denne verdien kan bare vises en gang.
#EXTINF: Beskriv lengden på en enkelt mediefil. Mediefiler følger, for eksempel ./0.ts
Den kan distribueres med HTTP på iOS-enhet og mac. Spillelistestandarden er m3u8-filen utvidet med m3u, og mediefilen er MPEG2-TS eller AAC-fil (kun lyd).
Det er to applikasjonsscenarier for m3u8-filer:
Multi-rate tilpasningsstrøm,
#EXTM3U
# EXT-X-STREAM-INF: PROGRAM-ID = 1, Båndbredde = 1280000
# EXT-X-STREAM-INF: PROGRAM-ID = 1, Båndbredde = 2560000
# EXT-X-STREAM-INF: PROGRAM-ID = 1, Båndbredde = 7680000
# EXT-X-STREAM-INF: PROGRAM-ID = 1, Båndbredde = 65000, CODECS = "mp4a.40.5"
http://example.com/audio-only.m3u8
Single rate tilpasningsstrøm
#EXTM3U
# EXT-X-MÅLSTILLING: 5220
#EXTINF: 5220,
http://media.example.com/entire.ts
# EXT-X-ENDLIST
Den internasjonale standardiseringsorganisasjonen definerer dette rfc-dokumentet:
http://tools.ietf.org/html/draft-pantos-http-live-streaming-06
M3u8-filen er en utvidelse av m3u-filen. De utvidede nøkkelordene er definert i rfc:
blant dem:
# EXT-X-MÅLDYRING
Definer maksimal varighet for hver TS.
# EXT-X-MEDIA-SEKVENS
Definer serienummeret til den første filen i gjeldende m3u8-fil. Hver ts-fil har et fast og unikt serienummer i m3u8-filen. Serienummeret brukes til å bytte kodehastighet for justering under MBR.
# EXT-X-KEY
Definer krypteringsmetoden og url til nøkkelfilen, brukt til å skaffe nøkkelfilen 16bytes for å dekode ts-filen.
Attributter:
METODE
URL
# EXT-X-PROGRAM-DATO-TID
Absolutt tid for den første filen
# EXT-X-ALLOW-CACHE
Om du vil tillate cache.
# EXT-X-ENDLIST
Angir slutten på m3u8-filen. Live m3u8 har ikke denne taggen.
# EXT-X-STREAM-INF
Attributter:
BANDWIDTH spesifiserer bithastigheten
PROGRAM-ID unik ID
CODECS spesifiserer kodingstypen for strømmen
# EXT-X-DISCONTINUITY
Når taggen oppstår, har følgende attributter endret seg:
filformat
antall spor og type
kodingsparametere
kodingssekvens
tidsstempel sekvens
# EXT-X-VERSION Denne attributtet kan brukes eller ikke, du kan ikke ha noen
M3U8 er delt inn i toppnivå M3U8 og andre nivå M3U8. Toppnivå M3U8 brukes hovedsakelig til multi-rate tilpasning. Det andre nivået M3U8 er den virkelige slice-filen.
Som standard velger klienten først forespørselen med høyest bithastighet. Hvis den finner ut at bithastigheten ikke kan nås, vil den be om en strøm med lav bithastighet
En toppnivå M3U8-fil i faktisk bruk er som følger:
#EXTM3U
# EXT-X-STREAM-INF: PROGRAM-ID = 201273221265, Båndbredde = 358400
11..m3u8
# EXT-X-STREAM-INF: PROGRAM-ID = 201273221265, Båndbredde = 972800
22..m3u8
Toppnivå M3U8-filen ovenfor definerer to andre nivåer filer, 11.m3u8 og 22.m3u8, og klienten velger en av dem for å få innholdet.
Innholdet i den sekundære M3U8-filen er som følger:
#EXTM3U
# EXT-X-VERSJON: 1
# EXT-X-MÅLSTILLING: 10
# EXT-X-MEDIA-SEKVENS: 0
#EXTINF: 3,
1-4.ts
#EXTINF: 8,
1-6.ts
#EXTINF: 8,
1-8.ts
#EXTINF: 8,
1-10.ts
#EXTINF: 8,
1-12.ts
#EXTINF: 8,
1-14.ts
#EXTINF: 8,
1-16.ts
#EXTINF: 9,
1-18.ts
#EXTINF: 6,
1-20.ts
#EXTINF: 8,
1-22.ts
#EXTINF: 9,
1-24.ts
#EXTINF: 3,
1-26.ts
# EXT-X-ENDLIST
Etter at klienten har fått den ovennevnte sekundære M3U8-filen, vil den fortsette å be om filen inne, og deretter kan den spilles av.
Ovennevnte handler om on-demand situasjonen og situasjonen for direktesending, det vil være attributter i M3U8-filen for å fortelle at den er live, og klienten vil med jevne mellomrom be om nye M3U8-filer.
// Når HLS innser on-demand og direktesending, er forskjellen på M3U8-filen
1. Problembeskrivelse
Nylig gjorde jeg en transkodet skiveavspillingstest, ved hjelp av HLS (HTTP Live Streaming) for å gjøre direktesendingen. Hver TS-segmenteringstid er 10s, og følgende live m3u8-filer genereres i henhold til TS-segmenteringsfilene
Kopier kode
#EXTM3U
# EXT-X-MEDIA-SEKVENS: 1
# EXT-X-MÅLSTILLING: 10
#EXTINF: 10
hls / 1.ts
#EXTINF: 10
hls / 2.ts
#EXTINF: 10
hls / 3.ts
#EXTINF: 10
hls / 4.ts
#EXTINF: 10
hls / 5.ts
#EXTINF: 10
hls / 6.ts
#EXTINF: 10
hls / 7.ts
#EXTINF: 10
hls / 8.ts
#EXTINF: 10
hls / 9.ts
#EXTINF: 10
hls / 10.ts
Kopier kode
Lagre m3u8-filen ovenfor som live.m3u8, legg den i Apache-dokumentkatalogen, og spill av følgende URL med VLC:
http://localhost/live.m3u8
Testen fant at den første filen som begynte å spille ikke var 1.ts. Etter flere tester ble det funnet at:
Så lenge det er mer enn tre filer i listen, spilles alltid de tre siste filene i listen
2. Problemløsning
Det er veldig trist at etter at jeg har søkt på Internett, fant jeg ingen effektiv informasjon. En kompis opplevde samme situasjon, delte han sin erfaring etter å ha løst den?
Etter å ha konsultert en kollega sa kollegaen at det er mulig fordi live m3u8-fillisten må oppdateres i sanntid. Hvis vi gjør en test, kan vi først legge til # EXT-X-ENDLIST på slutten. Denne metoden er testet. Det fungerer, men dette er ikke lenger live m3u8-modus
Etter å ha søkt på Internett igjen, bekreftet jeg at jeg endelig fant en live m3u8 beskrivelse
Live spilleliste (skyvevindu)
For direkte økter oppdateres indeksfilen ved å fjerne media-URIer fra filen når nye mediefiler opprettes og gjøres tilgjengelige.
Viktig: EXT-X-ENDLIST-koden er ikke til stede i Live-spillelisten, noe som indikerer at nye mediefiler vil bli lagt til indeksfilen når de blir tilgjengelige.
Se liste 3 for et eksempel på en live spilleliste slik den skulle vises i begynnelsen av en økt.
Listing 3 Live Playlist ved begynnelsen av en økt.
Kopier kode
#EXTM3U
# EXT-X-MÅLSTILLING: 10
# EXT-X-VERSJON: 3
# EXT-X-MEDIA-SEKVENS: 1
#EXTINF: 10,
fileSequence1.ts
#EXTINF: 10,
fileSequence2.ts
#EXTINF: 10,
fileSequence3.ts
#EXTINF: 10,
fileSequence4.ts
#EXTINF: 10,
fileSequence5.ts
Kopier kode
EXT-X-MEDIA-SEKVENS-merkeverdien MÅ økes med 1 for hvert medie-URI som fjernes fra spillelistefilen. Media URI må fjernes fra spillelistefilen i den rekkefølgen de vises i spillelisten. Den oppdaterte indeksfilen viser et bevegelig vindu i en kontinuerlig strøm. Denne typen økt er egnet for kontinuerlige sendinger.
Her er den samme spillelisten etter at den er oppdatert med nye media-URIer:
Listing 4 Live Playlist etter oppdatering av media URI.
Kopier kode
#EXTM3U
# EXT-X-MÅLSTILLING: 10
# EXT-X-VERSJON: 3
# EXT-X-MEDIA-SEKVENS: 2
#EXTINF: 10,
fileSequence2.ts
#EXTINF: 10,
fileSequence3.ts
#EXTINF: 10,
fileSequence4.ts
#EXTINF: 10,
fileSequence5.ts
#EXTINF: 10,
fileSequence6.ts
Kopier kode
3. lever m3u8-oppdateringsregler
Listen over live m3u8-filer må oppdateres kontinuerlig, oppdater regler:
Fjern den øverste (tenk spilt) filen i en filspilleliste
Oppdater kontinuerlig taggen EXT-X-MEDIA-SEKVENS, økning med 1
4. Eksperiment
Skriv et lite program for å generere live m3u8 for testing
Bruk:
m3u8_gen.exe start_num liste_antall varighet filnavn.m3u8 [prefiks]
Brukseksempel:
m3u8_gen.exe 1 3 10 live.m3u8 hls /
Generer live.m3u8-filen som
Kopier kode
#EXTM3U
# EXT-X-MEDIA-SEKVENS: 1
# EXT-X-MÅLSTILLING: 10
#EXTINF: 10
hls / 1.ts
#EXTINF: 10
hls / 2.ts
#EXTINF: 10
hls / 3.ts
Kopier kode
Skriv et BAT-skript for å oppdatere live.m3u8-filen hver tiende
Kopier kode
@ Echo off
f
|
Skriv inn e-post for å få en overraskelse
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org -> Afrikaans
sq.fmuser.org -> albansk
ar.fmuser.org -> arabisk
hy.fmuser.org -> armensk
az.fmuser.org -> aserbajdsjansk
eu.fmuser.org -> baskisk
be.fmuser.org -> hviterussisk
bg.fmuser.org -> Bulgarian
ca.fmuser.org -> katalansk
zh-CN.fmuser.org -> Kinesisk (forenklet)
zh-TW.fmuser.org -> Kinesisk (tradisjonell)
hr.fmuser.org -> Kroatisk
cs.fmuser.org -> tsjekkisk
da.fmuser.org -> dansk
nl.fmuser.org -> Nederlandsk
et.fmuser.org -> estisk
tl.fmuser.org -> filippinsk
fi.fmuser.org -> finsk
fr.fmuser.org -> French
gl.fmuser.org -> galisisk
ka.fmuser.org -> Georgisk
de.fmuser.org -> tysk
el.fmuser.org -> gresk
ht.fmuser.org -> haitisk kreolsk
iw.fmuser.org -> hebraisk
hi.fmuser.org -> hindi
hu.fmuser.org -> Ungarsk
is.fmuser.org -> islandsk
id.fmuser.org -> indonesisk
ga.fmuser.org -> Irsk
it.fmuser.org -> Italiensk
ja.fmuser.org -> japansk
ko.fmuser.org -> koreansk
lv.fmuser.org -> lettisk
lt.fmuser.org -> litauisk
mk.fmuser.org -> makedonsk
ms.fmuser.org -> malaysisk
mt.fmuser.org -> maltesisk
no.fmuser.org -> norsk
fa.fmuser.org -> persisk
pl.fmuser.org -> polsk
pt.fmuser.org -> portugisisk
ro.fmuser.org -> rumensk
ru.fmuser.org -> russisk
sr.fmuser.org -> serbisk
sk.fmuser.org -> Slovakisk
sl.fmuser.org -> Slovenian
es.fmuser.org -> spansk
sw.fmuser.org -> Swahili
sv.fmuser.org -> svensk
th.fmuser.org -> Thai
tr.fmuser.org -> tyrkisk
uk.fmuser.org -> ukrainsk
ur.fmuser.org -> urdu
vi.fmuser.org -> Vietnamesisk
cy.fmuser.org -> walisisk
yi.fmuser.org -> Yiddish
FMUSER Wirless Overfør video og lyd enklere!
Kontakt
Adresse:
No.305 Room HuiLan Building No.273 Huanpu Road Guangzhou Kina 510620
Type kategori
Nyhetsbrev