Como os players de mídia de streaming, executados em páginas HTML e servidos por servidores HTML, estabelecem conexões de streaming (RTSP, etc.) com servidores de mídia de streaming (atendendo solicitações de RTSP)?
Aplicações comuns
RTSPAtualmente, o parece ser usado mais com interfaces de aplicativos / dispositivos que transmitem diretamente ao vivo (por exemplo, câmera IP) ou retransmitem (como um mecanismo) do que para transmitir arquivos de mídia salvos de um local físico por meio de uma interface de reprodução na Web HTTP com uma interface de reprodução HTTP. player incorporado.
Parece que o RTSP é um protocolo estável e usa UDP mais do que TCP ao transmitir, e é usado mais como um dispositivo de servidor (como uma câmera IP) conectado a uma rede TCP / IP e que transmite fluxos via UDP, etc. Em seguida, você se conecta a esses feeds (o servidor) como o cliente na mesma rede e pode emitir solicitações RTSP para utilizar de acordo.
Embora parecido com o HTTP, o RTSP define sequências de controle úteis para controlar a reprodução de multimídia. Enquanto o HTTP é
sem estado , o RTSP tem estado; um identificador é usado quando necessário para rastrear sessões simultâneas. Como o HTTP, o RTSP usa o TCP para manter uma conexão ponta a ponta e, enquanto a maioria das mensagens de controle do RTSP é enviada pelo cliente ao servidor, alguns comandos trafegam na outra direção (ou seja, do servidor para o cliente).
Aqui são apresentados os pedidos básicos de RTSP. Algumas solicitações HTTP típicas, como a solicitação OPTIONS, também estão disponíveis. O número da porta da camada de transporte padrão é 554 [3] para TCP e UDP, sendo este último raramente usado para solicitações de controle.
fonte
Um protocolo sem estado não exige que o servidor mantenha informações ou status da sessão sobre cada parceiro de comunicação pela duração de várias solicitações. Por outro lado, um protocolo que requer a manutenção do estado interno no servidor é conhecido como
protocolo com estado .
Uma desvantagem da apatridia é que pode ser necessário incluir informações adicionais em cada solicitação, e essas informações extras precisarão ser interpretadas pelo servidor.
fonte
Fluxo Lógico
A maneira como entendo o fluxo de mídia de streaming neste formulário é:
- o servidor em que o conteúdo da mídia reside encapsulará, compactará, codificará etc. o conteúdo dos dados de vídeo / áudio nos formatos e segmentos adequados para a entrega do fluxo
- o servidor da Web que escuta conexões para acessar a mídia de streaming fornecerá todos os recursos necessários para transmitir a mídia
- o cliente solicita e baixa recursos e arquivos aplicáveis e os monta de maneira contínua para reprodução através do ponteiro da URL, conforme configurado e outros parâmetros. O software de reprodução no nível do cliente reúne os pacotes transmitidos em sequência para permitir a reprodução adequada do conteúdo.
Consulte a seção Tecnologias de streaming abaixo para obter uma comparação geral de HTTP versus RTSP.
além disso
Nas 10 razões abaixo, você nunca deve hospedar seus próprios vídeos , citei as partes que chegam ao ponto de ajudar a responder sua pergunta em "geral" sem ser muito específico.
Essencialmente, ele diz que o site que possui o media player incorporado controla:
- (1) detectar as configurações do navegador da Web do cliente mediante "conexão e solicitação" do cliente e
- (2) isso definirá o codec e quaisquer outras configurações de detecção do lado do cliente com os valores de parâmetros aplicáveis e, em seguida,
- (3) transmitirá o vídeo diretamente do servidor de streaming em que você hospeda os arquivos de vídeo e áudio, com base em códigos adicionais nas configurações incorporadas do media player, apontando para o URL do arquivo de mídia no servidor hospedado.
O navegador do cliente deve receber os dados do servidor e passá-los para o aplicativo de streaming para processamento. O aplicativo de streaming converte os dados em imagens e sons. Um fator importante no sucesso desse processo é a capacidade do cliente de receber dados mais rapidamente que o aplicativo pode exibir as informações. Os dados em excesso são armazenados em um buffer - uma área de memória reservada para armazenamento de dados no aplicativo. Se os dados atrasarem a transferência entre os dois sistemas, o buffer será vazio e a apresentação do material não será suave.
Protocolo HTTP
O HTTP é a maneira predominante na qual os documentos são vinculados na Internet. O cliente faz uma conexão com o servidor que contém o arquivo a ser transmitido, o arquivo é recuperado e a conexão fechada. O servidor HTTP comunica ao navegador o tipo de arquivo a ser transferido.
Benefícios usando HTTP
Ao transmitir um arquivo usando HTTP, um servidor de streaming especial não é necessário. Enquanto o seu navegador entender os tipos MIME, ele poderá receber um arquivo de streaming de um servidor HTTP. Uma das vantagens distintas do streaming de arquivos usando HTTP é que ele pode passar por firewalls e utilizar servidores proxy.
Algumas desvantagens
O fluxo HTTP usa TCP / IP (Transmission Control Protocol e Internet Protocol) para garantir a entrega confiável dos arquivos. Esse processo verifica se há pacotes ausentes e solicita que eles sejam retransmitidos. Isso se torna problemático no cenário de streaming quando você deseja que os dados sejam desconsiderados se forem perdidos na entrega, para que os arquivos dinâmicos continuem sendo reproduzidos. O HTTP não pode detectar a velocidade do modem; portanto, os administradores do servidor devem produzir arquivos com diferentes taxas de compactação para usuários do servidor com diferentes tipos de conexões. O streaming de arquivos de servidores HTTP não é recomendado para situações de alta demanda.
Protocolo RTSP
RTSP é o protocolo padrão usado pela maioria dos fornecedores de servidores de streaming. Os servidores RTSP usam o UDP (User Datagram Protocol) para transferir arquivos de mídia. O UDP não verifica continuamente se os arquivos chegaram ao seu destino. Essa é uma vantagem para aplicativos de streaming, pois permite que as transferências de arquivos sejam interrompidas desde que o atraso não seja muito longo. O resultado desse método é que às vezes há perda de dados, mas os arquivos continuam sendo reproduzidos se o atraso for pequeno.
fonte
Estamos falando de incorporação vs. vídeo auto-hospedado
Primeiro, você carrega seu arquivo de vídeo em um serviço de hospedagem de vídeo de terceiros, como YouTube, Vimeo ou Wistia.
Em seguida, copie um pequeno pedaço de código que eles fornecem e cole-o em sua postagem ou página em seu próprio site WordPress. O vídeo aparecerá no seu site, no local em que você colou o código de incorporação, mas o próprio vídeo está sendo transmitido dos servidores do host de vídeo, em oposição ao seu próprio servidor da web, onde o site do WordPress está hospedado.
4. Nenhum padrão de formato de arquivo único para vídeo na Web
A especificação atual de rascunho em HTML5 não especifica quais formatos de vídeo os navegadores devem suportar. Como resultado, os principais navegadores da web divergiram, cada um suportando um formato diferente. O Internet Explorer e o Safari reproduzirão vídeos H.264 (MP4), mas não o WebM ou Ogg. O Firefox reproduz vídeos Ogg ou WebM, mas não o H.264. Felizmente, o Chrome reproduzirá todos os principais formatos de vídeo, mas se você quiser garantir que o vídeo seja reproduzido em todos os principais navegadores da Web, será necessário converter o vídeo em vários formatos: .mp4, .ogv e .webm
5. Espero que você goste de converter vídeos. Muito.
É provável que a maioria do seu público assista a seus vídeos em seus computadores ou laptops com o benefício de uma conexão à Internet de alta velocidade. Para essas pessoas, você desejará entregar um arquivo grande com qualidade HD para que eles possam assisti-lo em tela cheia, se assim o desejarem. Geralmente, isso significa um arquivo de 1080p ou 720p com uma alta taxa de bits de streaming (5000 - 8000 kbps).
Mas você também desejará codificar uma versão menor e de menor resolução para entrega em dispositivos móveis, como telefones e tablets, e também para os espectadores com conexões mais lentas com a Internet.
6. Leitores de vídeo
Um reprodutor de vídeo é um pequeno software da web que você instala no seu site que detecta automaticamente qual dispositivo está solicitando o vídeo, juntamente com a velocidade da conexão, e entrega a versão apropriada para essa pessoa.
7. Código complicado [ou códigos de acesso]
Se você usa um plug-in de terceiros ou os recursos de vídeo integrados do WordPress, precisará criar um pouco de código para informar ao player de vídeo quais formatos você criou, bem como a localização deles no servidor. Parece algo assim…
<video poster="movie.jpg" controls>
<source src="movie.webm" type='video/webm; codecs="vp8.0, vorbis"'/>
<source src="movie.ogg" type='video/ogg; codecs="theora, vorbis"'/>
<source src="movie.mp4" type='video/mp4; codecs="avc1.4D401E, mp4a.40.2"'/>
<p>This is fallback content</p>
</video>
Então, qual é a melhor solução para adicionar vídeo ao seu site?
Basta usar um serviço de hospedagem de vídeo de terceiros e incorporar seu vídeo à sua postagem ou página do WordPress.
Etapa 1: faça o upload do seu vídeo para um dos serviços populares e bem estabelecidos de hospedagem de vídeos, como o Vimeo PRO.
Etapa 2: depois que o vídeo tiver sido enviado e estiver pronto para visualização, copie o URL no seu vídeo. Volte ao seu site WordPress e cole o URL na sua postagem ou página onde deseja que o vídeo apareça.
Quando as pessoas visualizarem sua página, o vídeo aparecerá no local em que você colou o URL. Mas o próprio arquivo de vídeo será transmitido dos servidores do host de vídeo, em oposição ao seu próprio servidor, onde o site do WordPress está hospedado.
O reprodutor de vídeo incorporado detectará automaticamente a velocidade do dispositivo, navegador e conexão com a Internet do usuário e servirá a versão apropriada do arquivo de vídeo. Nada para instalar no seu site. Não há plugins para manter-se atualizado. Nenhum código complicado.
fonte