Az FMUSER Wirless könnyebben továbbítja a videót és a hangot!
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org -> afrikaans
sq.fmuser.org -> albán
ar.fmuser.org -> arab
hy.fmuser.org -> örmény
az.fmuser.org -> azerbajdzsán
eu.fmuser.org -> baszk
be.fmuser.org -> belorusz
bg.fmuser.org -> bolgár
ca.fmuser.org -> katalán
zh-CN.fmuser.org -> kínai (egyszerűsített)
zh-TW.fmuser.org -> kínai (hagyományos)
hr.fmuser.org -> horvát
cs.fmuser.org -> cseh
da.fmuser.org -> dán
nl.fmuser.org -> holland
et.fmuser.org -> észt
tl.fmuser.org -> filippínó
fi.fmuser.org -> finn
fr.fmuser.org -> francia
gl.fmuser.org -> galíciai
ka.fmuser.org -> grúz
de.fmuser.org -> német
el.fmuser.org -> Görög
ht.fmuser.org -> haiti kreol
iw.fmuser.org -> héber
hi.fmuser.org -> hindi
hu.fmuser.org -> magyar
is.fmuser.org -> izlandi
id.fmuser.org -> indonéz
ga.fmuser.org -> ír
it.fmuser.org -> olasz
ja.fmuser.org -> japán
ko.fmuser.org -> koreai
lv.fmuser.org -> lett
lt.fmuser.org -> litván
mk.fmuser.org -> macedón
ms.fmuser.org -> maláj
mt.fmuser.org -> máltai
no.fmuser.org -> norvég
fa.fmuser.org -> perzsa
pl.fmuser.org -> lengyel
pt.fmuser.org -> portugál
ro.fmuser.org -> román
ru.fmuser.org -> orosz
sr.fmuser.org -> szerb
sk.fmuser.org -> szlovák
sl.fmuser.org -> Szlovén
es.fmuser.org -> spanyol
sw.fmuser.org -> szuahéli
sv.fmuser.org -> svéd
th.fmuser.org -> Thai
tr.fmuser.org -> török
uk.fmuser.org -> ukrán
ur.fmuser.org -> urdu
vi.fmuser.org -> Vietnámi
cy.fmuser.org -> walesi
yi.fmuser.org -> jiddis
A HLS és a Http Live Streaming az Apple által meghatározott valós idejű streaming protokollok. A HLS a HTTP protokoll alapján valósul meg. Az átviteli tartalom két részből áll, az egyik az M3U8 leíró fájl, a másik pedig a TS média fájl.
1. M3U8 fájl
A médiafájl szövege van leírva, amely címkék sorozatából áll.
#EXTM3U
# EXT-X-CÉL IDŐTARTAM: 5
#EXTINF: 5,
./0.ts
#EXTINF: 5,
./1.ts
# EXTM3U: Minden M3U8 fájl első sorának ennek a címkének kell lennie.
# EXT-X-TARGETDURATION: Adja meg a média szegmens maximális időtartamát (másodpercben). Az #EXTINF mezőben megadott időhossznak kisebbnek vagy egyenlőnek kell lennie ezzel a maximális értékkel. Ez az érték csak egyszer jelenhet meg.
#EXTINF: Írja le egyetlen médiafájl hosszát. Médiafájlok következnek, például ./0.ts
HTTP-n keresztül terjeszthető iOS-eszközön és mac-on. A lejátszási lista szabványa az m3u8 fájl, amelyet m3u kiterjeszt, és a médiafájl MPEG2-TS vagy AAC fájl (csak audio).
Két alkalmazási forgatókönyv létezik az m3u8 fájlok számára:
Több sebességű adaptációs adatfolyam,
#EXTM3U
# EXT-X-STREAM-INF: PROGRAM-ID = 1, Sávszélesség = 1280000
# EXT-X-STREAM-INF: PROGRAM-ID = 1, Sávszélesség = 2560000
# EXT-X-STREAM-INF: PROGRAM-ID = 1, Sávszélesség = 7680000
# EXT-X-STREAM-INF: PROGRAM-ID = 1, Sávszélesség = 65000, CODECS = "mp4a.40.5"
http://example.com/audio-only.m3u8
Egységes sebességű adaptációs áram
#EXTM3U
# EXT-X-CÉL IDŐTARTAM: 5220
#EXTINF: 5220,
http://media.example.com/entire.ts
# EXT-X-ENDLIST
A Nemzetközi Szabványügyi Szervezet meghatározza ezt az RFK dokumentumot:
http://tools.ietf.org/html/draft-pantos-http-live-streaming-06
Az m3u8 fájl az m3u fájl kiterjesztése. A kiterjesztett kulcsszavakat az rfc határozza meg:
közöttük:
# EXT-X-CÉLIDŐZÉS
Határozza meg az egyes TS maximális időtartamát.
# EXT-X-MÉDIA-SZekvencia
Határozza meg az aktuális m3u8 fájl első fájljának sorszámát. Minden ts fájlnak fix és egyedi sorozatszáma van az m3u8 fájlban. A sorozatszám arra szolgál, hogy az MBR során a kódolási sebességet átváltsa az igazításhoz.
# EXT-X-KEY
Határozza meg a titkosítási módszert és a kulcsfájl URL-jét, amelyet a ts fájl dekódolásához használt 16 bájtos kulcsfájl megszerzéséhez használnak.
Tulajdonságok:
MÓDSZER
URL
# EXT-X-PROGRAM-DATE-TIME
Az első fájl abszolút ideje
# EXT-X-ALLOW-Cache
A gyorsítótár engedélyezése.
# EXT-X-ENDLIST
Az m3u8 fájl végét jelzi. A Live m3u8 nem rendelkezik ezzel a címkével.
# EXT-X-STREAM-INF
Tulajdonságok:
A BANDWIDTH adja meg a bitsebességet
PROGRAM-ID egyedi azonosító
A CODECS meghatározza az adatfolyam kódolási típusát
# EXT-X-FOLYTATÁS
A címke észlelésekor a következő attribútumok megváltoztak:
fájlformátum
a pályák száma és típusa
kódolási paraméterek
kódoló szekvencia
időbélyeg-sorrend
# EXT-X-VERSION Ez az attribútum használható, vagy sem
Az M3U8 fel van osztva felső szintű M3U8 és második szintű M3U8. A legfelső szintű M3U8-at főként többsebességű adaptációra használják. A második szintű M3U8 az igazi szeletfájl.
Alapértelmezés szerint az ügyfél először a legmagasabb bitsebességű kérést választja ki. Ha úgy találja, hogy a bitsebességet nem lehet elérni, alacsony bitrátájú adatfolyamot fog kérni
A tényleges használatban lévő legfelső szintű M3U8 fájl a következő:
#EXTM3U
# EXT-X-STREAM-INF: PROGRAM-ID = 201273221265, Sávszélesség = 358400
11. m3u8
# EXT-X-STREAM-INF: PROGRAM-ID = 201273221265, Sávszélesség = 972800
22. m3u8
A fenti legfelső szintű M3U8 fájl két második szintű fájlt határoz meg, a 11.m3u8 és a 22.m3u8 fájlokat, és az ügyfél az egyiket kiválasztja a tartalom megszerzéséhez.
A másodlagos M3U8 fájl tartalma a következő:
#EXTM3U
# EXT-X-VERZIÓ: 1
# EXT-X-CÉL IDŐTARTAM: 10
# EXT-X-MÉDIA-SZekvencia: 0
#EXTINF: 3,
1–4ts
#EXTINF: 8,
1–6ts
#EXTINF: 8,
1–8ts
#EXTINF: 8,
1–10ts
#EXTINF: 8,
1–12ts
#EXTINF: 8,
1–14ts
#EXTINF: 8,
1–16ts
#EXTINF: 9,
1–18ts
#EXTINF: 6,
1–20ts
#EXTINF: 8,
1–22ts
#EXTINF: 9,
1–24ts
#EXTINF: 3,
1–26ts
# EXT-X-ENDLIST
Miután az ügyfél megkapta a fenti másodlagos M3U8 fájlt, továbbra is kéri a fájlt belül, majd lejátszható.
A fentiek az igény szerinti helyzetről és az élő közvetítés helyzetéről szólnak, az M3U8 fájlban lesznek attribútumok, amelyek azt mondják, hogy él, és az ügyfél időnként új M3U8 fájlokat kér.
// Amikor a HLS megkapja az on-demand és az élő közvetítést, az M3U8 fájl különbsége
1. A probléma leírása
Nemrégiben készítettem egy átkódolt szelet lejátszási tesztet, a HLS (HTTP Live Streaming) segítségével az élő közvetítést. Minden TS szegmentálási idő 10 másodperc, és a következő élő m3u8 fájlok jönnek létre a TS szegmentációs fájlok szerint
Másolja a kódot
#EXTM3U
# EXT-X-MÉDIA-SZekvencia: 1
# EXT-X-CÉL IDŐTARTAM: 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
Másolja a kódot
Mentse a fenti m3u8 fájlt live.m3u8 néven, tegye be az Apache dokumentum könyvtárába, és játssza le a következő URL-t VLC-vel:
http://localhost/live.m3u8
A teszt megállapította, hogy az első fájl, amelyik lejátszani kezdte, nem az 1.ts. Több teszt után kiderült, hogy:
Mindaddig, amíg háromnál több fájl van a listában, a lista utolsó három fájlja mindig lejátszásra kerül
2. Problémamegoldás
Nagyon szomorú, hogy az interneten végzett keresés után nem találtam hatékony információt. Egy haver ugyanazzal a helyzettel találkozott, megosztotta-e tapasztalatait, miután megoldotta?
A kollégával folytatott konzultációt követően a kolléga elmondta, hogy ez lehetséges, mert az élő m3u8 fájllistát valós időben frissíteni kell. Ha elvégezünk egy tesztet, akkor a végén először hozzáadhatjuk az # EXT-X-ENDLIST szót. Ezt a módszert tesztelték. Működik, de ez már nem élő m3u8 mód
Miután újra keresgélt az interneten, megerősítettem, hogy végre találtam egy élő m3u8 leírást
Élő lejátszási lista (csúszó ablak)
Élő munkamenetek esetén az indexfájl úgy frissül, hogy eltávolítja a média URI-kat a fájlból, amikor új médiafájlokat hoznak létre és tesznek elérhetővé.
Fontos: Az EXT-X-ENDLIST címke nincs az Élő lejátszási listában, ami azt jelzi, hogy új médiafájlok kerülnek az indexfájlba, amint azok elérhetővé válnak.
Az élő lejátszási lista példáját lásd a 3. listában, ahogyan az a munkamenet elején megjelenik.
3 élő lejátszási lista felsorolása a munkamenet elején.
Másolja a kódot
#EXTM3U
# EXT-X-CÉL IDŐTARTAM: 10
# EXT-X-VERZIÓ: 3
# EXT-X-MÉDIA-SZekvencia: 1
#EXTINF: 10,
fileSequence1.ts
#EXTINF: 10,
fileSequence2.ts
#EXTINF: 10,
fileSequence3.ts
#EXTINF: 10,
fileSequence4.ts
#EXTINF: 10,
fileSequence5.ts
Másolja a kódot
Az EXT-X-MEDIA-SEQUENCE címke értékét KELL növelni 1-vel minden lejátszási lista fájlból eltávolított média URI esetén. A média URI-kat el kell távolítani a lejátszási listából a sorrendben, ahogyan azok megjelennek a lejátszási listában. A frissített indexfájl mozgó ablakot mutat folyamatos adatfolyamként. Ez a típusú munkamenet folyamatos adásokra alkalmas.
Itt van ugyanaz a lejátszási lista, miután frissítették új média URI-kkal:
4 élő lejátszási lista felsorolása a média URI frissítése után.
Másolja a kódot
#EXTM3U
# EXT-X-CÉL IDŐTARTAM: 10
# EXT-X-VERZIÓ: 3
# EXT-X-MÉDIA-SZekvencia: 2
#EXTINF: 10,
fileSequence2.ts
#EXTINF: 10,
fileSequence3.ts
#EXTINF: 10,
fileSequence4.ts
#EXTINF: 10,
fileSequence5.ts
#EXTINF: 10,
fileSequence6.ts
Másolja a kódot
3. élje az m3u8 frissítési szabályait
Az élő m3u8 fájlok listáját folyamatosan frissíteni kell, frissítse a szabályokat:
Távolítsa el a legfelső (gondolom lejátszott) fájlt a fájlok lejátszási listájáról
Folyamatosan frissítse az EXT-X-MEDIA-SEQUENCE címkét, 1-es lépésekben
4. Kísérlet
Írjon egy kis programot az élő m3u8 előállítására tesztelés céljából
Használat:
m3u8_gen.exe start_num list_count időtartam fájlnév.m3u8 [előtag]
Felhasználási példa:
m3u8_gen.exe 1 3 10 élő.m3u8 hls /
Generáljon élő.m3u8 fájlt
Másolja a kódot
#EXTM3U
# EXT-X-MÉDIA-SZekvencia: 1
# EXT-X-CÉL IDŐTARTAM: 10
#EXTINF: 10
hls / 1.ts
#EXTINF: 10
hls / 2.ts
#EXTINF: 10
hls / 3.ts
Másolja a kódot
Írjon egy BAT szkriptet az élő.m3u8 fájl 10 másodpercenként történő frissítésére
Másolja a kódot
@ Echo off
f
|
Írja be az e-mail címet a meglepetéshez
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org -> afrikaans
sq.fmuser.org -> albán
ar.fmuser.org -> arab
hy.fmuser.org -> örmény
az.fmuser.org -> azerbajdzsán
eu.fmuser.org -> baszk
be.fmuser.org -> belorusz
bg.fmuser.org -> bolgár
ca.fmuser.org -> katalán
zh-CN.fmuser.org -> kínai (egyszerűsített)
zh-TW.fmuser.org -> kínai (hagyományos)
hr.fmuser.org -> horvát
cs.fmuser.org -> cseh
da.fmuser.org -> dán
nl.fmuser.org -> holland
et.fmuser.org -> észt
tl.fmuser.org -> filippínó
fi.fmuser.org -> finn
fr.fmuser.org -> francia
gl.fmuser.org -> galíciai
ka.fmuser.org -> grúz
de.fmuser.org -> német
el.fmuser.org -> Görög
ht.fmuser.org -> haiti kreol
iw.fmuser.org -> héber
hi.fmuser.org -> hindi
hu.fmuser.org -> magyar
is.fmuser.org -> izlandi
id.fmuser.org -> indonéz
ga.fmuser.org -> ír
it.fmuser.org -> olasz
ja.fmuser.org -> japán
ko.fmuser.org -> koreai
lv.fmuser.org -> lett
lt.fmuser.org -> litván
mk.fmuser.org -> macedón
ms.fmuser.org -> maláj
mt.fmuser.org -> máltai
no.fmuser.org -> norvég
fa.fmuser.org -> perzsa
pl.fmuser.org -> lengyel
pt.fmuser.org -> portugál
ro.fmuser.org -> román
ru.fmuser.org -> orosz
sr.fmuser.org -> szerb
sk.fmuser.org -> szlovák
sl.fmuser.org -> Szlovén
es.fmuser.org -> spanyol
sw.fmuser.org -> szuahéli
sv.fmuser.org -> svéd
th.fmuser.org -> Thai
tr.fmuser.org -> török
uk.fmuser.org -> ukrán
ur.fmuser.org -> urdu
vi.fmuser.org -> Vietnámi
cy.fmuser.org -> walesi
yi.fmuser.org -> jiddis
Az FMUSER Wirless könnyebben továbbítja a videót és a hangot!
Kapcsolat
Cím:
No. 305 szoba HuiLan épület No.273 Huanpu Road Guangzhou, Kína 510620
Kategóriák
Hírlevél