Domanda

Ho una domanda sullo streaming dell'output di libx264.Il mio scenario è che sto catturando video dalla webcam, codificando con x264 e quindi trasmettendo i dati in flash, muxing come FLV.Per il muxing, sto usando output / flv_bitstream.h, incluso in libx264 budle.L'unica modifica di muxer, che ho fatto, è che invece di fwrite () im usig send () per trasferire i dati tramite socket ... La libreria di codifica funziona bene.Se salvo l'output (anche muxed), vlc player è in grado di riprodurlo.Ma, quando si passa al trasferimento dei dati tramite socket, vlc e flash non collaborano.La cosa strana è che se sto inviando dati al lettore vlc attraverso il socket, attende fino alla fine della trasmissione e quindi riproduce il video dal buffer.Ma quello di cui ho bisogno è riprodurre il live streaming.

Ho anche provato a leggere il file flv e inviarlo a vlc di flash tag per tag e funziona bene.

Qualche suggerimento?

È stato utile?

Soluzione

Implementa un semplice server http e rispondi alle richieste in arrivo con:
"HTTP / 1.0 200 OK \ r \ n"
"Pragma: no-cache \ r \ n"
"Content-Type: video / x-flv \ r \ n"
"\ r \ n"
Ciascuno di questi dovrebbe essere seguito dal flusso di bit FLV grezzo.
Ciò dovrebbe consentire il consumo dal vivo del contenuto utilizzando ad es.VLC, flowplayer, ...

Inoltre, considera l'utilizzo di "url_open_dyn_buf" / "url_close_dyn_buf" anziché "fwrite", consulta ffserver per riferimento.

Nadav a Sophin

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top