FMUSER- ը անթերի փոխանցում է տեսանյութն ու աուդիոն ավելի հեշտ:
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 -> Chinese (Traditional)
hr.fmuser.org -> խորվաթերեն
cs.fmuser.org -> չեխերեն
da.fmuser.org -> դանիերեն
nl.fmuser.org -> Dutch
et.fmuser.org -> էստոնական
tl.fmuser.org -> ֆիլիպիներեն
fi.fmuser.org -> ֆիններեն
fr.fmuser.org -> French
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 -> Italian
ja.fmuser.org -> ճապոներեն
ko.fmuser.org -> կորեերեն
lv.fmuser.org -> լատվիերեն
lt.fmuser.org -> Լիտվայի
mk.fmuser.org -> մակեդոներեն
ms.fmuser.org -> մալայերեն
mt.fmuser.org -> մալթերեն
no.fmuser.org -> Norwegian
fa.fmuser.org -> պարսկերեն
pl.fmuser.org -> լեհերեն
pt.fmuser.org -> Պորտուգալերեն
ro.fmuser.org -> Romanian
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- ը Apple- ի կողմից սահմանված իրական ժամանակում հոսքի արձանագրություններ են: HLS- ն իրականացվում է HTTP արձանագրության հիման վրա: Փոխանցման պարունակությունը ներառում է երկու մաս, մեկը M3U8 նկարագրության ֆայլն է, իսկ մյուսը ՝ TS մեդիա ֆայլը:
1. M3U8 ֆայլ
Մեդիա ֆայլը նկարագրված է տեքստով, որը բաղկացած է մի շարք պիտակներից:
#EXTM3U
# EXT-X- ՆՊԱՏԱԿԸ ՝ 5
#EXTINF ՝ 5,
./0.ց
#EXTINF ՝ 5,
./1.ց
# EXTM3U. Յուրաքանչյուր M3U8 ֆայլի առաջին տողը պետք է լինի այս պիտակը:
# EXT-X-TARGETDURATION. Նշեք մեդիայի հատվածի առավելագույն ժամանակահատվածի տևողությունը (վայրկյաններ): #EXTINF- ում նշված ժամանակի տևողությունը պետք է լինի այս առավելագույն արժեքից փոքր կամ հավասար: Այս արժեքը կարող է հայտնվել միայն մեկ անգամ:
#EXTINF. Նկարագրեք մեկ մեդիա ֆայլի երկարությունը: Հետևում են մեդիա ֆայլերը, օրինակ ./0.ts
Այն կարող է տարածվել HTTP- ի միջոցով iOS սարքի և Mac- ի վրա: Տեսացանկի ստանդարտը m3u8- ով երկարացված m3u2 ֆայլն է, իսկ մեդիա ֆայլը MPEGXNUMX-TS կամ AAC ֆայլ է (միայն աուդիո):
M3u8 ֆայլերի համար կիրառման երկու սցենար կա.
Բազմաստիճան հարմարվողականության հոսք,
#EXTM3U
# EXT-X-STREAM-INF: GRՐԱԳԻՐ-ID = 1, ՊԱՀԱՈՈՒԹՅՈՒՆ = 1280000
# EXT-X-STREAM-INF: GRՐԱԳԻՐ-ID = 1, ՊԱՀԱՈՈՒԹՅՈՒՆ = 2560000
# EXT-X-STREAM-INF: GRՐԱԳԻՐ-ID = 1, ՊԱՀԱՈՈՒԹՅՈՒՆ = 7680000
# EXT-X-STREAM-INF: PROGRAM-ID = 1, BANDWIDTH = 65000, CODECS = "mp4a.40.5"
http://example.com/audio-only.m3u8
Մեկ տեմպով հարմարվողական հոսք
#EXTM3U
# EXT-X- ՆՊԱՏԱԿԸ ՝ 5220
#EXTINF ՝ 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- ում.
նրանց մեջ:
# EXT-X- ՆՊԱՏԱԿԸ
Սահմանեք յուրաքանչյուր TS- ի առավելագույն տևողությունը:
# EXT-X-MEDIA- ՀԵՏևՈՈՒԹՅՈՒՆ
Սահմանեք ընթացիկ m3u8 ֆայլում առաջին ֆայլի սերիական համարը: Յուրաքանչյուր ts ֆայլ ունի m3u8 ֆայլում ֆիքսված և եզակի սերիական համար: Սերիական համարը օգտագործվում է MBR- ի ընթացքում հավասարեցման ծածկագիրը փոխելու համար:
# EXT-X-KEY
Սահմանեք հիմնական ֆայլի կոդավորման մեթոդը և url- ը, որն օգտագործվում է ts ֆայլը ապակոդավորելու համար 16 բայթ բանալին ֆայլ ստանալու համար:
Էջում:
METHOD
URL
# EXT-X-PROGRAM- ԱՄԿԵՏԻ IMEԱՄԱՆԱԿ
Առաջին ֆայլի բացարձակ ժամանակը
# EXT-X-ALLOW-CACHE
Թույլատրել քեշը:
# EXT-X-ENDLIST
Նշում է m3u8 ֆայլի ավարտը: Live m3u8- ը չունի այս հատկորոշիչը:
# EXT-X-STREAM-INF
Էջում:
BANDWIDTH- ը սահմանում է բիթի արագությունը
PROGRAM-ID եզակի ID
CODECS- ը սահմանում է հոսքի կոդավորման տեսակը
# EXT-X-DISCONTINUITY
Երբ պիտակը հանդիպում է, հետևյալ հատկությունները փոխվել են.
ֆայլի ձեւաչափը
հետքերի քանակը և տեսակը
կոդավորման պարամետրեր
կոդավորման հաջորդականություն
ժամանակի դրոշմման հաջորդականություն
# EXT-X-VERSION Այս հատկանիշը կարող է օգտագործվել, թե ոչ, կարող եք չունենալ
M3U8- ը բաժանված է վերին մակարդակի M3U8 և երկրորդ մակարդակի M3U8: Բարձր մակարդակի M3U8- ը հիմնականում օգտագործվում է բազմաստիճան հարմարեցման համար: Երկրորդ մակարդակի M3U8- ը իրական կտորների ֆայլ է:
Լռելյայն, հաճախորդը նախ կընտրի հարցումը ՝ ամենաբարձր բիտրով: Եթե գտնի, որ հնարավոր չէ հասնել բիթ-բիթի, այն կպահանջի ցածր բիթ-բիթ ունեցող հոսք
Բարձր մակարդակի M3U8 ֆայլը, որն իրականում օգտագործվում է, հետևյալն է.
#EXTM3U
# EXT-X-STREAM-INF: GRՐԱԳԻՐ-ID = 201273221265, ՊԱՀԱՈՈՒԹՅՈՒՆ = 358400
11.m3u8
# EXT-X-STREAM-INF: GRՐԱԳԻՐ-ID = 201273221265, ՊԱՀԱՈՈՒԹՅՈՒՆ = 972800
22.m3u8
Վերևի վերին մակարդակի M3U8 ֆայլը սահմանում է երկրորդ մակարդակի երկու ֆայլ ՝ 11.m3u8 և 22.m3u8, և հաճախորդը կընտրի դրանցից մեկը ՝ դրա բովանդակությունը ստանալու համար:
Երկրորդական M3U8 ֆայլի բովանդակությունը հետևյալն է.
#EXTM3U
# EXT-X-VERSION: 1
# EXT-X- ՆՊԱՏԱԿԸ ՝ 10
# EXT-X-MEDIA- ՀԵՏևՈՈՒԹՅՈՒՆ. 0
#EXTINF ՝ 3,
1-4.ց
#EXTINF ՝ 8,
1-6.ց
#EXTINF ՝ 8,
1-8.ց
#EXTINF ՝ 8,
1-10.ց
#EXTINF ՝ 8,
1-12.ց
#EXTINF ՝ 8,
1-14.ց
#EXTINF ՝ 8,
1-16.ց
#EXTINF ՝ 9,
1-18.ց
#EXTINF ՝ 6,
1-20.ց
#EXTINF ՝ 8,
1-22.ց
#EXTINF ՝ 9,
1-24.ց
#EXTINF ՝ 3,
1-26.ց
# EXT-X-ENDLIST
Հաճախորդը ստանալուց հետո վերը նշված երկրորդական M3U8 ֆայլը, այն շարունակելու է պահանջել ֆայլը ներսից, այնուհետև այն կարող է խաղարկվել:
Վերը նշվածը ըստ պահանջի իրավիճակի և ուղիղ հեռարձակման իրավիճակի մասին է, M3U8 ֆայլում կլինեն հատկանիշներ, որոնք կասեն, որ դա ուղիղ է, և հաճախորդը պարբերաբար հայցելու է նոր M3U8 ֆայլեր:
// Երբ HLS- ը գիտակցում է ըստ պահանջի և ուղիղ հեռարձակում, M3U8 ֆայլի տարբերությունը
1. Խնդրի նկարագրությունը
Վերջերս ես կատարեցի վերծանված կտորների նվագարկման թեստ ՝ օգտագործելով HLS (HTTP Live Streaming) ՝ ուղիղ հեռարձակումն իրականացնելու համար: Յուրաքանչյուր TS սեգմենտացիայի ժամանակը 10 վայրկյան է, և հետևյալ կենդանի m3u8 ֆայլերը ստեղծվում են ըստ TS հատվածացման ֆայլերի
Պատճեն կոդը
#EXTM3U
# EXT-X-MEDIA- ՀԵՏևՈՈՒԹՅՈՒՆ. 1
# EXT-X- ՆՊԱՏԱԿԸ ՝ 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
Պատճեն կոդը
Վերոնշյալ m3u8 ֆայլը պահեք որպես live.m3u8, տեղադրեք այն Apache փաստաթղթերի ցուցակում և VLC- ով նվագարկեք հետևյալ URL- ը.
http://localhost/live.m3u8
Թեստը պարզեց, որ առաջին ֆայլը, որը սկսում է խաղալ, 1.ts- ը չէ: Մի քանի փորձարկումներից հետո պարզվել է, որ.
Քանի դեռ ցուցակում կան երեքից ավելի ֆայլեր, ցուցակի վերջին երեք ֆայլերը միշտ խաղում են
2. Խնդիրների լուծում
Շատ ցավալի է, որ ինտերնետում փնտրելուց հետո ես ոչ մի արդյունավետ տեղեկատվություն չգտա: Մի ընկեր բախվեց նույն իրավիճակին, այն լուծելուց հետո նա կիսվա՞ծ էր իր փորձով:
Գործընկերոջ հետ խորհրդակցելուց հետո գործընկերն ասաց, որ դա հնարավոր է, քանի որ կենդանի m3u8 ֆայլերի ցուցակը պետք է թարմացվի իրական ժամանակում: Եթե մենք թեստ ենք անում, նախ վերջում կարող ենք ավելացնել # EXT-X-ENDLIST: Այս մեթոդը փորձարկվել է. Այն գործում է, բայց սա այլևս գործող m3u8 ռեժիմ չէ
Կրկին ինտերնետում որոնելուց հետո ես հաստատեցի, որ վերջապես գտա կենդանի m3u8 նկարագրություն
Կենդանի տեսացանկ (լոգարիթմական պատուհան)
Կենդանի նստաշրջանների համար ինդեքսային ֆայլը թարմացվում է ՝ ֆայլից հեռացնելով մեդիայի URI- ները, քանի որ ստեղծվում և հասանելի են դառնում նոր մեդիա ֆայլերը:
Կարևոր է. EXT-X-ENDLIST թեգը գոյություն չունի Կենդանի տեսացանկում ՝ նշելով, որ մատչելի դառնալուն պես նոր մեդիա ֆայլեր կավելացվեն ինդեքսային ֆայլին:
Տե՛ս ցուցակ 3 – ը, օրինակ ՝ կենդանի երգացանկի համար, քանի որ այն կհայտնվեր նիստի սկզբում:
Նիստի սկզբում ցուցակագրելով 3 կենդանի երգացանկ:
Պատճեն կոդը
#EXTM3U
# EXT-X- ՆՊԱՏԱԿԸ ՝ 10
# EXT-X-VERSION: 3
# EXT-X-MEDIA- ՀԵՏևՈՈՒԹՅՈՒՆ. 1
#EXTINF ՝ 10,
fileSekuence1.ts
#EXTINF ՝ 10,
fileSekuence2.ts
#EXTINF ՝ 10,
fileSekuence3.ts
#EXTINF ՝ 10,
fileSekuence4.ts
#EXTINF ՝ 10,
fileSekuence5.ts
Պատճեն կոդը
EXT-X-MEDIA-SEQUENCE պիտակի արժեքը ՊԵՏՔ է ավելացվի 1-ով `յուրաքանչյուր մեդիա URI- ի համար, որը հեռացվել է երգացանկի ֆայլից: Մեդիա URI- ն պետք է հեռացվի երգացանկի ֆայլից ՝ ըստ տեսացանկում հայտնվելու կարգի: Նորացված ինդեքսային ֆայլը ներկայացնում է շարժվող պատուհան շարունակական հոսքի մեջ: Այս տեսակի նստաշրջանը հարմար է շարունակական հեռարձակումների համար:
Ահա նույն տեսացանկը ՝ նոր մեդիայի URI- ներով թարմացվելուց հետո.
Մեդիա URI- ները թարմացնելուց հետո 4 կենդանի երգացանկ ցուցակելը:
Պատճեն կոդը
#EXTM3U
# EXT-X- ՆՊԱՏԱԿԸ ՝ 10
# EXT-X-VERSION: 3
# EXT-X-MEDIA- ՀԵՏևՈՈՒԹՅՈՒՆ. 2
#EXTINF ՝ 10,
fileSekuence2.ts
#EXTINF ՝ 10,
fileSekuence3.ts
#EXTINF ՝ 10,
fileSekuence4.ts
#EXTINF ՝ 10,
fileSekuence5.ts
#EXTINF ՝ 10,
fileSekuence6.ts
Պատճեն կոդը
3. կենդանի m3u8 թարմացման կանոններ
Կենդանի m3u8 ֆայլերի ցանկը պետք է անընդհատ թարմացվի, թարմացման կանոնները.
Հեռացրեք վերին (կարծում եմ, որ խաղացել է) ֆայլը ֆայլերի երգացանկում
Շարունակաբար թարմացրեք 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- ՀԵՏևՈՈՒԹՅՈՒՆ. 1
# EXT-X- ՆՊԱՏԱԿԸ ՝ 10
#EXTINF ՝ 10
hls / 1.ts
#EXTINF ՝ 10
hls / 2.ts
#EXTINF ՝ 10
hls / 3.ts
Պատճեն կոդը
Գրեք BAT սկրիպտ ՝ live.m3u8 ֆայլը թարմացնելու համար յուրաքանչյուր 10 վայրկյանում
Պատճեն կոդը
@echo անջատված
f
|
Անակնկալ ստանալու համար մուտքագրեք էլ
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 -> Chinese (Traditional)
hr.fmuser.org -> խորվաթերեն
cs.fmuser.org -> չեխերեն
da.fmuser.org -> դանիերեն
nl.fmuser.org -> Dutch
et.fmuser.org -> էստոնական
tl.fmuser.org -> ֆիլիպիներեն
fi.fmuser.org -> ֆիններեն
fr.fmuser.org -> French
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 -> Italian
ja.fmuser.org -> ճապոներեն
ko.fmuser.org -> կորեերեն
lv.fmuser.org -> լատվիերեն
lt.fmuser.org -> Լիտվայի
mk.fmuser.org -> մակեդոներեն
ms.fmuser.org -> մալայերեն
mt.fmuser.org -> մալթերեն
no.fmuser.org -> Norwegian
fa.fmuser.org -> պարսկերեն
pl.fmuser.org -> լեհերեն
pt.fmuser.org -> Պորտուգալերեն
ro.fmuser.org -> Romanian
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- ը անթերի փոխանցում է տեսանյութն ու աուդիոն ավելի հեշտ:
Կապ
Հասցե:
No.305 սենյակ HuiLan շենք No.273 Huanpu Road Guangzhou China 510620
Կատեգորիաներ
Տեղեկագիր