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 -> Հայերեն
1 mobile բջջային տեսանյութերի ուղիղ հեռարձակման մշակում
Տեսանելի է, որ համակարգչից մինչև բջջային հեռախոս ՝ ավելի ու ավելի շատ ուղիղ հեռարձակման ծրագրեր են առցանց, և բջջային հեռարձակումը թևակոխել է աննախադեպ պայթյունի փուլ: Այնուամենայնիվ, բջջային ուղիղ հեռարձակման մեծ մասի համար այն դեռևս հիմնականում իրականացվում է բնիկ հաճախորդների կողմից, բայց HTML5- ը նաև անփոխարինելի դեր է խաղում շարժական հեռարձակման վերջում, ինչպիսին է HTML5: Արագ փոխանցման առավելություններով և հեշտությամբ թողարկվող HTML5- ը կարող է նաև խաղալ կենդանի տեսանյութ, երբ դա ամենակարեւորն է:
Ամբողջական ուղիղ հեռարձակումը կարելի է բաժանել հետևյալի.
(1) Տեսագրման տերմինալ. Ընդհանուր առմամբ, դա համակարգչային աուդիո և վիդեո մուտքագրող սարք է կամ բջջային տերմինալում տեսախցիկ կամ խոսափող: Ներկայումս բջջային հեռախոսի տեսանյութը հիմնական մասն է:
(2) Վիդեո նվագարկիչ. Այն կարող է լինել համակարգչի վրա նվագարկիչ, բջջային հեռախոսի բնիկ նվագարկիչ և HTML5 վիդեո պիտակ: Ներկայումս այն դեռ բջջային հեռախոսի հիմնական հայրենական նվագարկիչն է:
(3) Վիդեո սերվեր. Ընդհանուր առմամբ, դա nginx սերվեր է, որն օգտագործվում է տեսանյութերի ձայնագրման կողմից տրամադրված տեսանյութի աղբյուրն ընդունելու և հոսքային ծառայությունը տեսանյութի նվագարկման ավարտին ապահովելու համար:
2 、 HTML5 ձայնագրման տեսանյութ.
HTML5 տեսանյութերի ձայնագրման համար հզոր վեբտրկ (WEB իրական ժամանակի հաղորդակցություն) տեխնոլոգիա է, որն աջակցում է իրական ժամանակում ձայնային կամ վիդեո զրույց վեբ զննարկչում: Անբարենպաստությունն այն է, որ այն միայն ավելի լավ է աջակցում համակարգչի քրոմի վրա, և շարժական կողմը իդեալական չէ:
Webrtc- ի հետ տեսանյութի ձայնագրման հիմնական գործընթացն է.
Callանգահարեք windows.navigator.webkitGetUserMedia (ձեռք բերեք օգտագործողի ԱՀ տեսախցիկի վիդեո տվյալները):
Ձեռք բերվածը վիդեո հոսքի տվյալների վերածեք windows.webkitRTCPeerConnection (վիդեո հոսքի տվյալների ձևաչափ):
Websocket- ի միջոցով վիդեո հոսքի տվյալները սերվեր տեղափոխելու համար
Քանի որ շատ մեթոդներ պետք է նախածանցվեն զննարկչի հետ, շատ բջջային բրաուզերներ չեն աջակցում վեբտրկ, ուստի իրական տեսանյութերի ձայնագրությունը դեռևս իրականացվում է հաճախորդի կողմից (IOS, Android), և էֆեկտն ավելի լավ կլինի:
3 、 HTML5- ը ուղիղ հեռարձակում է տեսանյութը.
Տեսանյութի նվագարկման համար դուք կարող եք օգտագործել HLS (HTTP կենդանի հոսք) պրոտոկոլը ՝ կենդանի հոսք խաղալու համար: IOS- ը և Android- ը բնականաբար աջակցում են այս պրոտոկոլը: Ուղղակիորեն կազմաձևել և օգտագործել վիդեո պիտակները պարզ է:
Ահա մի պարզ կոդ ՝ տեսանյութի միջոցով կենդանի տեսանյութ նվագարկելու համար.
(1) ինչ է HLS արձանագրությունը.
Մի խոսքով, ամբողջ հոսքը բաժանված է փոքր ֆայլերի, որոնք ներբեռնում են HTTP- ի հիման վրա: Միաժամանակ ներբեռնվում են միայն որոշները: HTML3 հեռարձակվող կենդանի տեսանյութում ներդրված .M8u5- ի նախորդ հիշյալ ֆայլը հիմնված է HLS արձանագրության վրա, որը պահպանում է վիդեո հոսքի մետատվյալները:
Յուրաքանչյուր. M3u8 ֆայլը համապատասխանում է մի քանի TS ֆայլերի, որոնք իրական տեսանյութի պահպանման տվյալներն են: M3u8 ֆայլը պահպանում է միայն TS որոշ ֆայլերի կազմաձևման տեղեկատվությունը և հարակից ուղիները: Երբ տեսանյութը խաղում է, the.M3u8 ֆայլը դինամիկորեն փոխվում է: Տեսանյութի պիտակը կներկայացնի ֆայլը և կգտնի համապատասխան TS ֆայլը նվագելու համար: Այսպիսով, արագությունն արագացնելու համար, the.M3u8 ֆայլը կօգտագործվի ֆայլը վերլուծելու և նվագարկման համար համապատասխան TS ֆայլ գտնելու համար: Հետևաբար, արագությունն արագացնելու համար, the.M3u8 ֆայլը կօգտագործվի ֆայլը վերլուծելու և նվագարկման համար համապատասխան TS ֆայլ գտնելու համար: Հետևաբար արագացնելու համար այն տեղադրեք վեբ սերվերի վրա, իսկ TS ֆայլը ՝ CDN- ի վրա:
The.M3u8 ֆայլը իրականում M3U ֆայլ է, որը ծածկագրված է UTF-8- ով: Այս ֆայլը չի կարող նվագարկվել ինքնուրույն, այլ միայն տեքստային ֆայլը, որը պարունակում է նվագարկման տեղեկատվություն:
(2) HLS հարցման գործընթաց.
HTTP խնդրանքի m3u8- ի URL- ը.
Սերվերը վերադարձնում է m3u8- ի երգացանկը, որը թարմացվում է իրական ժամանակում: Ընդհանրապես, տվյալների 5 հատվածների URL- ը միանգամից տրվում է:
Հաճախորդը վերլուծում է m3u8- ի երգացանկը, այնուհետև յուրաքանչյուր սեգմենտի URL է խնդրում ՝ TS տվյալների հոսքը ստանալու համար:
(3) HLS- ի ուղիղ հեռարձակման ուշացում.
Մենք գիտենք, որ HLS պրոտոկոլը կենդանի հոսքը բաժանում է տեսանյութի փոքր հատվածի ՝ ներբեռնելու և նվագելու համար: Այսպիսով, ենթադրենք, որ ցուցակը պարունակում է 5 TS ֆայլ, յուրաքանչյուր TS ֆայլ պարունակում է 5 վայրկյան վիդեո բովանդակություն, ապա ընդհանուր ուշացումը 25 վայրկյան է: Քանի որ երբ տեսնում եք այս տեսանյութերը, հաղորդավարը տեսագրել է տեսանյութը և վերբեռնել այն, ուստի հետաձգումը պայմանավորված է դրանով: Իհարկե, մեկ TS ֆայլի ցուցակի երկարությունը և չափը կարող են կրճատվել `ուշացումը նվազեցնելու համար: Extremeայրահեղ դեպքում ցուցակի երկարությունը կարող է կրճատվել 1-ի, իսկ TS- ի տևողությունը `1-ի: Այնուամենայնիվ, դա կբարձրացնի հարցումների քանակը և կմեծացնի սերվերի ճնշումը: Երբ ցանցի արագությունը դանդաղ է, ավելի շատ բուֆեր կստեղծվի: Հետեւաբար, Apple- ի առաջարկած TS ժամանակը պաշտոնապես տևում է 10-ական թվականներ, ուստի այն մեծապես կփոխի 30-ականների հետաձգումը: Այսպիսով, սերվերը ստանում է հոսքը, վերակոդավորում, պահպանում, կտրում է բլոկը, այնուհետև տարածում է հաճախորդին: Ահա հետաձգման հիմնական պատճառը:
Հետաձգումների վերաբերյալ լրացուցիչ հարցերի համար դիմեք Apple- ի պաշտոնական հասցեին.
https://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/StreamingMediaGuide/FrequentlyAskedQuestions/FrequentlyAskedQuestions.html
Այնուամենայնիվ, HTML5 կենդանի տեսանյութն ունի որոշ անփոխարինելի առավելություններ.
① Լավ հաղորդակցություն, հեշտ է կիսել և այլ գործողություններ:
② Այն կարող է թողարկվել դինամիկ կերպով, ինչը նպաստում է արտադրանքի պահանջների իրական ժամանակում կրկնությանը և արագ գործարկմանը:
③ Առանց ծրագիր տեղադրելու, ուղղակիորեն բացեք զննարկիչը:
4 、 IOS հավաքածու (ձայնագրում) աուդիո և վիդեո տվյալների ՕՀ
Աուդիո և վիդեո ձեռք բերելու և ձայնագրելու համար նախ պարզվում են հետևյալ հասկացությունները.
1 կոդավորում Մեր կողմից օգտագործվող iPhone- ի ձայնագրած տեսանյութը պետք է կոդավորվի, վերբեռնվի և վերծանվի, նախքան այն օգտագործողի կողմից նվագարկչի մեջ նվագարկելը:
(2) Կոդեկի ստանդարտ. Տեսահոսքի փոխանցման ամենակարևոր կոդեկային ստանդարտները ներառում են ITU H.261, H.263 և H.264, որոնցում HLS պրոտոկոլն աջակցում է H.264 ձևաչափի կոդավորմանը:
(3) Աուդիո կոդավորում. Տեսանյութերի կոդավորման նման, բնօրինակ աուդիո հոսքը կոդավորվում է, վերբեռնվում, վերծանվում է ըստ որոշակի ստանդարտների և նվագարկչի մեջ խաղում: Իհարկե, աուդիոն ունի նաև կոդավորման բազմաթիվ ստանդարտներ, ինչպիսիք են PCM կոդը, wma կոդը, AAC կոդը և այլն: մեր HLS պրոտոկոլով աջակցվող աուդիո կոդավորման մեթոդը AAC կոդ է:
Տեսանյութերի և աուդիո տվյալների ձեռքբերումը հիմնականում բաժանված է հետևյալ քայլերի.
(1) վիդեո և աուդիո տվյալների ձեռքբերում `IOS- ի միջոցով տեսախցիկ օգտագործելով
(2 I IOS- ում աուդիո և վիդեո տվյալների բնօրինակ հոսքը կարող է հավաքվել avcapturesession- ի և avcapturedevice- ի միջոցով:
(3) Տեսանյութը կոդավորված է h264- ով, իսկ աուդիոինը `AAC կոդավորված: IOS- ում արդեն կան փաթեթավորված ծածկագրող գրադարաններ աուդիո և վիդեո կոդավորումը իրականացնելու համար:
(4 c Կոդավորումից հետո աուդիո և վիդեո տվյալները հավաքվում և կնքվում են.
(5) Ստեղծեք RTMP կապ և սեղմեք այն դեպի սերվեր:
Հաջորդը աուդիո և վիդեո տվյալների հավաքագրման հատուկ գործընթացն է.
(1) RTMP- ի մասին.
Իրական ժամանակի հաղորդագրությունների արձանագրությունը (RTMP) Macromedia- ի կողմից մշակված կենդանի վիդեո պրոտոկոլի մի շարք է, որն այժմ պատկանում է adobe- ին: Ինչպես HLS- ի դեպքում, այն կարող է օգտագործվել տեսանյութերի հեռարձակման համար: Տարբերությունն այն է, որ RTMP- ը չի կարող խաղալ IOS բրաուզերում, որը հիմնված է ֆլեշի վրա, բայց դա ավելի լավ է իրական ժամանակում, քան HLS- ն: Այսպիսով, այս արձանագրությունն ընդհանուր առմամբ օգտագործվում է վիդեո հոսքը վերբեռնելու համար, այսինքն ՝ վիդեո հոսքը մղվում է սերվեր:
(2) մղման հոսք
Այսպես կոչված հոսքային հոսքը վերաբերում է աուդիո և վիդեո տվյալների մեր կոդավորմամբ վիդեո հոսքի սերվերին ուղարկելուն: IOS կոդում սովորաբար օգտագործվում է RTMP հոսքը: Librtmp IOS- ը, երրորդ կողմի գրադարան, կարող է օգտագործվել հոսքային հոսքի համար: Librtmp- ն ամփոփում է որոշ հիմնական API- ներ, որպեսզի օգտվողները զանգահարեն: Օրինակ, սեղմեք API- ն և այլն, կազմաձևեք սերվերի հասցեն և ապա մղեք վերակոդավորված տեսանյութերի հոսքը դեպի սերվեր:
Այսպիսով, ինչպես կառուցել հոսքային սերվեր:
Կառուցված է պարզ հոսքային սերվեր: Քանի որ մեր վերբեռնած տեսանյութերի հոսքը հիմնված է RTMP պրոտոկոլի վրա, սերվերը պետք է աջակցի RTMP- ին: Դա կարող է ձեռնարկել հետևյալ քայլերը.
(1) Տեղադրեք nginx սերվեր:
(2 ng Տեղադրված է nginx- ի RTMP ընդլայնումը: Կազմաձևել conf ֆայլը nginx- ի համար
(3) Վերագործարկեք nginx- ը և RTMP- ի հոսքային հասցեն գրեք rtmp: // ip: 1935 / hls / mystream, որտեղ HLS_ Path- ը ներկայացնում է գեներացվածի հասցեն: M3u8 և TS ֆայլերը, HLS_ Fragment- ը ներկայացնում է կտորի երկարությունը և mystream ներկայացնում է օրինակ: Գեներացվող ֆայլի անունը կարող է ինքնուրույն սահմանվել:
5, օգտագործողի փոխազդեցությունն ուղիղ հեռարձակման ժամանակ.
Ուղիղ հեռարձակում օգտագործողի փոխգործակցության համար այն կարելի է բաժանել մոտավորապես.
նվերներ տալը
Մեկնաբանելու կամ խաղալու համար
Նվերների առաքման համար DOM- ը և CSS3- ը կարող են օգտագործվել HTML5- ում նվերներ ուղարկելու տրամաբանությունն ու որոշ հատուկ նվերների անիմացիա: Տեխնիկական դժվարությունները շատ մեծ չեն:
Որպեսզի արգելքը մի փոքր ավելի բարդ լինի, գուցե հարկ լինի ուշադրություն դարձնել հետևյալի վրա.
Արկի իրական ժամանակում կատարումը կարող է ուղարկվել և ստացվել իրական ժամանակում վեբկոկով և տրամադրվել:
Browsննարկիչների համար, որոնք չեն ապահովում websocket, դրանք կարող են դեգրադացվել մինչև երկարաժամկետ քվեարկություն կամ դիմային ժամանակաչափ ուղարկող հարցումներ ՝ իրական ժամանակում թռուցիկ պատուհան ստանալու համար:
Շարժապատկերների և բախումների հայտնաբերում (այսինքն `ոչ մի համընկնում) և այլն` մատուցման ժամանակ
|
Անակնկալ ստանալու համար մուտքագրեք էլ
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
Կատեգորիաներ
Տեղեկագիր