Pedro Macedo Leite (discussão | contribs)
Pedro Macedo Leite (discussão | contribs)
Sem resumo de edição
 
(3 revisões intermediárias pelo mesmo usuário não estão sendo mostradas)
Linha 3: Linha 3:
A primeira é a produção do vídeo, a segunda é a sua distribuição e a terceira é seu
A primeira é a produção do vídeo, a segunda é a sua distribuição e a terceira é seu
consumo.
consumo.
= Laboratorio =
= Laboratorio =


Para que o vídeo possa ser tocado corretamente no celular este deve estar
Para que o vídeo possa ser tocado corretamente no celular este deve estar codificado em um formato que seja reconhecido pelo celular.  
codificado em um formato que seja reconhecido pelo celular. O padrão mais
 
reconhecido pelos celulares atualmente é o 3GP (3GPP File Format). Trata-se de uma variação do
O padrão mais reconhecido pelos celulares atualmente é o 3GP (3GPP File Format).  
container multimídia mp4, ou seja, um formato de arquivo que pode conter diferentes mídias
 
codificadas através de codificadores padronizados. Definido pelo orgão 3GPP (3rd
Trata-se de uma variação do container multimídia mp4, ou seja, um formato de arquivo que pode conter diferentes mídias codificadas através de codificadores padronizados.  
Generation Partnership Project), este container é uma versão simplificada do MPEG-4
 
Part 14, onde as seqüências de vídeo podem ser codificadas em MPEG-4 ou H.263 e as
Definido pelo orgão 3GPP (3rd Generation Partnership Project), este container é uma versão simplificada do MPEG-4 Part 14, onde as seqüências de vídeo podem ser codificadas em MPEG-4 ou H.263 e as seqüências de áudio podem ser codificadas em AMR-NB (Adaptive Multi-Rate - Narrow Band) ou AAC-LC (Advanced Audio Coding – Low Complexity).
seqüências de áudio podem ser codificadas em AMR-NB (Adaptive Multi-Rate - Narrow Band) ou AAC-LC (Advanced Audio Coding – Low Complexity).
 
Estes codificadores todos estão disponiveis no codigo do ffmpeg, porem devemos habilita-los na compilação, se baixar o ffmpeg.exe da internet vai depender da boa vontade de quem compilou habilitar os codecs, normalmente o codec amr não vem habilitado no ffmpeg.exe (win32)
Estes codificadores todos estão disponiveis no codigo do ffmpeg, porem devemos habilita-los na compilação, se baixar o ffmpeg.exe da internet vai depender da boa vontade de quem compilou habilitar os codecs, normalmente o codec amr não vem habilitado no ffmpeg.exe (win32)
= Desafios =
*O primeiro desafio que o aluno enfrenta é como gerar video nesse formato para o celular utilizando o ffmpeg, o aluno ainda deverá ficar atento a resolucao do video que o celular suporta.
*O primeiro desafio que o aluno enfrenta é como gerar video nesse formato para o celular utilizando o ffmpeg, o aluno ainda deverá ficar atento a resolucao do video que o celular suporta.
*Com os vídeos sendo criados no formato correto, ainda há mais uma etapa na produção de vídeo. Esta etapa adicional consiste em adicionar informações sobre as
 
faixas de vídeo e áudio para que o servidor de streaming de vídeo saiba separar, de maneira otimizada, o conteúdo em pacotes para o streaming de vídeo.
*Com os vídeos sendo criados no formato correto, ainda há mais uma etapa na produção de vídeo. Esta etapa adicional consiste em adicionar informações sobre as faixas de vídeo e áudio para que o servidor de streaming de vídeo saiba separar, de maneira otimizada, o conteúdo em pacotes para o streaming de vídeo.
Estas faixas de informação extra, conhecidas como hint tracks, são uma necessidade específica de alguns servidores de streaming de vídeo, como no caso do Darwin Streaming Server, e são usadas apenas para o caso de streaming via RTP. Sendo assim, outras formas de distribuição, como HTTP, ignoram esta informação. Cada faixa, seja de áudio ou de vídeo, necessita de uma hint track para que possa ser realizado o streaming. Uma hint track especifica, por exemplo, o escala
 
de tempo do RTP e o tamanho máximo de um pacote (MTU), do inglês Maximum Transmission Unit. É importante ressaltar, que as informações contidas em hint
*A rede também é um desafio, e quando falamos de rede incluímos todos os ativos, como gateway (o NAT em questão), os Firewall, o link necessário tanto do lado do servidor quanto do lado do celular, os navegadores, etc.
track podem influenciar diretamente o desempenho de serviço de streaming.  
 
A ferramenta livre capaz de fazer a criação de hint tracks para os vídeos é o GPAC que entre seus
 
aplicativos possui o MP4Box, capaz de produzir tais hint tracks. Para utilizar a ferramenta é preciso baixar o MP4Box.exe ou instalar no caso do fedora yum install gpac no caso do ubuntu apt-get install gpac.
= Explicações =
A distribuição de vídeo via streaming necessita de um servidor de streaming de vídeo. O servidor de streaming de vídeo escolhido é o Darwin Streaming Server (DSS) da empresa Apple Computers. O DSS suporta conteúdo 3GP, possui codigo aberto e uma excelente documentação para desenvolvedores.  
 
Para ter o servidor funcionando existem duas opções: baixar o arquivo binário e
Estas faixas de informação extra, conhecidas como hint tracks, são uma necessidade específica de alguns servidores de streaming de vídeo, como no caso do Darwin Streaming Server, e são usadas apenas para o caso de streaming via RTP.  
instalá-lo diretamente ou baixar o código fonte, compilá-lo e instalá-lo.  
 
O Darwin Streaming Server também disponibiliza uma aplicação web de
Sendo assim, outras formas de distribuição, como HTTP, ignoram esta informação. Cada faixa, seja de áudio ou de vídeo, necessita de uma hint track para que possa ser realizado o streaming.  
gerenciamento. Através desta interface, é possível iniciar e parar o serviço de streaming
 
de vídeo, e alterar as principais configurações. Esta aplicação é acessada através da
Uma hint track especifica, por exemplo, o escala de tempo do RTP e o tamanho máximo de um pacote (MTU), do inglês Maximum Transmission Unit. É importante ressaltar, que as informações contidas em hint track podem influenciar diretamente o desempenho de serviço de streaming.  
porta 1220.
 
Depois de iniciado, o servidor passa a escutar na porta 554, referente ao
A ferramenta livre capaz de fazer a criação de hint tracks para os vídeos é o GPAC que entre seus aplicativos possui o MP4Box, capaz de produzir tais hint tracks. Para utilizar a ferramenta é preciso baixar o MP4Box.exe ou instalar no caso do fedora yum install gpac no caso do ubuntu apt-get install gpac.
protocolo de aplicação RTSP.
 
A distribuição de vídeo via streaming necessita de um servidor de streaming de vídeo. O servidor de streaming de vídeo escolhido é o Darwin Streaming Server (DSS) da empresa Apple Computers.  
 
O DSS suporta conteúdo 3GP, possui codigo aberto e uma excelente documentação para desenvolvedores.  
 
Para ter o servidor funcionando existem duas opções: baixar o arquivo binário e instalá-lo diretamente ou baixar o código fonte, compilá-lo e instalá-lo.  
 
O Darwin Streaming Server também disponibiliza uma aplicação web de gerenciamento. Através desta interface, é possível iniciar e parar o serviço de streaming
de vídeo, e alterar as principais configurações.  
 
Esta aplicação é acessada através da porta 1220.
 
Depois de iniciado, o servidor passa a escutar na porta 554, referente ao protocolo de aplicação RTSP.
 
O aluno ainda pode enfrentar problemas com firewall pois o DSS utiliza portas TCP e UDP para funcionar
O aluno ainda pode enfrentar problemas com firewall pois o DSS utiliza portas TCP e UDP para funcionar
Com as configurações corretas no servidor de streaming e no firewall, o próximo
 
passo, é então testar em celulares.  Desta forma, através do browser do aparelho é possível digitar a URL de um serviço de streaming de vídeo para
Com as configurações corretas no servidor de streaming e no firewall, o próximo passo, é então testar em celulares.  Desta forma, através do browser do aparelho é possível digitar a URL de um serviço de streaming de vídeo para assistí-lo.
assistí-lo.
 
Podem ocorrer ainda problemas com NAT, e banda utilizada tanto pelo servidor quanto pelo celular.
 
Para entender um pouco melhor sobre o NAT, e a banda necessária, consultar documentação.

Edição atual tal como às 22h13min de 23 de fevereiro de 2012

Introducao

Em uma solução completa de streaming podemos destacar três fases principais. A primeira é a produção do vídeo, a segunda é a sua distribuição e a terceira é seu consumo.


Laboratorio

Para que o vídeo possa ser tocado corretamente no celular este deve estar codificado em um formato que seja reconhecido pelo celular.

O padrão mais reconhecido pelos celulares atualmente é o 3GP (3GPP File Format).

Trata-se de uma variação do container multimídia mp4, ou seja, um formato de arquivo que pode conter diferentes mídias codificadas através de codificadores padronizados.

Definido pelo orgão 3GPP (3rd Generation Partnership Project), este container é uma versão simplificada do MPEG-4 Part 14, onde as seqüências de vídeo podem ser codificadas em MPEG-4 ou H.263 e as seqüências de áudio podem ser codificadas em AMR-NB (Adaptive Multi-Rate - Narrow Band) ou AAC-LC (Advanced Audio Coding – Low Complexity).

Estes codificadores todos estão disponiveis no codigo do ffmpeg, porem devemos habilita-los na compilação, se baixar o ffmpeg.exe da internet vai depender da boa vontade de quem compilou habilitar os codecs, normalmente o codec amr não vem habilitado no ffmpeg.exe (win32)


Desafios

  • O primeiro desafio que o aluno enfrenta é como gerar video nesse formato para o celular utilizando o ffmpeg, o aluno ainda deverá ficar atento a resolucao do video que o celular suporta.
  • Com os vídeos sendo criados no formato correto, ainda há mais uma etapa na produção de vídeo. Esta etapa adicional consiste em adicionar informações sobre as faixas de vídeo e áudio para que o servidor de streaming de vídeo saiba separar, de maneira otimizada, o conteúdo em pacotes para o streaming de vídeo.
  • A rede também é um desafio, e quando falamos de rede incluímos todos os ativos, como gateway (o NAT em questão), os Firewall, o link necessário tanto do lado do servidor quanto do lado do celular, os navegadores, etc.


Explicações

Estas faixas de informação extra, conhecidas como hint tracks, são uma necessidade específica de alguns servidores de streaming de vídeo, como no caso do Darwin Streaming Server, e são usadas apenas para o caso de streaming via RTP.

Sendo assim, outras formas de distribuição, como HTTP, ignoram esta informação. Cada faixa, seja de áudio ou de vídeo, necessita de uma hint track para que possa ser realizado o streaming.

Uma hint track especifica, por exemplo, o escala de tempo do RTP e o tamanho máximo de um pacote (MTU), do inglês Maximum Transmission Unit. É importante ressaltar, que as informações contidas em hint track podem influenciar diretamente o desempenho de serviço de streaming.

A ferramenta livre capaz de fazer a criação de hint tracks para os vídeos é o GPAC que entre seus aplicativos possui o MP4Box, capaz de produzir tais hint tracks. Para utilizar a ferramenta é preciso baixar o MP4Box.exe ou instalar no caso do fedora yum install gpac no caso do ubuntu apt-get install gpac.

A distribuição de vídeo via streaming necessita de um servidor de streaming de vídeo. O servidor de streaming de vídeo escolhido é o Darwin Streaming Server (DSS) da empresa Apple Computers.

O DSS suporta conteúdo 3GP, possui codigo aberto e uma excelente documentação para desenvolvedores.

Para ter o servidor funcionando existem duas opções: baixar o arquivo binário e instalá-lo diretamente ou baixar o código fonte, compilá-lo e instalá-lo.

O Darwin Streaming Server também disponibiliza uma aplicação web de gerenciamento. Através desta interface, é possível iniciar e parar o serviço de streaming de vídeo, e alterar as principais configurações.

Esta aplicação é acessada através da porta 1220.

Depois de iniciado, o servidor passa a escutar na porta 554, referente ao protocolo de aplicação RTSP.

O aluno ainda pode enfrentar problemas com firewall pois o DSS utiliza portas TCP e UDP para funcionar

Com as configurações corretas no servidor de streaming e no firewall, o próximo passo, é então testar em celulares. Desta forma, através do browser do aparelho é possível digitar a URL de um serviço de streaming de vídeo para assistí-lo.

Podem ocorrer ainda problemas com NAT, e banda utilizada tanto pelo servidor quanto pelo celular.

Para entender um pouco melhor sobre o NAT, e a banda necessária, consultar documentação.