FMUSER Wirless stuur video en klank makliker toe!
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org -> Afrikaans
sq.fmuser.org -> Albanees
ar.fmuser.org -> Arabies
hy.fmuser.org -> Armeens
az.fmuser.org -> Azerbeidjans
eu.fmuser.org -> Baskies
be.fmuser.org -> Belo-Russies
bg.fmuser.org -> Bulgaars
ca.fmuser.org -> Katalaans
zh-CN.fmuser.org -> Chinees (vereenvoudig)
zh-TW.fmuser.org -> Sjinees (Tradisioneel)
hr.fmuser.org -> Kroaties
cs.fmuser.org -> Tsjeggies
da.fmuser.org -> Deens
nl.fmuser.org -> Nederlandse
et.fmuser.org -> Esties
tl.fmuser.org -> Filippyns
fi.fmuser.org -> Fins
fr.fmuser.org -> Franse
gl.fmuser.org -> Galisies
ka.fmuser.org -> Georgies
de.fmuser.org -> Duits
el.fmuser.org -> Grieks
ht.fmuser.org -> Haïtiaanse kreool
iw.fmuser.org -> Hebreeus
hi.fmuser.org -> Hindi
hu.fmuser.org -> Hungarian
is.fmuser.org -> Yslands
id.fmuser.org -> Indonesies
ga.fmuser.org -> Iers
it.fmuser.org -> Italiaanse
ja.fmuser.org -> Japannees
ko.fmuser.org -> Koreaans
lv.fmuser.org -> Lets
lt.fmuser.org -> Litaus
mk.fmuser.org -> Masedonies
ms.fmuser.org -> Maleis
mt.fmuser.org -> Maltees
no.fmuser.org -> Noorse
fa.fmuser.org -> Persies
pl.fmuser.org -> Pools
pt.fmuser.org -> Portugees
ro.fmuser.org -> Roemeens
ru.fmuser.org -> Russies
sr.fmuser.org -> Serwies
sk.fmuser.org -> Slowaaks
sl.fmuser.org -> Sloveens
es.fmuser.org -> Spaans
sw.fmuser.org -> Swahili
sv.fmuser.org -> Sweeds
th.fmuser.org -> Thai
tr.fmuser.org -> Turks
uk.fmuser.org -> Oekraïens
ur.fmuser.org -> Oerdoe
vi.fmuser.org -> Viëtnamees
cy.fmuser.org -> Wallies
yi.fmuser.org -> Jiddisj
1 、 Ontwikkeling van mobiele video regstreekse uitsending
Daar kan gesien word dat, van rekenaar tot mobiel, meer en meer regstreekse uitsaaiprogramme aanlyn is, en mobiele uitsending 'n ongekende ontploffingstadium betree het. Vir die meeste mobiele regstreekse uitsendings word dit egter steeds hoofsaaklik deur inheemse kliënte geïmplementeer, maar HTML5 speel ook 'n onvervangbare rol in die mobiele regstreekse uitsending, soos HTML5. Met die voordele van vinnige versending en maklik om vry te stel, kan HTML5 ook live speel video wanneer dit die belangrikste is.
Die volledige regstreekse uitsending kan in die volgende verdeel word:
(1) Video-opname-terminaal: Oor die algemeen is dit 'n rekenaarklank- en video-invoerapparaat of 'n kamera of mikrofoon by die mobiele terminale. Tans is selfoonvideo die hoofdeel.
(2) Videospeler: dit kan 'n speler op die rekenaar wees, 'n inheemse speler aan die selfoonkant en 'n video-etiket van HTML5. Op die oomblik is dit steeds die belangrikste inheemse speler op die selfoon.
(3) Video-bediener: oor die algemeen is dit 'n nginx-bediener, wat gebruik word om die video-bron wat deur die video-opname-kant verskaf word, te aanvaar en die stroomdiens aan die einde van die video-afspeel te lewer.
2, HTML5 opname video:
Vir HTML5-video-opname is die kragtige webrtc (WEB real-time kommunikasie) 'n tegnologie wat real-time stem- of video-gesprekke in die webblaaier ondersteun. Die nadeel is dat dit net beter op PC chroom ondersteun en dat die mobiele kant nie ideaal is nie.
Die basiese proses om video op te neem met webrtc is:
Bel window.navigator.webkitGetUserMedia (verkry die videodata van die gebruiker se rekenaarkamera).
Skakel aangeskaf na videostroomdata na window.webkitRTCPeerConnection ('n videostroomdata-formaat).
Gebruik die websocket om videostroomdata na die bediener oor te dra
Omdat baie metodes voorafgegaan moet word met die blaaier, ondersteun baie mobiele blaaiers nie webrtc nie, en die regte video-opname word steeds deur die kliënt (IOS, Android) geïmplementeer, en die effek sal beter wees.
3, HTML5 live video uitgesaai:
Vir video-afspeel kan u die HLS (HTTP live streaming) protokol gebruik om live streaming te speel. IOS en Android ondersteun albei hierdie protokol natuurlik. Dit is eenvoudig om videomerkers direk op te stel en te gebruik.
Hier is 'n eenvoudige kode om live video's met video te speel:
(1) wat is HLS-protokol:
Kortom, die hele stroom is verdeel in klein lêers wat op HTTP afgelaai word. Slegs sommige word gelyktydig afgelaai. Die vorige lêer van. M3u8 wat in HTML5-regstreekse video uitgesaai is, is gebaseer op die HLS-protokol, wat die metadata van die videostroom stoor.
Elke M3u8-lêer stem ooreen met verskeie TS-lêers, wat die data vir die regte videoberging is. Die m3u8-lêer stoor slegs die konfigurasie-inligting en verwante paaie van sommige TS-lêers. Wanneer die video gespeel word, word die M3u8-lêer dinamies verander. Die video-etiket sal die lêer ontleed en die ooreenstemmende TS-lêer vind om te speel. Om die spoed te versnel, sal die M3u8-lêer dus gebruik word om die lêer te ontleed en die ooreenstemmende TS-lêer te vind om te speel. Om die spoed te versnel, sal die M3u8-lêer dus gebruik word om die lêer te ontleed en die ooreenstemmende TS-lêer te vind vir afspeel. Om dit te bespoedig, moet u dit dus op die webbediener en die TS-lêer op die CDN plaas.
Die.M3u8-lêer is eintlik 'n M3U-lêer wat met UTF-8 gekodeer is. Hierdie lêer kan nie vanself gespeel word nie, maar slegs die tekslêer wat die terugspeelinligting bevat.
(2) HLS-versoekproses:
Die URL van die HTTP-versoek m3u8.
Die bediener gee 'n snitlys van m3u8 terug, wat intyds opgedateer word. Oor die algemeen word die URL van vyf segmente data gelyktydig gegee.
Die kliënt ontleed die snitlys van m3u8 en versoek dan die URL van elke segment om die TS-datastroom te verkry.
(3) Vertraging van HLS regstreekse uitsending:
Ons weet dat die HLS-protokol die regstreekse stroom in 'n klein deel van die video verdeel om af te laai en te speel. Veronderstel dus dat die lys 5 TS-lêers bevat, dat elke TS-lêer 5 sekondes video-inhoud bevat, dan is die totale vertraging 25 sekondes. Want as u hierdie video's sien, het die gasheer die video opgeneem en opgelaai, dus die vertraging word hierdeur veroorsaak. Natuurlik kan die lyslengte en die grootte van 'n enkele TS-lêer verkort word om die vertraging te verminder. In die uiterste geval kan die lyslengte verminder word tot 1 en die TS-duur 1s. Dit sal egter die aantal versoeke verhoog en die bedienerdruk verhoog. As die netwerksnelheid stadig is, sal meer buffer gegenereer word. Daarom duur die TS-tyd wat deur Apple aanbeveel word amptelik vir tien's, en dit sal die vertraging van 10's aansienlik verander. Die bediener ontvang dus die stroom, transkodeer, stoor, sny die blok en versprei dit dan aan die kliënt. Hier is die oorsaak van die vertraging.
Raadpleeg Apple se amptelike adres vir meer vrae oor vertragings:
https://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/StreamingMediaGuide/FrequentlyAskedQuestions/FrequentlyAskedQuestions.html
HTML5 live video hou egter enkele onvervangbare voordele in:
Goeie kommunikasie, maklik om te deel en ander bedrywighede.
② Dit kan dinamies vrygestel word, wat bevorderlik is vir intydse iterasie van produkvereistes en vinnige bekendstelling.
③ Maak die blaaier direk oop sonder om die program te installeer.
4, IOS-versameling (opname) van klank- en videodata-bedryfstelsel
Vir die verkryging en opname van klank en video word die volgende begrippe eers duidelik gemaak:
(1) Videokodering: videokodering verwys na die manier waarop 'n lêer in 'n video-formaat deur 'n spesifieke kompressietegnologie in 'n ander video-formaat-lêer omgeskakel word. Die video wat ons op die iPhone opneem, moet gekodeer, opgelaai en gekodeer word voordat dit in die gebruiker-speler gespeel kan word.
(2) Codec-standaard: die belangrikste codec-standaarde in videostroom-uitsending sluit in H.261, H.263 en H.264 van ITU, waarin HLS-protokol H.264-formaatkodering ondersteun.
(3) Oudiokodering: soortgelyk aan videokodering, word die oorspronklike klankstroom gekodeer, volgens sekere standaarde opgelaai, gedekodeer en in die speler gespeel. Natuurlik het klank ook baie koderingstandaarde, soos PCM-kode, wma-kode, AAC-kode, ens. Die klankoderingsmetode wat deur ons HLS-protokol ondersteun word, is AAC-kode.
Die verkryging van video- en klankdata word hoofsaaklik in die volgende stappe verdeel:
(1) die verkryging van video- en klankdata deur die kamera op IOS te gebruik
(2) In IOS kan die oorspronklike klank- en videodatastroom deur avcapturesession en avcapturedevice versamel word.
(3) Die video is met h264 gekodeer en die klank is AAC-gekodeer. In IOS is daar reeds verpakte koderingsbiblioteke om die kodering van klank en video te besef.
(4) Die klank- en videodata na kodering word saamgestel en verseël;
(5) Maak 'n RTMP-verbinding en druk dit op na die bediener.
Die volgende is die spesifieke proses om klank- en videodata te versamel:
(1) oor RTMP:
Real-time messaging protocol (RTMP) is 'n stel regstreekse videoprotokol wat deur Macromedia ontwikkel is, en behoort nou aan Adobe. Soos met HLS, kan dit gebruik word vir video-uitsendings. Die verskil is dat RTMP nie in die IOS-blaaier kan speel op grond van flits nie, maar dit is beter in reële tyd as HLS. Hierdie protokol word dus gewoonlik gebruik om videostroom op te laai, oftewel videostroom word na die bediener gestuur.
(2) druk vloei
Die sogenaamde streaming verwys na die stuur van die klank- en videodata wat ons gekodeer het, na die videostroombediener. In IOS-kode word RTMP-streaming algemeen gebruik. Librtmp IOS, 'n biblioteek van derdepartye, kan gebruik word vir streaming. Librtmp bevat 'n paar kern-API's wat gebruikers kan oproep. Druk byvoorbeeld die API, ensovoorts, stel die bedieneradres in en druk die transkoderingsvideostroom na die bediener.
Hoe bou ek 'n streaming bediener?
Eenvoudige streaming bediener is gebou. Aangesien die videostroom wat ons oplaai gebaseer is op RTMP-protokol, moet die bediener RTMP ondersteun. Dit kan die volgende stappe neem:
(1) Installeer 'n nginx-bediener.
(2) Die RTMP-uitbreiding van nginx is geïnstalleer. Stel die conf-lêer op vir nginx
(3) Herbegin nginx en skryf die stroomadres van RTMP as rtmp: // ip: 1935 / hls / mystream, waar HLS_ Path die adres van die gegenereerde M3u8- en TS-lêers verteenwoordig, HLS_ Fragment die lengte van die sny voorstel en mystroom verteenwoordig 'n geval. Die lêernaam wat gegenereer moet word, kan op sigself gestel word.
5, Gebruikersinteraksie in regstreekse uitsending:
Vir die gebruikersinteraksie in regstreekse uitsending kan dit ongeveer verdeel word in:
geskenke gee.
Om kommentaar te lewer of om te speel
Vir die aflewering van geskenke kan DOM en CSS3 gebruik word om die logika van geskenkversending en spesiale geskenkanimasies op HTML5 te besef. Die tegniese probleme is nie baie groot nie.
Vir 'n spervuur, om 'n bietjie meer kompleks te wees, moet u dalk aandag skenk aan die volgende:
Die werklike werkverrigting van die projektiel kan intyds deur die webskok gestuur en ontvang word.
Vir blaaiers wat nie 'n websocket ondersteun nie, kan dit slegs gedegradeer word tot 'n lang stemming of 'n tydoproep om versoeke te stuur om real-time pop-up te kry.
Animasie en opsporing van botsings (dws geen oorvleueling nie) ensovoorts in die weergawe
|
Voer e-posadres in om 'n verrassing te kry
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org -> Afrikaans
sq.fmuser.org -> Albanees
ar.fmuser.org -> Arabies
hy.fmuser.org -> Armeens
az.fmuser.org -> Azerbeidjans
eu.fmuser.org -> Baskies
be.fmuser.org -> Belo-Russies
bg.fmuser.org -> Bulgaars
ca.fmuser.org -> Katalaans
zh-CN.fmuser.org -> Chinees (vereenvoudig)
zh-TW.fmuser.org -> Sjinees (Tradisioneel)
hr.fmuser.org -> Kroaties
cs.fmuser.org -> Tsjeggies
da.fmuser.org -> Deens
nl.fmuser.org -> Nederlandse
et.fmuser.org -> Esties
tl.fmuser.org -> Filippyns
fi.fmuser.org -> Fins
fr.fmuser.org -> Franse
gl.fmuser.org -> Galisies
ka.fmuser.org -> Georgies
de.fmuser.org -> Duits
el.fmuser.org -> Grieks
ht.fmuser.org -> Haïtiaanse kreool
iw.fmuser.org -> Hebreeus
hi.fmuser.org -> Hindi
hu.fmuser.org -> Hungarian
is.fmuser.org -> Yslands
id.fmuser.org -> Indonesies
ga.fmuser.org -> Iers
it.fmuser.org -> Italiaanse
ja.fmuser.org -> Japannees
ko.fmuser.org -> Koreaans
lv.fmuser.org -> Lets
lt.fmuser.org -> Litaus
mk.fmuser.org -> Masedonies
ms.fmuser.org -> Maleis
mt.fmuser.org -> Maltees
no.fmuser.org -> Noorse
fa.fmuser.org -> Persies
pl.fmuser.org -> Pools
pt.fmuser.org -> Portugees
ro.fmuser.org -> Roemeens
ru.fmuser.org -> Russies
sr.fmuser.org -> Serwies
sk.fmuser.org -> Slowaaks
sl.fmuser.org -> Sloveens
es.fmuser.org -> Spaans
sw.fmuser.org -> Swahili
sv.fmuser.org -> Sweeds
th.fmuser.org -> Thai
tr.fmuser.org -> Turks
uk.fmuser.org -> Oekraïens
ur.fmuser.org -> Oerdoe
vi.fmuser.org -> Viëtnamees
cy.fmuser.org -> Wallies
yi.fmuser.org -> Jiddisj
FMUSER Wirless stuur video en klank makliker toe!
Kontak Ons
adres:
No.305 Kamer HuiLan-gebou No.273 Huanpu-weg Guangzhou China 510620
kategorieë
Nuusbrief