FMUSER Transferoni pa video dhe audio video dhe audio më lehtë!
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org -> Afrikanisht
sq.fmuser.org -> shqip
ar.fmuser.org -> arabisht
hy.fmuser.org -> Armenisht
az.fmuser.org -> Azerbajxhanisht
eu.fmuser.org -> Baskisht
be.fmuser.org -> Bjellorusisht
bg.fmuser.org -> Bullgarisht
ca.fmuser.org -> katalanisht
zh-CN.fmuser.org -> Kinezisht (e thjeshtuar)
zh-TW.fmuser.org -> Kinezisht (Tradicionale)
hr.fmuser.org -> Kroate
cs.fmuser.org -> Çekisht
da.fmuser.org -> daneze
nl.fmuser.org -> Hollandisht
et.fmuser.org -> Estonisht
tl.fmuser.org -> Filipinase
fi.fmuser.org -> finlandisht
fr.fmuser.org -> Frëngjisht
gl.fmuser.org -> Galike
ka.fmuser.org -> gjeorgjian
de.fmuser.org -> gjermanisht
el.fmuser.org -> Greqisht
ht.fmuser.org -> Kreolishtja Haitiane
iw.fmuser.org -> Hebraisht
hi.fmuser.org -> Hindisht
hu.fmuser.org -> Hungarisht
is.fmuser.org -> Islandez
id.fmuser.org -> indonezisht
ga.fmuser.org -> Irlandez
it.fmuser.org -> Italisht
ja.fmuser.org -> Japoneze
ko.fmuser.org -> Koreane
lv.fmuser.org -> Letonisht
lt.fmuser.org -> Lituanisht
mk.fmuser.org -> maqedonas
ms.fmuser.org -> Malajzisht
mt.fmuser.org -> Maltese
no.fmuser.org -> Norvegjisht
fa.fmuser.org -> persisht
pl.fmuser.org -> polake
pt.fmuser.org -> Portugeze
ro.fmuser.org -> Rumanisht
ru.fmuser.org -> Rusisht
sr.fmuser.org -> serbisht
sk.fmuser.org -> Sllovake
sl.fmuser.org -> Sllovenisht
es.fmuser.org -> Spanjisht
sw.fmuser.org -> Suahilisht
sv.fmuser.org -> suedisht
th.fmuser.org -> Thai
tr.fmuser.org -> turqisht
uk.fmuser.org -> ukrainas
ur.fmuser.org -> Urdu
vi.fmuser.org -> Vietnamese
cy.fmuser.org -> Uellsit
yi.fmuser.org -> Yiddish
Disa ditë më parë, kalova ca kohë për të studiuar teknologjinë e transmetimit të drejtpërdrejtë HTTP (HLS) dhe për të zbatuar një kodues HLS, hlsliveencoder, të shkruar në C + +. Funksioni i tij është të kapë kamerën dhe mikrofonin, kodimin video në kohë reale H.264 dhe kodimin audio aac, dhe sipas specifikimit të protokollit HLS, gjeneroni skedarin standard të segmentuar TS dhe skedarin indeksi m3u8. Përmes hlsliveencoder tim dhe serverit të palës së tretë HTTP (siç është nginx), ne realizuam me sukses transmetimin e drejtpërdrejtë të HTTP dhe kaluam testin në iPhone. Unë do të shkruaj disa nga fitimet këtu.
1. Analiza e Teknologjisë HLS
Transmetimi i drejtpërdrejtë HTTP (HLS) është një protokoll transporti mediatik i bazuar në HTTP i zbatuar nga Apple Inc., i cili mund të realizojë media transmetuese të drejtpërdrejta dhe me kërkesë. Përdoret kryesisht në sistemin IOS për të siguruar zgjidhje audio dhe video të drejtpërdrejta dhe sipas kërkesës për pajisjet IOS (të tilla si iPhone dhe iPad). HLS sipas kërkesës është në thelb një HTTP e zakonshme e segmentuar sipas kërkesës. Dallimi është se segmentet e tij janë shumë të vogla. Në mënyrë që të realizojmë HLS sipas kërkesës, çelësi është që të segmentojmë skedarët mediatikë. Aktualisht, ka shumë mjete me burim të hapur që mund të përdoren. Unë nuk do ta diskutoj këtu, thjesht flasim për teknologjinë e transmetimit të drejtpërdrejtë të HLS.
Krahasuar me protokollet e zakonshme të transmetimit të drejtpërdrejtë, të tilla si protokolli RTMP, protokolli RTSP, protokolli MMS dhe kështu me radhë, ndryshimi më i madh i transmetimit të drejtpërdrejtë të HLS është se klienti i drejtpërdrejtë nuk merr një transmetim të plotë të të dhënave. Protokolli HLS ruan rrjedhën e të dhënave të drejtpërdrejta si skedarë mediatikë të vazhdueshëm, afatshkurtër dhe të gjatë (formati mpeg-ts) në anën e serverit, ndërsa ana e klientit vazhdimisht shkarkon dhe luan këto skedarë të vegjël, sepse ana e serverit gjeneron gjithmonë skedarë të rinj të vegjël nga të dhënat më të fundit të drejtpërdrejta, kështu që pala e klientit duhet të luajë vetëm skedarët e marrë nga serveri në mënyrë që të realizojë live. Mund të shihet që HLS në thelb realizon transmetim të drejtpërdrejtë me anë të teknologjisë VOD. Për shkak se të dhënat transmetohen përmes protokollit HTTP, nuk ka nevojë të merret në konsideratë problemi i firewall ose proxy, dhe koha e ndarjes së skedarëve është shumë e shkurtër. Klienti mund të zgjedhë shpejt dhe të ndryshojë shpejtësinë e kodit për t'iu përshtatur riprodhimit në kushte të ndryshme të gjerësisë së brezit. Sidoqoftë, për shkak të karakteristikave teknike të HLS, vonesa e tij është gjithmonë më e lartë se ajo e protokollit të zakonshëm të transmetimit të drejtpërdrejtë.
Sipas kuptimit të mësipërm, për të arritur transmetim të drejtpërdrejtë HTTP, ne duhet të studiojmë dhe zbatojmë teknologjitë kryesore vijuese.
(1) Mblidhni të dhënat e burimit të videos dhe burimit të audios
(2) Të dhënat origjinale janë të koduara nga H264 dhe AAC
(3) Të dhënat video dhe audio janë paketuar si pako mpeg-ts
(4) Strategjia e gjenerimit të segmentimit HLS dhe skedari i indeksit m3u8
2. Protokolli i transportit HTTP
Midis tyre, pikat e para dhe të dyta janë përmendur në artikullin tim të mëparshëm, dhe pika e fundit është se ne mund të përdorim serverin ekzistues HTTP, kështu që implementimi i pikave të treta dhe të katërta është çelësi.
(1) Kuadri dhe Zbatimi i Programit
Përmes analizës së mësipërme, logjika dhe procesi i kodifikuesit të drejtpërdrejtë të HLS janë në thelb të qarta: filloni përkatësisht fillin e kodimit të audios dhe videos, realizoni blerjen e audios dhe videos përmes teknologjisë DirectShow (ose tjetër), dhe më pas thirrni libx264 dhe libfaac përkatësisht për video dhe kodim audio. Pasi të dy fijet e kodifikimit të kodojnë të dhënat audio dhe video në kohë reale, ata i ruajnë ato në një skedar segmenti të formatit mpeg-ts sipas strategjisë së ndarjes së personalizuar. Kur ruhet një skedar i segmentit, skedari i indeksit m3u8 azhurnohet. Siç tregohet në figurën më poshtë:
Në figurën e mësipërme, pas marrjes së të dhënave video dhe audio, hlsliveencoder duhet së pari të përcaktojë nëse ndarja aktuale duhet të përfundojë dhe të krijojë një ndarje të re për të vazhduar gjenerimin e vazhdueshëm të ndarjes TS. Duhet të theksohet se copëzimi i ri duhet të fillojë nga korniza kryesore për të parandaluar që lojtari të deshifrojë dështimin. Kodi kryesor është si më poshtë:
Ndërfaqja e tsmuxer është gjithashtu relativisht e thjeshtë.
(2) Strategjia e gjenerimit të segmentit HLS dhe m3u8
. Strategjia e segmentimit
Strategjia e segmentimit të HLS-së në thelb rekomandohet të ndahet çdo 10 sekonda. Sigurisht, koha specifike duhet të shënohet në përputhje me gjatësinë aktuale të ndarjes
Në përgjithësi, për hir të cache dhe arsyeve të tjera, tre adresat e fundit të fragmentit mbahen në skedarin e indeksit dhe azhurnohen në formën e "dritares rrëshqitëse".
② Prezantimi i skedarit m3u8
M3u8 është skedari indeks i transmetimit të drejtpërdrejtë HTTP. M3u8 mund të konsiderohet si. Skedari i formatit M3U në thelb, ndryshimi është se skedari m3u8 përdor kodimin e karakterit UTF-8.
Kopjoni kodin
# Titulli i skedarit Extm3u M3U, duhet të vendoset në rreshtin e parë
# Numri serial i segmentit të parë TS të sekuencës ext-x-media
# Ekstra-x-targetimi kohëzgjatja maksimale e secilit segment të TS
# A lejon cache ext-x-allow-cache
#Përfundimi i skedarit m3u8 të listës së jashtme-x-end
#Extinf informacion shtesë, informacioni i ndarjeve, të tilla si kohëzgjatja, gjerësia e bandës, etj
|
Fut email për të marrë një surprizë
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org -> Afrikanisht
sq.fmuser.org -> shqip
ar.fmuser.org -> arabisht
hy.fmuser.org -> Armenisht
az.fmuser.org -> Azerbajxhanisht
eu.fmuser.org -> Baskisht
be.fmuser.org -> Bjellorusisht
bg.fmuser.org -> Bullgarisht
ca.fmuser.org -> katalanisht
zh-CN.fmuser.org -> Kinezisht (e thjeshtuar)
zh-TW.fmuser.org -> Kinezisht (Tradicionale)
hr.fmuser.org -> Kroate
cs.fmuser.org -> Çekisht
da.fmuser.org -> daneze
nl.fmuser.org -> Hollandisht
et.fmuser.org -> Estonisht
tl.fmuser.org -> Filipinase
fi.fmuser.org -> finlandisht
fr.fmuser.org -> Frëngjisht
gl.fmuser.org -> Galike
ka.fmuser.org -> gjeorgjian
de.fmuser.org -> gjermanisht
el.fmuser.org -> Greqisht
ht.fmuser.org -> Kreolishtja Haitiane
iw.fmuser.org -> Hebraisht
hi.fmuser.org -> Hindisht
hu.fmuser.org -> Hungarisht
is.fmuser.org -> Islandez
id.fmuser.org -> indonezisht
ga.fmuser.org -> Irlandez
it.fmuser.org -> Italisht
ja.fmuser.org -> Japoneze
ko.fmuser.org -> Koreane
lv.fmuser.org -> Letonisht
lt.fmuser.org -> Lituanisht
mk.fmuser.org -> maqedonas
ms.fmuser.org -> Malajzisht
mt.fmuser.org -> Maltese
no.fmuser.org -> Norvegjisht
fa.fmuser.org -> persisht
pl.fmuser.org -> polake
pt.fmuser.org -> Portugeze
ro.fmuser.org -> Rumanisht
ru.fmuser.org -> Rusisht
sr.fmuser.org -> serbisht
sk.fmuser.org -> Sllovake
sl.fmuser.org -> Sllovenisht
es.fmuser.org -> Spanjisht
sw.fmuser.org -> Suahilisht
sv.fmuser.org -> suedisht
th.fmuser.org -> Thai
tr.fmuser.org -> turqisht
uk.fmuser.org -> ukrainas
ur.fmuser.org -> Urdu
vi.fmuser.org -> Vietnamese
cy.fmuser.org -> Uellsit
yi.fmuser.org -> Yiddish
FMUSER Transferoni pa video dhe audio video dhe audio më lehtë!
Kontakt
Adresa:
Nr.305 Dhoma Ndërtesa HuiLan Nr.273 Huanpu Road Guangzhou Kinë 510620
Kategoritë
Gazete