Pergunta

Tenho uma pergunta sobre a saída de streaming de libx264.Meu cenário é que estou capturando vídeo da webcam, codificando com x264 e, em seguida, transmitindo dados para o flash, mixado como FLV.Para muxing, estou usando output / flv_bitstream.h, incluído no budle libx264.A única modificação do muxer, que fiz, é que ao invés de fwrite () im usig send () para transferir dados via socket ... A biblioteca de codificação está funcionando bem.Se eu salvar a saída (mesmo mixada), o vlc player será capaz de reproduzi-la.Mas, quando vai pra transferência de dados via socket, vlc e flash não estão cooperando.O estranho é que, se estou enviando dados para o player vlc através do soquete, ele espera até o final da transmissão e reproduz o vídeo do buffer.Mas o que preciso é reproduzir uma transmissão ao vivo.

Também tentei ler o arquivo flv e enviá-lo para o vlc do flash tag por tag e está funcionando bem.

Alguma sugestão?

Foi útil?

Solução

Implemente um servidor http simples e responda às solicitações de entrada com:
"HTTP / 1.0 200 OK \ r \ n"
"Pragma: sem cache \ r \ n"
"Content-Type: video / x-flv \ r \ n"
"\ r \ n"
Cada um deles deve ser seguido pelo fluxo de bits FLV bruto.
Isso deve permitir o consumo ao vivo do conteúdo usando, por exemplo.VLC, flowplayer, ...

Além disso, considere usar 'url_open_dyn_buf' / 'url_close_dyn_buf' em vez de 'fwrite', consulte ffserver para referência.

Nadav na Sophin

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top