FMUSER Wirless Trasmetti video e audio più facilmente!
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org -> Afrikaans
sq.fmuser.org -> albanese
ar.fmuser.org -> Arabo
hy.fmuser.org -> Armenian
az.fmuser.org -> Azerbaigiano
eu.fmuser.org -> Basco
be.fmuser.org -> bielorusso
bg.fmuser.org -> Bulgaro
ca.fmuser.org -> Catalano
zh-CN.fmuser.org -> Cinese (semplificato)
zh-TW.fmuser.org -> Cinese (Tradizionale)
hr.fmuser.org -> croato
cs.fmuser.org -> ceco
da.fmuser.org -> danese
nl.fmuser.org -> Olandese
et.fmuser.org -> Estone
tl.fmuser.org -> Filippino
fi.fmuser.org -> finlandese
fr.fmuser.org -> Francese
gl.fmuser.org -> Galiziano
ka.fmuser.org -> georgiano
de.fmuser.org -> tedesco
el.fmuser.org -> Greca
ht.fmuser.org -> Creolo haitiano
iw.fmuser.org -> Ebraico
hi.fmuser.org -> Hindi
hu.fmuser.org -> Hungarian
is.fmuser.org -> Islandese
id.fmuser.org -> Indonesiano
ga.fmuser.org -> Irlandese
it.fmuser.org -> Italiano
ja.fmuser.org -> giapponese
ko.fmuser.org -> coreano
lv.fmuser.org -> Lettone
lt.fmuser.org -> Lithuanian
mk.fmuser.org -> Macedone
ms.fmuser.org -> Malese
mt.fmuser.org -> Maltese
no.fmuser.org -> Norwegian
fa.fmuser.org -> persiano
pl.fmuser.org -> polacco
pt.fmuser.org -> portoghese
ro.fmuser.org -> Romeno
ru.fmuser.org -> Russo
sr.fmuser.org -> Serbo
sk.fmuser.org -> slovacco
sl.fmuser.org -> Sloveno
es.fmuser.org -> spagnolo
sw.fmuser.org -> Swahili
sv.fmuser.org -> svedese
th.fmuser.org -> Thai
tr.fmuser.org -> turco
uk.fmuser.org -> Ucraino
ur.fmuser.org -> Urdu
vi.fmuser.org -> Vietnamita
cy.fmuser.org -> Gallese
yi.fmuser.org -> Yiddish
1 、 Sviluppo di trasmissioni video mobili in diretta
Si può vedere che, dal PC al cellulare, sempre più app di trasmissione in diretta sono online e la trasmissione mobile è entrata in una fase di esplosione senza precedenti. Tuttavia, per la maggior parte delle trasmissioni in diretta mobile, è ancora implementato principalmente da client nativi, ma HTML5 svolge anche un ruolo insostituibile nella fine della trasmissione in diretta mobile, come HTML5 Con i vantaggi della trasmissione veloce e facile da rilasciare, HTML5 può anche essere riprodotto dal vivo video quando è il più importante.
La trasmissione in diretta completa può essere suddivisa in:
(1) Terminale di registrazione video: in generale, è un dispositivo di input audio e video del computer o una fotocamera o un microfono sul terminale mobile. Attualmente, il video del telefono cellulare è la parte principale.
(2) Lettore video: può essere un lettore sul computer, un lettore nativo sul lato del telefono cellulare e un'etichetta video di HTML5. Al momento, è ancora il principale giocatore nativo sul telefono cellulare.
(3) Server video: generalmente, è un server nginx, che viene utilizzato per accettare la sorgente video fornita dal lato della registrazione video e fornire il servizio di streaming alla fine della riproduzione video.
2, video di registrazione HTML5:
Per la registrazione di video HTML5, il potente webrtc (comunicazione WEB in tempo reale) è una tecnologia che supporta la conversazione vocale o video in tempo reale nel browser web. Lo svantaggio è che supporta solo meglio su PC Chrome e il lato mobile non è l'ideale.
Il processo di base per registrare video con webrtc è:
Chiama window.navigator.webkitGetUserMedia (ottieni i dati video della videocamera del PC dell'utente).
Converte i dati acquisiti in flusso video in window.webkitRTCPeerConnection (un formato di dati del flusso video).
Utilizzo di websocket per trasferire i dati del flusso video al server
Poiché molti metodi devono essere preceduti dal browser, molti browser mobili non supportano webrtc, quindi la registrazione video reale è ancora implementata dal client (IOS, Android) e l'effetto sarà migliore.
3 、 HTML5 trasmette video in diretta:
Per la riproduzione video, è possibile utilizzare il protocollo HLS (HTTP live streaming) per riprodurre lo streaming live. IOS e Android supportano entrambi questo protocollo naturalmente. È semplice configurare e utilizzare direttamente i tag video.
Ecco un semplice codice per riprodurre video dal vivo utilizzando il video:
(1) cos'è il protocollo HLS:
In breve, l'intero flusso è diviso in piccoli file, che vengono scaricati in base a HTTP. Solo alcuni vengono scaricati alla volta. Il file menzionato in precedenza di.M3u8 introdotto nel video live trasmesso in HTML5 si basa sul protocollo HLS, che memorizza i metadati del flusso video.
Ciascun file .M3u8 corrisponde a diversi file TS, che sono i dati per l'archiviazione video reale. Il file m3u8 memorizza solo le informazioni di configurazione ei percorsi correlati di alcuni file TS. Quando il video viene riprodotto, il file .M3u8 viene modificato dinamicamente. L'etichetta video analizzerà il file e troverà il file TS corrispondente da riprodurre. Quindi, al fine di accelerare la velocità, il file .M3u8 verrà utilizzato per analizzare il file e trovare il file TS corrispondente per la riproduzione. Pertanto, al fine di accelerare la velocità, il file .M3u8 verrà utilizzato per analizzare il file e trovare il file TS corrispondente per la riproduzione. Pertanto, per velocizzare Mettilo sul server web e il file TS sulla CDN.
Il file .M3u8 è in realtà un file M3U codificato con UTF-8. Questo file non può essere riprodotto da solo, ma solo il file di testo contenente le informazioni di riproduzione.
(2) Processo di richiesta HLS:
L'URL della richiesta HTTP m3u8.
Il server restituisce una playlist di m3u8, che viene aggiornata in tempo reale. In genere, viene fornito l'URL di 5 segmenti di dati alla volta.
Il client analizza la playlist di m3u8, quindi richiede l'URL di ogni segmento per ottenere il flusso di dati TS.
(3) Ritardo trasmissione in diretta HLS:
Sappiamo che il protocollo HLS divide il live streaming in un piccolo segmento di video da scaricare e riprodurre. Supponiamo quindi che l'elenco contenga 5 file TS, ogni file TS contenga 5 secondi di contenuto video, quindi il ritardo complessivo è di 25 secondi. Perché quando vedi questi video, l'host ha registrato il video e lo ha caricato, quindi il ritardo è causato da questo. Naturalmente, la lunghezza dell'elenco e la dimensione di un singolo file TS possono essere abbreviate per ridurre il ritardo. All'estremo, la lunghezza dell'elenco può essere ridotta a 1 e la durata TS è 1s. Tuttavia, ciò aumenterà il numero di richieste e aumenterà la pressione del server. Quando la velocità della rete è lenta, verrà generato più buffer. Pertanto, il tempo TS consigliato da Apple dura ufficialmente per 10 secondi, quindi cambierà notevolmente il ritardo di 30 secondi. Quindi il server riceve il flusso, transcodifica, salva, taglia il blocco e quindi lo distribuisce al client. Ecco la causa principale del ritardo.
Per ulteriori domande sui ritardi, fare riferimento all'indirizzo ufficiale di Apple:
https://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/StreamingMediaGuide/FrequentlyAskedQuestions/FrequentlyAskedQuestions.html
Tuttavia, il video live HTML5 presenta alcuni vantaggi insostituibili:
① Buona comunicazione, facile condivisione e altre operazioni.
② Può essere rilasciato dinamicamente, il che favorisce l'iterazione in tempo reale dei requisiti del prodotto e il lancio rapido.
③ Senza installare l'app, apri direttamente il browser.
4, sistema operativo iOS per la raccolta (registrazione) di dati audio e video
Per l'acquisizione e la registrazione di audio e video, in primo luogo, vengono chiariti i seguenti concetti:
(1) Codifica video: la codifica video si riferisce al modo in cui un file in un formato video viene convertito in un altro file in formato video tramite una specifica tecnologia di compressione. Il video registrato dall'iPhone che utilizziamo deve essere codificato, caricato e decodificato prima di poter essere riprodotto nel player lato utente.
(2) Standard codec: i più importanti standard codec nella trasmissione di flussi video includono H.261, H.263 e H.264 di ITU, in cui il protocollo HLS supporta la codifica in formato H.264.
(3) Codifica audio: simile alla codifica video, il flusso audio originale viene codificato, caricato, decodificato secondo determinati standard e riprodotto nel lettore. Naturalmente, l'audio ha anche molti standard di codifica, come codice PCM, codice wma, codice AAC, ecc. il metodo di codifica audio supportato dal nostro protocollo HLS è il codice AAC.
L'acquisizione dei dati video e audio si articola principalmente nelle seguenti fasi:
(1)l'acquisizione dei dati video e audio utilizzando la fotocamera su IOS
(2) In IOS, il flusso di dati audio e video originale può essere raccolto da avcapturesession e avcapturedevice.
(3) Il video è codificato con h264 e l'audio è codificato AAC. In IOS, esistono già librerie di codifica pacchettizzate per realizzare la codifica di audio e video.
(4) I dati audio e video dopo la codifica vengono assemblati e sigillati;
(5)Stabilire la connessione RTMP e inviarla al server.
Quello che segue è il processo specifico di raccolta dei dati audio e video:
(1) su RTMP:
Il protocollo di messaggistica in tempo reale (RTMP) è un insieme di protocolli video live sviluppato da Macromedia e ora appartiene ad Adobe. Come con HLS, può essere utilizzato per la trasmissione video. La differenza è che RTMP non può giocare nel browser IOS basato su flash, ma è meglio in tempo reale di HLS. Quindi questo protocollo viene generalmente utilizzato per caricare il flusso video, ovvero il flusso video viene inviato al server.
(2) flusso di spinta
Il cosiddetto streaming si riferisce all'invio dei dati audio e video che abbiamo codificato al server di streaming video. Nel codice IOS, lo streaming RTMP è comunemente usato. Librtmp IOS, una libreria di terze parti, può essere utilizzata per lo streaming. Librtmp incapsula alcune API principali che gli utenti possono chiamare. Ad esempio, eseguire il push dell'API e così via, configurare l'indirizzo del server e quindi inviare il flusso video di transcodifica al server.
Allora come costruire un server di streaming?
Viene costruito un semplice server di streaming. Poiché il flusso video che carichiamo è basato sul protocollo RTMP, il server deve supportare RTMP. Potrebbero essere necessari i seguenti passaggi:
(1) Installa un server nginx.
(2) L'estensione RTMP di nginx è installata. Configura il file di configurazione per nginx
(3) Riavviare nginx e scrivere l'indirizzo di streaming di RTMP come rtmp: // ip: 1935 / hls / mystream, dove HLS_ Path rappresenta l'indirizzo dei file M3u8 e TS generati, HLS_ Fragment rappresenta la lunghezza della slice e mystream rappresenta un'istanza. Il nome del file da generare può essere impostato da solo.
5 、 Interazione dell'utente nella trasmissione in diretta:
Per l'interazione dell'utente nella trasmissione dal vivo, può essere approssimativamente suddiviso in:
fare regali.
Per commentare o per giocare
Per la consegna dei regali, DOM e CSS3 possono essere utilizzati per realizzare la logica dell'invio dei regali e alcune speciali animazioni dei regali su HTML5. Le difficoltà tecniche non sono molto grandi.
Affinché uno sbarramento sia un po 'più complesso, potrebbe essere necessario prestare attenzione a quanto segue:
Le prestazioni in tempo reale del proiettile possono essere inviate e ricevute in tempo reale da webscock e renderizzate.
Per i browser che non supportano websocket, possono essere degradati solo a lunghe richieste di polling o di invio di timer front-end per ottenere pop-up in tempo reale.
Animazione e rilevamento delle collisioni (cioè nessuna sovrapposizione) e così via nel rendering
|
Inserisci l'email per ricevere una sorpresa
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org -> Afrikaans
sq.fmuser.org -> albanese
ar.fmuser.org -> Arabo
hy.fmuser.org -> Armenian
az.fmuser.org -> Azerbaigiano
eu.fmuser.org -> Basco
be.fmuser.org -> bielorusso
bg.fmuser.org -> Bulgaro
ca.fmuser.org -> Catalano
zh-CN.fmuser.org -> Cinese (semplificato)
zh-TW.fmuser.org -> Cinese (Tradizionale)
hr.fmuser.org -> croato
cs.fmuser.org -> ceco
da.fmuser.org -> danese
nl.fmuser.org -> Olandese
et.fmuser.org -> Estone
tl.fmuser.org -> Filippino
fi.fmuser.org -> finlandese
fr.fmuser.org -> Francese
gl.fmuser.org -> Galiziano
ka.fmuser.org -> georgiano
de.fmuser.org -> tedesco
el.fmuser.org -> Greca
ht.fmuser.org -> Creolo haitiano
iw.fmuser.org -> Ebraico
hi.fmuser.org -> Hindi
hu.fmuser.org -> Hungarian
is.fmuser.org -> Islandese
id.fmuser.org -> Indonesiano
ga.fmuser.org -> Irlandese
it.fmuser.org -> Italiano
ja.fmuser.org -> giapponese
ko.fmuser.org -> coreano
lv.fmuser.org -> Lettone
lt.fmuser.org -> Lithuanian
mk.fmuser.org -> Macedone
ms.fmuser.org -> Malese
mt.fmuser.org -> Maltese
no.fmuser.org -> Norwegian
fa.fmuser.org -> persiano
pl.fmuser.org -> polacco
pt.fmuser.org -> portoghese
ro.fmuser.org -> Romeno
ru.fmuser.org -> Russo
sr.fmuser.org -> Serbo
sk.fmuser.org -> slovacco
sl.fmuser.org -> Sloveno
es.fmuser.org -> spagnolo
sw.fmuser.org -> Swahili
sv.fmuser.org -> svedese
th.fmuser.org -> Thai
tr.fmuser.org -> turco
uk.fmuser.org -> Ucraino
ur.fmuser.org -> Urdu
vi.fmuser.org -> Vietnamita
cy.fmuser.org -> Gallese
yi.fmuser.org -> Yiddish
FMUSER Wirless Trasmetti video e audio più facilmente!
Contatti
Indirizzo:
No.305 Room HuiLan Building No.273 Huanpu Road Guangzhou Cina 510620
Categorie
Newsletter