Evaluating bids

Customizar Flash Player do Video.js

Published on the January 17, 2017 in IT & Programming

About this project

Open

Nós fornecemos soluções para empresas de ônibus monitorarem seus veículos. Para tal, desenvolvemos um sistema que permite cada analista assistir os vídeos gravados em nossos equipamentos embarcados. Assim, toda vez que um analista encontra algo errado, ele pode gerar uma ocorrência e registrar aquele evento.


Nós usamos um DVR (construído por terceiros) para gravar tudo o que acontece no interior dos ônibus (e as vezes fora também). Esse dvr grava todos os vídeos em um avi malformado, ou seja, que executa apenas no player do fornecedor. Cada dia gravado contém, em média, 96 pacotes com 1h cada (24h/dia * 4 câmeras por veículo), embora esse número possa crescer/diminuir dependendo da quantidade de câmeras em cada ônibus.


O problema é que esse player não atende nossos requisitos e, como o suporte do fornecedor não nos atende, decidimos desenvolver o nosso próprio.

Iniciamos o desenvolvimento de um player chamado "multiplayer", já que ele precisa reproduzir de 1 a 8 vídeos simultaneamente (dependendo de quantas câmeras o veículo possui em seu interior). Para tal, usamos de 1 a 8 instâncias do video.js para reproduzir todos os vídeos simultaneamente em um mosaico. Até agora, nós desenvolvemos as seguintes funcionalidades:

1) Play / Pause;
2) Stop;
3) Frame a frame;
4) Playlist;
5) Velocidade de reprodução (1x a 16x, dependendo do navegador utilizado);
6) Snapshot (será implementada em breve);
7) Geração de ocorrência;
8) Busca (o usuário pode inserir um tempo específico e buscar por ele dentro do vídeo);
9) Habilitar / desabilitar a visualização de câmeras;
10) Baixar o vídeo;
11) Tela cheia.


Todas essas funcionalidades foram implementadas utilizando a API do Video.js (na maioria das vezes apenas repassamos um clique na nossa barra de controle para as barras de controles dos players no mosaico - que estão ocultas). Por conta disso, nós precisamos customizar o player Flash do Video.js para mantermos o código já escrito, uma vez que as funções da API são as mesmas, não importa qual player está sendo utilizado, HTML5 ou Flash. Em outras palavras:

Ambos os players devem executar todas as funcionalidades da mesma forma (exatamente o que acontece na implementação padrão do Video.js).
Assim, o trabalho consiste em refatorar o player flash do Video.js para decodificar nosso arquivo AVI enquanto mantém todas as funções nativas funcionando. Além disso, também é necessário extrair alguns metadados de GPS embutidos em cada frame para que possamos plotar em um mapa a posição do veículo no momento da gravação.

Category IT & Programming
Subcategory Web development
What is the scope of the project? Medium-sized change
Is this a project or a position? Project
I currently have I have specifications
Required availability As needed
Experience in this type of projects Yes (I have managed this kind of project before)
API Integrations Other (Other APIs)
Roles needed Developer

Delivery term: Not specified

Skills needed