mvideoconverter - Conversor online de vídeo para formato Web.
Live Demo: https://young-spire-26394.herokuapp.com/
A aplicação nesse repositório é um conversor online de vídeos. Ela recebe vídeos em qualquer formato e converte para o formato MP4, compatível com a Web.
Os arquivos são armazenados na Amazon S3 e convertidos pela ferramenta Zencoder.
A aplicação Demo está rodando no Heroku.
Por limitações da versão free da ferramenta Zencoder, os vídeos convertidos têm, no máximo, 5 segundos.
A aplicação está dividida em um WebApp AngularJS e uma API em Java Spring, além dos Amazon S3 e Zencoder.
A conversão e exibição do vídeo se dá nos seguintes passos:
- Usuário seleciona arquivo
- Angular App requisita uma URL Pre-Signed para a API
- API requisita a URL Pre-Signed para o Amazon S3
- Angular App sobe o arquivo para o Amazon S3
- Angular App notifica a API sobre o upload
- API cria um Job no Zencoder e retorna para o App
- Zencoder armazena o vídeo convertido no Amazon S3
- Angular App requisita o status do vídeo até que esteja convertido
- O vídeo está convertido
- Angular App exibe o vídeo
Algumas sugestão de melhorias são:
- Funcionalidades
- Possibilitar escolher formato da conversão
- Possibilitar converter arquivo a partir de uma URL
- Armazenar uma referência para os vídeos convertidos, de forma que eles possam ser apenas exibidos em um segundo acesso
Acesse o Projeto para acompanhar.
- Heroku
- Zencoder
- Amazon S3
- https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/getting-started.html
- https://docs.aws.amazon.com/AmazonS3/latest/dev/ShareObjectPreSignedURLJavaSDK.html
- https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html
- https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/credentials.html
- https://havecamerawilltravel.com/photographer/how-allow-public-access-amazon-bucket/
- AngularJS + S3