Archive for July 2010
Jul/10
19
Experiências com videochamadas
No comments · Posted by capelo in Produtos, Projetos, Surdos, Tecnologia
A maioria das soluções da Voice Technology é proprietária, mas para esta solução de vídeo, achamos melhor ver o que já tinha implementado no Asterisk.
Iniciamos os estudos sem conhecimento do asterisk, assim como videochamadas. Tinhamos um script que instalava o asterisk 1.4 utilizando o projeto opensource fontventa, este era nosso ponto de partida para obter conhecimento sobre estas tecnologias.
Decidimos iniciar instalando o sistema operacional CentOS com o asterisk1.4 utilizando o script, botamos a mão na massa. Depois de vários problemas com o script, muitas dependências de dependências, finalmente conseguimos.
O video estava funcionando, mas só aprendemos como instalar com o script. O próximo passo era arrumar o script e partir para a tentativa de conseguir funcionar a reprodução de video, mas agora com a versão 1.6, mais recente do asterisk.
Mais uma vez depois de muitos problemas com dependências teriamos que compilar os códigos fonte do fontventa que aparentava abandonado, no site apenas os códigos fonte para download e nenhuma documentação ou tutorial nem como compilar. Algumas tentativas e pesquisas depois conseguimos descobrir como fazer, testamos e aparentemente estava funcionando tão bem quando no asterisk1.4, com essas e outras tentativas com e sem sucesso fomos aprendendo pouco a pouco como o asterisk funcionava e como trabalhar com ele, alguns problemas adicionais vieram quando tentamos aprender como converter videos para o formato necessário para que o fosse reproduzido no asterisk.
Depois dos testes feitos com o código do fontventa (app_mp4.c) que faz o trabalho de reproduzir e gravar arquivos de video .mp4 pré-gravados, decidimos dar o próximo passo tentando reproduzir videos de um servidor de streaming.
Enquanto seguimos entendendo em como compilar estes arquivos, fomos trabalhando para entender o funcionamento de streaming pesquisando quais servidores existentes e como instalar o Darwin Streaming Server.
Com o servidor de streaming instalado e funcionando, conseguimos fazer play, tivemos o problema de não conseguir executar arquivos de video que continham o formato h263-2000, apenas o codec h263-1998 toca normalmente. Outro problema era uma falha de segmentação que derrubava o asterisk, este erro foi corrigido depois de remover parte do código rtcp report do código fonte app_rtsp.c.
Criamos um novo script para instalação dos novos códigos e dependências, também foi disponibilizado no Pandora (wikipedia da Voice Technology) um tutorial de utilização do script.
Primeiro demo
Fizemos o primeiro demo, onde era possível por um menu, selecionar uma das opções e reproduzir um video.
Até esta etapa era possível basicamente tocar e gravar videos, foi onde um requisito importante iniciou a ser desenvolvido. A exibição de video dinâmico, assim seria possivel exibir informações ao usuário como o seu saldo bancário buscando informações num banco de dados e exibir.
Segunda demo
Depois do requisito de video criado dinamicamente foi desenvolvido uma api que gera o vídeo para ser tocado, desenvolvemos a segunda demo onde o objetivo era um IVVR (video ura) um pouco mais complexa com um menu inicial com opções de tocar um video institucional, outra opção para consultar a previsão do tempo de ao menos três estados, alem da possibilidade de transferir a chamada para um atendente.
Este demo foi disponibilizado para ser testado com instruções no site da Voice Technology.
Outros estudos
- Feitos testes de transferência de video chamadas que funcionaram sem problemas;
- O Linphone foi o softphone que se comportou melhor, foram feitos testes com X-lite e Bria.
- Transferência de video chamadas que funcionaram sem problemas
- Foram feitos alguns testes de utilização de banda onde uma video chamada o utilizando o codec h263 utiliza em média 200Kb
- Testamos o appconference2 para videoconferência depois de aplicar um patch que corrige para o uso do asterisk1.6, a conferencia funciona bem, porem não é possível dividir a tela exibindo todos participantes, é necessário alternar para visualizar individualmente.
- Iniciamos uma pesquisa sobre solução de callcenter para asterisk com video, depois de passar por asterCRM e Vicidial nos debatemos com problemas de que essas soluções não funcionam completamente na versão 1.6 do asterisk.
- Foram feitos testes com o hardphone Grandstream e os vídeos funcionaram bem.
O que ainda podemos fazer
- Testes para o melhoramento de vídeochamadas, melhorar qualidade do video…diferentes codecs
- Testar play em arquivos gravados com o codec h264
- Fazer testes externos de videochamada utilizando o codec MP4V-ES
- Tutorial de como compilar os códigos do fontventa para o asterisk1.6
- Criar outra demo de solução de atendimento por vídeo (portaria Voice)
- Continuar busca por soluções de callcenter para asterisk1.6
