2011-10-27 27 views
40

Ho provato HTTP Ogg/Theora e funziona bene con Chrome, ma non con Firefox 7.Come utilizzare i live streaming VLC con video HTML5?

VLC Configurazione:

Per il test, sono stato in streaming sul desktop utilizzando la seguente configurazione riga di comando vlc:

schermo

vlc.exe: //: schermo-fps = 30: schermo-caching = 100 : Sout = # {transcodifica vcodec = Theo, vb = 800, scala = 1, width = 800, height = 600, acodec = none}: http {mux = ogg, dst =: 8181/desktop} : no-sout-rtp-sap: no-sout-standard-linfa: tt l = 1: Sout-tenere

HTML5 configurazione tag video:

<video id="video" src="http://my_host_name:8181/desktop" type="video/ogg; codecs=theora" autoplay="autoplay"/> 

Tutte le idee?

+0

Perché lo streaming è lento? come posso farlo velocemente? – YumYumYum

risposta

35

Ho faticato con questo per un po 'e sono stato in grado di verificare che Ogg/Theora funzioni perfettamente in Firefox 7, Nightly 10 e Opera Next.

Ora tutto funziona anche su Google Chrome. Il problema che ho riscontrato con Chrome è che l'ultima versione di Chrome in XP non richiede più l'istruzione "--enable-webgl" passata nella riga di comando. L'unica voce della riga di comando richiesta in XP è '--ignore-gpu-blacklist' poiché le GPU sono nella lista nera in XP.

Inoltre, sono stato in grado di verificare che Chrome funzioni perfettamente con i flussi Web-m/VP8/Vorbis. Opera e Firefox devono ancora supportarlo.

I principali problemi che ho trovato sono stati:

1 - Il caricamento della pagina: Se si carica la pagina dal file system in contrasto con da un browser web, non verrà visualizzato il video (qualsiasi video, vlc o file).

Per risolvere il problema, è sufficiente assicurarsi di caricare il contenuto da un server Web.

2 - Streaming in tempo reale/in tempo reale: VLC è stato utilizzato e, al fine di farlo funzionare, ho dovuto aggirare le restrizioni di sicurezza WebGL/HTML5 Video. Succede che i flussi video che non provengono dallo stesso server web e dal contesto web o sotto-contesto non saranno riprodotti a causa di restrizioni di sicurezza.

Per risolvere questo problema, è sufficiente posizionare il server delle applicazioni su un server Web Apache e configurare lo stream VLC in un sotto-contesto Web dalle pagine Web caricate. Per esempio, in Apache 2.2 abilitare il proxy mod e aggiungere le seguenti righe al file httpd.conf:

# Mod_proxy Module 
ProxyReceiveBufferSize 16384 

ProxyRequests On 
ProxyVia On 
ProxyPreserveHost On 

<Proxy *> 
    Order deny,allow 
    Allow from all 
</Proxy> 

# VLC server stream 
ProxyPass /desktop/video/stream.ogg http://vlc_streaming_host:8181/desktop.ogg 
ProxyPassReverse /desktop/video/stream.ogg http://vlc_streaming_host:8181/desktop.ogg 

# If content is on another server (JBoss, Spring, etc...) then uncomment next lines 
#ProxyPass /desktop http://server_content_host:8080/streamer 
#ProxyPassReverse /desktop http://server_content_host:8080/streamer 

Se si sta utilizzando anche Apache per memorizzare i contenuti voi, allora, e sulla base dell'esempio di cui sopra, solo posiziona le tue pagine html in una directory denominata "desktop".

Conclusione finora: Anche se le specifiche video HTML5 fornire spazio per i flussi, finora la mia conclusione è che HTML5 video non è quasi pronta per lo streaming live. Nei miei esperimenti il ​​tag video è sempre stato bufferizzato e non sono riuscito a trovare un modo per disabilitarlo e questo risultato ha causato un ritardo di almeno 5-8 secondi.

Quindi, credo che per ora le soluzioni basate Flash e RTMP sono ancora la strada da percorrere.

+2

Grazie mille per la risposta alla tua domanda, mi ha aiutato a me. – coder000001

+0

Eventuali aggiornamenti a questo? Ho cercato di convertire un flusso MJPEG in mp4 per risparmiare larghezza di banda, è una sorta di opera, ma il video sarà balbettare ogni pochi secondi. 'Vlc --intf = rc http: // localhost: 8080/ruscello topic =/image_raw --sout = '# transcodifica {vcodec = Theo, vb = 800, scala = 1, width = 640, height = 480, acodec = none}: http {MUX = ogg, dst =: 8181/desktop.ogg '}: no-Sout-RTP-SAP: no-Sout-standard SAP: TTL = 1: Sout-keep' –

+0

Come rendere il flusso veloce? è molto lento lento lento ... più tempo passa – YumYumYum

Problemi correlati