FMUSER Wirless överför video och ljud enklare!
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org -> afrikanska
sq.fmuser.org -> albanska
ar.fmuser.org -> arabiska
hy.fmuser.org -> Armenian
az.fmuser.org -> Azerbajdzjanska
eu.fmuser.org -> Baskiska
be.fmuser.org -> vitryska
bg.fmuser.org -> Bulgariska
ca.fmuser.org -> katalanska
zh-CN.fmuser.org -> Kinesiska (förenklad)
zh-TW.fmuser.org -> Kinesiska (traditionella)
hr.fmuser.org -> kroatiska
cs.fmuser.org -> Tjeckiska
da.fmuser.org -> danska
nl.fmuser.org -> Dutch
et.fmuser.org -> estniska
tl.fmuser.org -> filippinska
fi.fmuser.org -> finska
fr.fmuser.org -> French
gl.fmuser.org -> galiciska
ka.fmuser.org -> Georgiska
de.fmuser.org -> tyska
el.fmuser.org -> Greek
ht.fmuser.org -> Haitisk kreol
iw.fmuser.org -> hebreiska
hi.fmuser.org -> Hindi
hu.fmuser.org -> ungerska
is.fmuser.org -> isländska
id.fmuser.org -> Indonesiska
ga.fmuser.org -> Irländska
it.fmuser.org -> Italian
ja.fmuser.org -> japanska
ko.fmuser.org -> koreanska
lv.fmuser.org -> lettiska
lt.fmuser.org -> Litauiska
mk.fmuser.org -> makedonska
ms.fmuser.org -> Malajiska
mt.fmuser.org -> maltesiska
no.fmuser.org -> Norwegian
fa.fmuser.org -> persiska
pl.fmuser.org -> polska
pt.fmuser.org -> portugisiska
ro.fmuser.org -> rumänska
ru.fmuser.org -> ryska
sr.fmuser.org -> serbiska
sk.fmuser.org -> Slovakiska
sl.fmuser.org -> Slovenska
es.fmuser.org -> spanska
sw.fmuser.org -> Swahili
sv.fmuser.org -> svenska
th.fmuser.org -> Thai
tr.fmuser.org -> Turkiska
uk.fmuser.org -> ukrainska
ur.fmuser.org -> Urdu
vi.fmuser.org -> Vietnamesiskt
cy.fmuser.org -> Walesiska
yi.fmuser.org -> Jiddisch
1、 Utveckling av mobil video livesändning
Det kan ses att, från PC till mobil, finns fler och fler appar för livesändningar online, och mobilsändning har gått in i ett aldrig tidigare skådat explosionsstadium. Men för de flesta mobila livesändningar implementeras det fortfarande huvudsakligen av infödda klienter, men HTML5 spelar också en oersättlig roll i den mobila livesändningen, såsom HTML5 Med fördelarna med snabb överföring och lätt att släppa, kan HTML5 också spela live video när det är som viktigast.
Hela livesändningen kan delas in i följande:
(1) Videoinspelningsterminal: Generellt sett är det en datorljud- och videoingångsenhet eller en kamera eller mikrofon vid mobilterminalen. För närvarande är mobiltelefonvideo huvuddelen.
(2) Videospelare: det kan vara en spelare på datorn, en inbyggd spelare på mobiltelefonsidan och en videoetikett med HTML5. För närvarande är det fortfarande den huvudsakliga infödda spelaren på mobiltelefonen.
(3) Videoserver: i allmänhet är det en nginx-server, som används för att acceptera videokällan som tillhandahålls av videoinspelningssidan och tillhandahålla streamingtjänsten till videouppspelningsändan.
2、 HTML5 inspelning av video:
För HTML5-videoinspelning är den kraftfulla webrtc (WEB-realtidskommunikation) en teknik som stöder röst- eller videokonversation i realtid i webbläsare. Nackdelen är att den bara stödjer bättre på PC chrome och mobilsidan är inte idealisk.
Den grundläggande processen för att spela in video med webrtc är:
Ring window.navigator.webkitGetUserMedia (skaffa videodata från användarens PC-kamera).
Konvertera inhämtad till videoströmsdata till window.webkitRTCPeerConnection (ett videoströmdataformat).
Använder websocket för att överföra videoströmdata till servern
Eftersom många metoder måste prefixas med webbläsare, stöder många mobila webbläsare inte webrtc, så den riktiga videoinspelningen implementeras fortfarande av klienten (IOS, Android), och effekten blir bättre.
3、 HTML5 sänder livevideo:
För videouppspelning kan du använda HLS-protokollet (HTTP live streaming) för att spela livestreaming. IOS och Android stöder båda detta protokoll naturligtvis. Det är enkelt att konfigurera och använda videotaggar direkt.
Här är en enkel kod för att spela livevideo med video:
(1) vad är HLS-protokoll:
Kort sagt är hela strömmen uppdelad i små filer, som laddas ner baserat på HTTP. Bara några laddas ner åt gången. Den tidigare nämnda filen av.M3u8 som introduceras i HTML5-sändning av livevideo är baserad på HLS-protokollet, som lagrar metadata för videoström.
Varje.M3u8-fil motsvarar flera TS-filer, som är data för den riktiga videolagringen. M3u8-filen lagrar bara konfigurationsinformation och relaterade sökvägar för vissa TS-filer. När videon spelas upp ändras.M3u8-filen dynamiskt. Videoetiketten kommer att analysera filen och hitta motsvarande TS-fil att spela upp. Så för att öka hastigheten kommer M3u8-filen att användas för att analysera filen och hitta motsvarande TS-fil för uppspelning. Därför, för att öka hastigheten, kommer M3u8-filen att användas för att analysera filen och hitta motsvarande TS-fil för uppspelning. Därför, för att påskynda, lägg den på webbservern och TS-filen på CDN.
M3u8-filen är faktiskt en M3U-fil kodad med UTF-8. Denna fil kan inte spelas av sig själv, utan endast textfilen som innehåller uppspelningsinformationen.
(2) HLS-begäran:
URL:en för HTTP-begäran m3u8.
Servern returnerar en spellista med m3u8, som uppdateras i realtid. I allmänhet ges webbadressen till 5 datasegment åt gången.
Klienten analyserar spellistan för m3u8 och begär sedan URL:en för varje segment för att få TS-dataströmmen.
(3) HLS-livsändningsfördröjning:
Vi vet att HLS-protokollet delar upp liveströmmen i ett litet segment av video att ladda ner och spela upp. Så anta att listan innehåller 5 TS-filer, varje TS-fil innehåller 5 sekunders videoinnehåll, då är den totala fördröjningen 25 sekunder. För när du ser dessa videos har värden spelat in videon och laddat upp den, så förseningen orsakas av detta. Naturligtvis kan listlängden och storleken på en enda TS-fil förkortas för att minska fördröjningen. I yttersta fall kan listlängden minskas till 1 och TS-längden är 1s. Detta kommer dock att öka antalet förfrågningar och öka servertrycket. När nätverkshastigheten är långsam genereras mer buffert. Därför varar TS-tiden som rekommenderas av Apple officiellt i 10s, så det kommer att avsevärt förändra fördröjningen på 30s. Så servern tar emot strömmen, kodar om, sparar, klipper blocket och distribuerar det sedan till klienten. Här är grundorsaken till förseningen.
För fler frågor om förseningar, se Apples officiella adress:
https://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/StreamingMediaGuide/FrequentlyAskedQuestions/FrequentlyAskedQuestions.html
Men HTML5 livevideo har några oersättliga fördelar:
① Bra kommunikation, lätt att dela och andra operationer.
② Den kan släppas dynamiskt, vilket bidrar till realtidsupprepning av produktkrav och snabb lansering.
③ Öppna webbläsaren direkt utan att installera appen.
4、 IOS-insamling (inspelning) ljud- och videodata OS
För insamling och inspelning av ljud och video förtydligas först följande begrepp:
(1)Videokodning: videokodning hänvisar till hur en fil i ett videoformat konverteras till en annan videoformatfil genom en specifik komprimeringsteknik. Videon som spelats in av iPhone vi använder måste kodas, laddas upp och avkodas innan den kan spelas upp i spelaren på användarsidan.
(2)Codec-standard: de viktigaste codec-standarderna för videoströmsöverföring inkluderar H.261, H.263 och H.264 från ITU, där HLS-protokollet stöder H.264-formatkodning.
(3)Ljudkodning: på samma sätt som videokodning kodas den ursprungliga ljudströmmen, laddas upp, avkodas enligt vissa standarder och spelas upp i spelaren. Naturligtvis har ljud också många kodningsstandarder, såsom PCM-kod, wma-kod, AAC-kod, etc. ljudkodningsmetoden som stöds av vårt HLS-protokoll är AAC-kod.
Video- och ljuddatainsamlingen är huvudsakligen uppdelad i följande steg:
(1)insamling av video- och ljuddata genom att använda kameran på IOS
(2)I IOS kan den ursprungliga ljud- och videodataströmmen samlas in av avcapturesession och avcapturedevice.
(3)Videon är kodad med h264, och ljudet är AAC-kodat. I IOS finns det redan paketerade kodningsbibliotek för att realisera kodningen av ljud och video.
(4)Ljud- och videodata efter kodning monteras och förseglas;
(5)Etablera RTMP-anslutning och skjut upp den till servern.
Följande är den specifika processen för att samla in ljud- och videodata:
(1) om RTMP:
Realtime messaging protocol (RTMP) är en uppsättning livevideoprotokoll som utvecklats av Macromedia och tillhör nu Adobe. Precis som med HLS kan den användas för videosändning. Skillnaden är att RTMP inte kan spela i IOS webbläsare baserat på flash, men det är bättre i realtid än HLS. Så det här protokollet används vanligtvis för att ladda upp videoström, det vill säga videoström skjuts till servern.
(2) tryck flöde
Den så kallade streaming avser att skicka ljud- och videodata som vi har kodat till videostreamservern. I IOS-kod används vanligen RTMP-strömning. Librtmp IOS, ett tredjepartsbibliotek, kan användas för streaming. Librtmp kapslar in några kärn-API:er för användare att anropa. Till exempel, push API och så vidare, konfigurera serveradressen och skicka sedan omkodningsvideoströmmen till servern.
Så hur bygger man en streamingserver?
Enkel streamingserver är byggd. Eftersom videoströmmen vi laddar upp är baserad på RTMP-protokoll måste servern stödja RTMP. Det kan ta följande steg:
(1)Installera en nginx-server.
(2) RTMP-tillägget av nginx är installerat. Konfigurera conf-fil för nginx
(3)Starta om nginx och skriv strömningsadressen för RTMP som rtmp://ip : 1935/hls/mystream, där HLS_ Path representerar adressen för de genererade.M3u8- och TS-filerna, HLS_ Fragment representerar längden på skivan, och mystream representerar en instans. Filnamnet som ska genereras kan ställas in själv.
5、 Användarinteraktion i livesändning:
För användarinteraktionen i livesändning kan den grovt delas in i:
ge gåvor.
För att kommentera eller att spela
För presentleverans kan DOM och CSS3 användas för att förverkliga logiken i att skicka presenter och några speciella presentanimationer på HTML5. De tekniska svårigheterna är inte särskilt stora.
För att en störtflod ska vara lite mer komplex kan du behöva vara uppmärksam på följande:
Projektilens realtidsprestanda kan sändas och tas emot i realtid av webscock och renderas.
För webbläsare som inte stöder websocket kan de bara degraderas till långa polling- eller front-end timersändningsförfrågningar för att få popup-fönster i realtid.
Animation och kollisionsdetektion (dvs ingen överlappning) och så vidare i renderingen
|
Ange e-post för att få en överraskning
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org -> afrikanska
sq.fmuser.org -> albanska
ar.fmuser.org -> arabiska
hy.fmuser.org -> Armenian
az.fmuser.org -> Azerbajdzjanska
eu.fmuser.org -> Baskiska
be.fmuser.org -> vitryska
bg.fmuser.org -> Bulgariska
ca.fmuser.org -> katalanska
zh-CN.fmuser.org -> Kinesiska (förenklad)
zh-TW.fmuser.org -> Kinesiska (traditionella)
hr.fmuser.org -> kroatiska
cs.fmuser.org -> Tjeckiska
da.fmuser.org -> danska
nl.fmuser.org -> Dutch
et.fmuser.org -> estniska
tl.fmuser.org -> filippinska
fi.fmuser.org -> finska
fr.fmuser.org -> French
gl.fmuser.org -> galiciska
ka.fmuser.org -> Georgiska
de.fmuser.org -> tyska
el.fmuser.org -> Greek
ht.fmuser.org -> Haitisk kreol
iw.fmuser.org -> hebreiska
hi.fmuser.org -> Hindi
hu.fmuser.org -> ungerska
is.fmuser.org -> isländska
id.fmuser.org -> Indonesiska
ga.fmuser.org -> Irländska
it.fmuser.org -> Italian
ja.fmuser.org -> japanska
ko.fmuser.org -> koreanska
lv.fmuser.org -> lettiska
lt.fmuser.org -> Litauiska
mk.fmuser.org -> makedonska
ms.fmuser.org -> Malajiska
mt.fmuser.org -> maltesiska
no.fmuser.org -> Norwegian
fa.fmuser.org -> persiska
pl.fmuser.org -> polska
pt.fmuser.org -> portugisiska
ro.fmuser.org -> rumänska
ru.fmuser.org -> ryska
sr.fmuser.org -> serbiska
sk.fmuser.org -> Slovakiska
sl.fmuser.org -> Slovenska
es.fmuser.org -> spanska
sw.fmuser.org -> Swahili
sv.fmuser.org -> svenska
th.fmuser.org -> Thai
tr.fmuser.org -> Turkiska
uk.fmuser.org -> ukrainska
ur.fmuser.org -> Urdu
vi.fmuser.org -> Vietnamesiskt
cy.fmuser.org -> Walesiska
yi.fmuser.org -> Jiddisch
FMUSER Wirless överför video och ljud enklare!
Kontakta Oss
Adress:
No.305 Room HuiLan Building No.273 Huanpu Road Guangzhou Kina 510620
Kategorier
Nyhetsbrev