Quero transmitir vídeo ao vivo para um navegador com baixa latência.
Tanto quanto eu entendi, existem dois clientes:
- Tag de vídeo em HTML5
- Flash player de vídeo
Existem várias maneiras de enviar o fluxo:
- TCP / IP usando HTTP, usando downloads progressivos (e solicitação de intervalo html5)
- UDP (que usa Flash)
E há várias soluções para transmitir o fluxo:
- Usando o HTTP Live Stream da Apple (que fornece uma lista de reprodução m3u de pequenos segmentos de arquivo)
- ...?
e há a questão de publicar e distribuir o fluxo pela Internet.
O que eu preciso é
- sincronizar conteúdo de vídeo com javascript
- baixa latência acumula o país / o mundo para muitos espectadores
- servidor de mídia: aplicativo de desktop (personalizado) (ou solução de navegador) para carregar o fluxo da webcam
outras soluções de software existentes para servir a mídia?
- O HTTP Live Stream causará uma alta latência, porque o fluxo precisa ser segmentado e carregado em arquivos pequenos? (Descartando soluções html5?)
- O que o Flash Player precisa para inserir dados (endereço da web, arquivo no servidor?)
- O que o Flash Player precisa para um servidor? (também, distribuí-lo para muitos espectadores?)
- Como envio um fluxo de vídeo para flash? (ou seja, soluções de software existentes / é possível criar um aplicativo personalizado que carrega o fluxo da webcam?)
Muito obrigado por responder a essa pergunta elaborada !!
Respostas:
1 para resposta № 13 anos depois, em 2014, o WebRTC está ganhando maise mais adoção e popularidade. Embora seja limitado apenas a navegadores modernos, seus benefícios em qualidade e desempenho superam em muito as soluções Flash desatualizadas ou limitadas apenas em HTML5.
O Google Hangouts usa a tecnologia WebRTC e existem serviços de terceiros que fornecem as bibliotecas e servidores necessários para transmitir, transmitir e conectar vídeo.
0 para resposta № 2
Se você precisar considerar problemas de desempenho emNo cenário do seu aplicativo, como você já mencionou, será necessário usar um fluxo real. Portanto, você deve configurar um servidor de streaming e um cliente consumidor de fluxo. Uma das opções amplamente disponíveis é usar o servidor de streaming de código aberto red5 [http://www.red5.org/] para seus serviços de streaming. Por outro lado, você pode usar o flex sdk [http://flex.org/] para seu cliente baseado na web. A maneira usual é usar o Flash Builder totalmente integrado ao eclipse para criar seus projetos baseados em flash / flex sozinho com o plug-in red5.
Um bom tutorial inicial pode ser encontrado aqui:
Adobe Flex: Gravando um fluxo de vídeo com Red5 [http://simplyolaf.blogspot.de/2009/07/adobe-flex-recording-video-stream-with.html]
Tutoriais: Introdução ao servidor Red5 [ http://www.red5tutorials.net/index.php/Tutorials:Getting_Started_With_Red5_Server ]
Depois de concluir a etapa, você pode tentar alterar as propriedades do streaming de acordo com suas necessidades (tamanho do buffer, atraso, etc.).