Como Live Stream com HTML5, sem Flash?

O problema : eu preciso de meus clientes para poder transmitir sua webcam para o meu servidor de transmissão (por exemplo, o servidor Wowza). Estou construindo meu site em PHP. Eu passei por vários sites de transmissão como twitch.tv, livestream.com e descobri que todos eles usavam software de transmissão de terceiros, como Wirecast, XSplit, OBS, etc, para transmitir os feeds de Webcam para o servidor. Então eu encontrei sites como vLine , Opentokrtc que usa o WebRTC para conversas de vídeo.

Minha pergunta : então, minha pergunta é que é possível enviar o stream para os servidores de transmissão como Wowza (para que eles possam transmitir a transmissão ao vivo) sem usar softwares de transmissão com apenas WebRTC? Se sim, então, como? Se, não, então, quais são as outras alternativas?

PS. Eu não quero usar o Flash, o ActionScript aqui.

Você basicamente precisará de um servidor que tenha um cliente pseudo WebRTC integrado nela. O WebRTC pode obter o stream, mas não pode começar a transmitir até que uma PeerConnection seja configurada. Você pode tentar usar vários servidores / gateways como Janus , Kurento , Licode , FreeSwitch , etc.

Também o MediaStream gerado pelo WebRTC pode ser diretamente anexado a uma tag HTML5.

O uso de WebRTC para esse caso de uso incorre em um alto custo de computação no lado do servidor e é uma técnica bastante nova, o que significa que você deveria usá-lo se você souber o que está fazendo.

Minha sugestão seria manter o Flash ou o MPEG-DASH em vez disso – a menos que o que você precisa deve ter uma latência muito baixa e você está bem em pagar por ele menor escala de solução.

A menos que eu entendi mal, acho que você está procurando transmitir vídeo para o seu servidor (para distribuir usando mecanismos normais de transmissão ao vivo), não usando o WebRTC para transmitir vídeos do servidor.

Se assim for, o WebRTC funcionará, embora você precise de uma implementação do lado do servidor de um conjunto bastante completo do protocolo WebRTC, incluindo a decodificação de vídeo. Estes existem, mas não em PHP, é claro, é claro. Isso trataria de receber áudio e vídeo em tempo real de um cliente, sem precisar de um plugin no cliente, incluindo adaptação de banda larga e correção de erros.

Uma vez que os dados são decodificados no servidor, você tem um stream de dados de vídeo + áudio que você pode alimentar seus codificadores de transmissão ao vivo para transmitir.

Wowza suporta o que você precisa para se tornar o outro parceiro no seu cenário WebRTC. A partir daí, você pode redistribuir o stream da forma como os servidores de mídia geralmente fazem.

Esse recurso ainda está no modo “Pré-visualização” e tem algumas limitações, mas funciona para a maioria dos casos. Você pode solicitar access a este através de https://www.wowza.com/products/capabilities/webrtc-streaming-software