FMUSER Wirless Overfør video og lyd enklere!
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org -> Afrikaans
sq.fmuser.org -> albansk
ar.fmuser.org -> arabisk
hy.fmuser.org -> armensk
az.fmuser.org -> aserbajdsjansk
eu.fmuser.org -> baskisk
be.fmuser.org -> hviterussisk
bg.fmuser.org -> Bulgarian
ca.fmuser.org -> katalansk
zh-CN.fmuser.org -> Kinesisk (forenklet)
zh-TW.fmuser.org -> Kinesisk (tradisjonell)
hr.fmuser.org -> Kroatisk
cs.fmuser.org -> tsjekkisk
da.fmuser.org -> dansk
nl.fmuser.org -> Nederlandsk
et.fmuser.org -> estisk
tl.fmuser.org -> filippinsk
fi.fmuser.org -> finsk
fr.fmuser.org -> French
gl.fmuser.org -> galisisk
ka.fmuser.org -> Georgisk
de.fmuser.org -> tysk
el.fmuser.org -> gresk
ht.fmuser.org -> haitisk kreolsk
iw.fmuser.org -> hebraisk
hi.fmuser.org -> hindi
hu.fmuser.org -> Ungarsk
is.fmuser.org -> islandsk
id.fmuser.org -> indonesisk
ga.fmuser.org -> Irsk
it.fmuser.org -> Italiensk
ja.fmuser.org -> japansk
ko.fmuser.org -> koreansk
lv.fmuser.org -> lettisk
lt.fmuser.org -> litauisk
mk.fmuser.org -> makedonsk
ms.fmuser.org -> malaysisk
mt.fmuser.org -> maltesisk
no.fmuser.org -> norsk
fa.fmuser.org -> persisk
pl.fmuser.org -> polsk
pt.fmuser.org -> portugisisk
ro.fmuser.org -> rumensk
ru.fmuser.org -> russisk
sr.fmuser.org -> serbisk
sk.fmuser.org -> Slovakisk
sl.fmuser.org -> Slovenian
es.fmuser.org -> spansk
sw.fmuser.org -> Swahili
sv.fmuser.org -> svensk
th.fmuser.org -> Thai
tr.fmuser.org -> tyrkisk
uk.fmuser.org -> ukrainsk
ur.fmuser.org -> urdu
vi.fmuser.org -> Vietnamesisk
cy.fmuser.org -> walisisk
yi.fmuser.org -> Yiddish
1, Utvikling av direktesending av mobilvideo
Det kan sees at, fra PC til mobil, er flere og flere direktesendte apper online, og mobilsending har gått inn i et enestående eksplosjonsstadium. For de fleste mobile direktesendinger implementeres den likevel hovedsakelig av innfødte klienter, men HTML5 spiller også en uerstattelig rolle i den mobile direktesendingen, for eksempel HTML5. Med fordelene med rask overføring og enkel å frigjøre, kan HTML5 også spille live video når det er det viktigste.
Fullstendig direktesending kan deles inn i følgende:
(1) Videoopptaksterminal: Generelt sett er det en datamaskinlyd- og videoinngangsenhet eller et kamera eller mikrofon på mobilterminalen. For tiden er mobiltelefonvideo hoveddelen.
(2) Videospiller: det kan være en spiller på datamaskinen, en innfødt spiller på mobiltelefonsiden og en videoetikett av HTML5. For tiden er det fortsatt den viktigste innfødte spilleren på mobiltelefonen.
(3) Videoserver: generelt er det en nginx-server som brukes til å akseptere videokilden som tilbys av videoopptakssiden og levere streamingtjenesten til videoavspillingens slutt.
2, HTML5 innspilling av video:
For HTML5-videoopptak er den kraftige webrtc (WEB real time communication) en teknologi som støtter sanntids tale- eller videosamtale i nettleseren. Ulempen er at den bare støtter bedre på PC-krom og den mobile siden ikke er ideell.
Den grunnleggende prosessen med å ta opp video med webrtc er:
Ring window.navigator.webkitGetUserMedia (hente videodataene til brukerens PC-kamera).
Konverter ervervet til videostreamdata til window.webkitRTCPeerConnection (et videostreamdataformat).
Bruker websocket for å overføre videostreamdata til serveren
Fordi mange metoder må prefikseres med nettleseren, støtter mange mobile nettlesere ikke webrtc, så den virkelige videoopptaket er fortsatt implementert av klienten (IOS, Android), og effekten blir bedre.
3, HTML5 kringkastet live video:
For videoavspilling kan du bruke HLS (HTTP live streaming) protokoll for å spille live streaming. IOS og Android støtter begge denne protokollen naturlig. Det er enkelt å konfigurere og bruke videokoder direkte.
Her er en enkel kode for å spille av live video ved hjelp av video:
(1) hva er HLS-protokoll:
Kort fortalt er hele strømmen delt inn i små filer, som lastes ned basert på HTTP. Bare noen lastes ned om gangen. Den tidligere nevnte filen av. M3u8 introdusert i HTML5 kringkasting live video er basert på HLS-protokollen, som lagrer metadata for videostrøm.
Hver.M3u8-fil tilsvarer flere TS-filer, som er dataene for den virkelige videolagringen. M3u8-filen lagrer bare konfigurasjonsinformasjonen og relaterte baner for noen TS-filer. Når videoen spilles av, endres M3u8-filen dynamisk. Videoetiketten vil analysere filen og finne den tilsvarende TS-filen som skal spilles av. Så for å øke hastigheten vil.M3u8-filen brukes til å analysere filen og finne den tilsvarende TS-filen for avspilling. Derfor, for å øke hastigheten, blir M3u8-filen brukt til å analysere filen og finne den tilsvarende TS-filen for avspilling. Derfor, for å øke hastigheten, legg den på webserveren og TS-filen på CDN.
M3u8-filen er faktisk en M3U-fil kodet med UTF-8. Denne filen kan ikke spilles av seg selv, men bare tekstfilen som inneholder avspillingsinformasjonen.
(2) HLS forespørsel prosess:
URL-en til HTTP-forespørselen m3u8.
Serveren returnerer en spilleliste med m3u8, som oppdateres i sanntid. Vanligvis blir URL-en til 5 segmenter av data gitt om gangen.
Klienten analyserer spillelisten til m3u8, og ber deretter URL-en til hvert segment for å få TS-datastrømmen.
(3) HLS direktesending forsinkelse:
Vi vet at HLS-protokollen deler live stream i et lite segment av video for nedlasting og spill. Så anta at listen inneholder 5 TS-filer, hver TS-fil inneholder 5 sekunder med videoinnhold, så er den totale forsinkelsen 25 sekunder. For når du ser disse videoene, har verten spilt inn videoen og lastet den opp, så forsinkelsen er forårsaket av dette. Naturligvis kan listelengden og størrelsen på en enkelt TS-fil forkortes for å redusere forsinkelsen. I ytterste konsekvens kan listelengden reduseres til 1 og TS-varigheten er 1s. Dette vil imidlertid øke antall forespørsler og øke serverpresset. Når nettverkshastigheten er lav, genereres mer buffer. Derfor varer TS-tiden anbefalt av Apple offisielt i 10-årene, så det vil endre forsinkelsen på 30-tallet i stor grad. Så serveren mottar strømmen, transkoding, lagrer, kutter blokken og distribuerer den deretter til klienten. Her er årsaken til forsinkelsen.
For flere spørsmål om forsinkelser, se Apples offisielle adresse:
https://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/StreamingMediaGuide/FrequentlyAskedQuestions/FrequentlyAskedQuestions.html
HTML5 live-video har imidlertid noen uerstattelige fordeler:
① God kommunikasjon, enkel å dele og andre operasjoner.
② Den kan frigjøres dynamisk, noe som bidrar til sanntids iterasjon av produktkrav og rask lansering.
③ Åpne nettleseren direkte uten å installere appen.
4, IOS-samling (innspilling) lyd- og videodata OS
For innhenting og innspilling av lyd og video blir følgende konsepter først avklart:
(1) Videokoding: videokoding refererer til måten en fil i et videoformat konverteres til en annen videoformatfil gjennom en bestemt komprimeringsteknologi. Videoen som er tatt opp av iPhone vi bruker, må være kodet, lastet opp og dekodet før den kan spilles av på brukerens spillere.
(2) Codec-standard: de viktigste kodekstandardene i videostreamoverføring inkluderer H.261, H.263 og H.264 av ITU, der HLS-protokollen støtter koding av H.264-format.
(3) Lydkoding: i likhet med videokoding, blir den originale lydstrømmen kodet, lastet opp, dekodet i henhold til visse standarder og spilt i spilleren. Selvfølgelig har lyd også mange kodingsstandarder, som PCM-kode, wma-kode, AAC-kode, etc. lydkodingsmetoden som støttes av vår HLS-protokoll er AAC-kode.
Video- og lyddatainnsamlingen er i hovedsak delt inn i følgende trinn:
(1) video- og lyddatainnsamling ved å bruke kameraet på IOS
(2) I IOS kan den originale datastreamen for lyd og video samles inn av avcapturesession og avcapturedevice.
(3) Videoen er kodet med h264, og lyden er AAC-kodet. I IOS er det allerede pakkede kodebiblioteker for å realisere koding av lyd og video.
(4) Audio- og videodataene etter koding er samlet og forseglet;
(5) Opprett RTMP-tilkobling og skyv den opp til serveren.
Følgende er den spesifikke prosessen med å samle inn lyd- og videodata:
(1) om RTMP:
Real time messaging protocol (RTMP) er et sett med live videoprotokoll utviklet av Macromedia, og tilhører nå Adobe. Som med HLS, kan den brukes til videosending. Forskjellen er at RTMP ikke kan spille i IOS-nettleser basert på flash, men det er bedre i sanntid enn HLS. Så denne protokollen brukes vanligvis til å laste opp videostrøm, det vil si videostrømmen blir presset til serveren.
(2) skyv flyt
Den såkalte streaming refererer til å sende lyd- og videodataene vi har kodet til videostreamserveren. I IOS-kode brukes ofte RTMP-streaming. Librtmp IOS, et tredjepartsbibliotek, kan brukes til streaming. Librtmp innkapsler noen kjerne-API-er som brukerne kan ringe. For eksempel, trykk på API og så videre, konfigurer serveradressen, og skyv deretter transkodingsvideostrømmen til serveren.
Så hvordan bygger jeg en streaming-server?
Enkel streaming server er bygget. Siden videostrømmen vi laster opp er basert på RTMP-protokoll, må serveren støtte RTMP. Det kan ta følgende trinn:
(1) Installer en nginx-server.
(2) RTMP-utvidelsen til nginx er installert. Konfigurer conf-fil for nginx
(3) Start nginx på nytt og skriv streaming-adressen til RTMP som rtmp: // ip: 1935 / hls / mystream, der HLS_ Path representerer adressen til de genererte.M3u8- og TS-filene, HLS_ Fragment representerer lengden på skivet og mystream representerer en forekomst. Filnavnet som skal genereres kan angis av seg selv.
5, Brukerinteraksjon i direktesending:
For brukerinteraksjonen i direktesending kan den grovt sett deles inn i:
gi gaver.
Å kommentere eller å spille
For gavelevering kan DOM og CSS3 brukes til å realisere logikken med gaveutsendelse og litt spesiell gaveanimasjon på HTML5. De tekniske vanskene er ikke veldig store.
For å være en mer sperre, for å være litt mer kompleks, må du kanskje være oppmerksom på følgende:
Sanntidsytelsen til prosjektilet kan sendes og mottas i sanntid av webscock og gjengis.
For nettlesere som ikke støtter websocket, kan de bare nedbrytes til lang polling eller front-end timer som sender forespørsler for å få popup i sanntid.
Animasjon og kollisjonsdeteksjon (dvs. ingen overlapping) og så videre i gjengivelsen
|
Skriv inn e-post for å få en overraskelse
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org -> Afrikaans
sq.fmuser.org -> albansk
ar.fmuser.org -> arabisk
hy.fmuser.org -> armensk
az.fmuser.org -> aserbajdsjansk
eu.fmuser.org -> baskisk
be.fmuser.org -> hviterussisk
bg.fmuser.org -> Bulgarian
ca.fmuser.org -> katalansk
zh-CN.fmuser.org -> Kinesisk (forenklet)
zh-TW.fmuser.org -> Kinesisk (tradisjonell)
hr.fmuser.org -> Kroatisk
cs.fmuser.org -> tsjekkisk
da.fmuser.org -> dansk
nl.fmuser.org -> Nederlandsk
et.fmuser.org -> estisk
tl.fmuser.org -> filippinsk
fi.fmuser.org -> finsk
fr.fmuser.org -> French
gl.fmuser.org -> galisisk
ka.fmuser.org -> Georgisk
de.fmuser.org -> tysk
el.fmuser.org -> gresk
ht.fmuser.org -> haitisk kreolsk
iw.fmuser.org -> hebraisk
hi.fmuser.org -> hindi
hu.fmuser.org -> Ungarsk
is.fmuser.org -> islandsk
id.fmuser.org -> indonesisk
ga.fmuser.org -> Irsk
it.fmuser.org -> Italiensk
ja.fmuser.org -> japansk
ko.fmuser.org -> koreansk
lv.fmuser.org -> lettisk
lt.fmuser.org -> litauisk
mk.fmuser.org -> makedonsk
ms.fmuser.org -> malaysisk
mt.fmuser.org -> maltesisk
no.fmuser.org -> norsk
fa.fmuser.org -> persisk
pl.fmuser.org -> polsk
pt.fmuser.org -> portugisisk
ro.fmuser.org -> rumensk
ru.fmuser.org -> russisk
sr.fmuser.org -> serbisk
sk.fmuser.org -> Slovakisk
sl.fmuser.org -> Slovenian
es.fmuser.org -> spansk
sw.fmuser.org -> Swahili
sv.fmuser.org -> svensk
th.fmuser.org -> Thai
tr.fmuser.org -> tyrkisk
uk.fmuser.org -> ukrainsk
ur.fmuser.org -> urdu
vi.fmuser.org -> Vietnamesisk
cy.fmuser.org -> walisisk
yi.fmuser.org -> Yiddish
FMUSER Wirless Overfør video og lyd enklere!
Kontakt
Adresse:
No.305 Room HuiLan Building No.273 Huanpu Road Guangzhou Kina 510620
Type kategori
Nyhetsbrev