FMUSER Wirless senda vídeó og hljóð auðveldara!
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org -> afríku
sq.fmuser.org -> albanska
ar.fmuser.org -> arabísku
hy.fmuser.org -> armenska
az.fmuser.org -> Aserbaídsjan
eu.fmuser.org -> baskneska
be.fmuser.org -> Hvíta-Rússneska
bg.fmuser.org -> búlgarska
ca.fmuser.org -> katalónska
zh-CN.fmuser.org -> kínverska (einfölduð)
zh-TW.fmuser.org -> Kínverska (hefðbundin)
hr.fmuser.org -> Króatíska
cs.fmuser.org -> tékkneska
da.fmuser.org -> danska
nl.fmuser.org -> Hollendingar
et.fmuser.org -> eistneska
tl.fmuser.org -> filippseyska
fi.fmuser.org -> finnska
fr.fmuser.org -> franska
gl.fmuser.org -> galisíska
ka.fmuser.org -> Georgíumaður
de.fmuser.org -> þýska
el.fmuser.org -> gríska
ht.fmuser.org -> krít frá Haítí
iw.fmuser.org -> hebreska
hi.fmuser.org -> hindí
hu.fmuser.org -> ungverska
is.fmuser.org -> Íslenska
id.fmuser.org -> indónesísku
ga.fmuser.org -> Írar
it.fmuser.org -> ítalska
ja.fmuser.org -> japanska
ko.fmuser.org -> kóreska
lv.fmuser.org -> Lettneska
lt.fmuser.org -> Litháen
mk.fmuser.org -> Makedónska
ms.fmuser.org -> Malay
mt.fmuser.org -> maltneska
no.fmuser.org -> norska
fa.fmuser.org -> persneska
pl.fmuser.org -> pólska
pt.fmuser.org -> portúgalska
ro.fmuser.org -> rúmensk
ru.fmuser.org -> rússneska
sr.fmuser.org -> serbneska
sk.fmuser.org -> Slóvakía
sl.fmuser.org -> Slóvenía
es.fmuser.org -> spænska
sw.fmuser.org -> svahílí
sv.fmuser.org -> sænska
th.fmuser.org -> Tælenskur
tr.fmuser.org -> tyrkneska
uk.fmuser.org -> Úkraínska
ur.fmuser.org -> úrdú
vi.fmuser.org -> Víetnam
cy.fmuser.org -> velska
yi.fmuser.org -> jiddíska
Fyrir nokkrum dögum eyddi ég tíma í að læra HTTP lifandi streymitækni (HLS) og innleiða HLS kóðara, hlsliveencoder, skrifað í C + +. Hlutverk hennar er að fanga myndavélina og hljóðnemann, rauntíma H.264 myndkóðun og aac hljóðkóðun, og samkvæmt HLS samskiptareglunni, búa til sundraða staðlaða TS skrá og m3u8 vísitöluskrá. Í gegnum hlsliveencoder minn og HTTP netþjóninn frá þriðja aðila (svo sem nginx) áttuðum við okkur vel á straumi HTTP og tókst prófið á iPhone. Ég mun skrifa hluta af ágóðanum hér.
1. Greining á HLS tækni
HTTP lifandi straumspilun (HLS) er samskiptaregla streymismiðils byggð á HTTP útfærð af Apple Inc., sem getur gert sér grein fyrir streymimiðlum í beinni og eftirspurn. Það er aðallega notað í IOS kerfi til að veita hljóð og mynd lifandi og eftirspurn lausnir fyrir IOS tæki (eins og iPhone og iPad). HLS á eftirspurn er í grundvallaratriðum algengt hluti HTTP á eftirspurn. Munurinn er sá að hlutar þess eru mjög litlir. Til þess að átta sig á HLS eftir þörfum er lykillinn að hluti fjölmiðlaskrár. Sem stendur eru mörg opin verkfæri sem hægt er að nota. Ég mun ekki ræða það hér, bara tala um HLS beina útsendingartækni.
Samanborið við algengar samskiptareglur fyrir beina streymi, svo sem RTMP samskiptareglur, RTSP samskiptareglur, MMS samskiptareglur og svo framvegis, er stærsti munurinn á HLS lifandi streymi að lifandi viðskiptavinur fær ekki fullkominn gagnastraum. HLS samskiptareglur geyma lifandi gagnastreymi sem samfelldar, skammtíma og langar fjölmiðlaskrár (mpeg-ts snið) á netþjónahliðinni, en viðskiptavinahliðin halar niður og spilar stöðugt þessar litlu skrár, því netþjónninn býr alltaf til nýjar litlar skrár frá nýjustu lifandi gögnin, þannig að viðskiptavinshliðin þarf aðeins að spila skrárnar sem fást frá netþjóninum til að átta sig á beinni. Það má sjá að HLS gerir sér í grunninn grein fyrir beinni útsendingu með VOD tækni. Vegna þess að gögnin eru send í gegnum HTTP samskiptareglur er engin þörf á að huga að vandamálinu við eldvegg eða umboðsmann og tíminn við að deila skrám er mjög stuttur. Viðskiptavinurinn getur fljótt valið og skipt um kóðahraða til að laga sig að spilun við mismunandi bandvíddaraðstæður. Hins vegar, vegna tæknilegra einkenna HLS, er seinkun þess alltaf meiri en venjulegs beiðni um beina streymi.
Samkvæmt ofangreindum skilningi verðum við að rannsaka og innleiða eftirfarandi lykiltækni til að ná HTTP beinni streymi í beinni.
(1) Safnaðu gögnum myndbands og hljóðgjafa
(2) Upprunaleg gögn eru kóðuð af H264 og AAC
(3) Vídeó- og hljóðgögnum er pakkað sem MPEG-TS pakka
(4) HLS kynslóðarkerfi og m3u8 vísitöluskrá
2. HTTP samskiptareglur
Meðal þeirra hefur verið minnst á fyrsta og annað stig í fyrri grein minni og síðasti liðurinn er að við getum notað núverandi HTTP netþjóna, þannig að útfærsla þriðja og fjórða liðsins er lykillinn.
(1) Forritarammi og framkvæmd
Með ofangreindri greiningu eru rökfræði og ferli HLS lifandi kóðara í grundvallaratriðum skýr: byrjaðu hljóð- og myndkóðunarþræðina í sömu röð, gerðu þér grein fyrir hljóð- og myndupptökunni með DirectShow (eða annarri) tækni og hringdu síðan í libx264 og libfaac í sömu röð fyrir myndband og hljóðkóðun. Eftir að kóðunarþræðirnir tveir kóða hljóð- og myndgögnin í rauntíma, geyma þau þau í hluta skrá af mpeg-ts sniði samkvæmt sérsniðinni skiptingastefnu. Þegar hluti skrá er geymd er m3u8 vísitöluskráin uppfærð. Eins og sést á myndinni hér að neðan:
Á myndinni hér að ofan, eftir að hafa fengið mynd- og hljóðgögn, þarf hlsliveencoder fyrst að ákvarða hvort núverandi skipting ætti að ljúka og búa til nýja skipting til að halda áfram samfelldri kynslóð TS skiptingar. Þess má geta að nýja sundrungin ætti að byrja frá lykilrammanum til að koma í veg fyrir að leikmaðurinn afkóðaði bilun. Kjarnakóðinn er sem hér segir:
Viðmót tsmuxer er líka tiltölulega einfalt.
(2) HLS hluti framleiðslu stefnu og m3u8
① Skiptingarstefna
Skiptingarstefna HLS er í grundvallaratriðum mælt með því að skipta á 10 sekúndna fresti. Auðvitað ætti að merkja tiltekinn tíma í samræmi við raunverulega lengd skiptingarinnar
Almennt séð, vegna skyndiminnis og annarra ástæðna, eru síðustu þrjú brotföngin vistuð í vísitöluskránni og uppfærð í formi „renniglugga“.
② Kynning á m3u8 skrá
M3u8 er vísitöluskrá HTTP lifandi streymis. Líta má á M3u8 sem. M3U snið skrá í grundvallaratriðum, munurinn er sá að m3u8 skrá notar UTF-8 stafakóðun.
Afritaðu kóða
# Extm3u M3U skráarhaus, verður að setja í fyrstu línu
# Serienúmer fyrsta TS hluta af ext-x-media-röð
# Ext-x-targetduration hámarkslengd hvers TS hluta
# Leyfir ext-x-allow-cache skyndiminni
#End af ext-x-endlist m3u8 skrá
#Extinf auka upplýsingar, upplýsingar um hættu ts, svo sem tímalengd, bandbreidd osfrv
|
Sláðu inn tölvupóst til að koma á óvart
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org -> afríku
sq.fmuser.org -> albanska
ar.fmuser.org -> arabísku
hy.fmuser.org -> armenska
az.fmuser.org -> Aserbaídsjan
eu.fmuser.org -> baskneska
be.fmuser.org -> Hvíta-Rússneska
bg.fmuser.org -> búlgarska
ca.fmuser.org -> katalónska
zh-CN.fmuser.org -> kínverska (einfölduð)
zh-TW.fmuser.org -> Kínverska (hefðbundin)
hr.fmuser.org -> Króatíska
cs.fmuser.org -> tékkneska
da.fmuser.org -> danska
nl.fmuser.org -> Hollendingar
et.fmuser.org -> eistneska
tl.fmuser.org -> filippseyska
fi.fmuser.org -> finnska
fr.fmuser.org -> franska
gl.fmuser.org -> galisíska
ka.fmuser.org -> Georgíumaður
de.fmuser.org -> þýska
el.fmuser.org -> gríska
ht.fmuser.org -> krít frá Haítí
iw.fmuser.org -> hebreska
hi.fmuser.org -> hindí
hu.fmuser.org -> ungverska
is.fmuser.org -> Íslenska
id.fmuser.org -> indónesísku
ga.fmuser.org -> Írar
it.fmuser.org -> ítalska
ja.fmuser.org -> japanska
ko.fmuser.org -> kóreska
lv.fmuser.org -> Lettneska
lt.fmuser.org -> Litháen
mk.fmuser.org -> Makedónska
ms.fmuser.org -> Malay
mt.fmuser.org -> maltneska
no.fmuser.org -> norska
fa.fmuser.org -> persneska
pl.fmuser.org -> pólska
pt.fmuser.org -> portúgalska
ro.fmuser.org -> rúmensk
ru.fmuser.org -> rússneska
sr.fmuser.org -> serbneska
sk.fmuser.org -> Slóvakía
sl.fmuser.org -> Slóvenía
es.fmuser.org -> spænska
sw.fmuser.org -> svahílí
sv.fmuser.org -> sænska
th.fmuser.org -> Tælenskur
tr.fmuser.org -> tyrkneska
uk.fmuser.org -> Úkraínska
ur.fmuser.org -> úrdú
vi.fmuser.org -> Víetnam
cy.fmuser.org -> velska
yi.fmuser.org -> jiddíska
FMUSER Wirless senda vídeó og hljóð auðveldara!
Hafa samband
Heimilisfang:
No.305 herbergi HuiLan bygging nr.273 Huanpu Road Guangzhou Kína 510620
Flokkar
Fréttabréf