Este projeto tem como objetivo reproduzir as tecnologias utilizadas pela Netflix no filme interativo Black Mirror: Bandersnatch, com o intuito de criar uma experiência de vídeo interativo similar.
Para alcançar esse objetivo, foram desenvolvidas as seguintes etapas:
- Pré-processamento de Vídeos: Foi desenvolvido um script para automatizar o pré-processamento dos arquivos de vídeo, incluindo renderização em múltiplas resoluções e análise de metadados e codecs utilizando as ferramentas FFmpeg e FFprobe.
- Player de Vídeo Personalizado: Utilizando a biblioteca video.js, criamos um player de vídeo moderno e personalizado, inspirado no layout da Netflix.
- Carregamento Sob Demanda: Implementamos a lógica para carregar pedaços de vídeo sob demanda, de acordo com as escolhas do usuário.
- Experiência de Vídeo Interativo: Desenvolvemos a lógica necessária para criar uma experiência de vídeo interativo similar à da Netflix, permitindo que o usuário tome decisões que influenciam a trama.
Siga as etapas abaixo para configurar o ambiente de desenvolvimento:
- Faça o clone deste repositório e acesse o diretório do projeto.
- Certifique-se de ter o Node.js e o NPM instalados em seu sistema.
- Execute o comando
npm install
para instalar as dependências do projeto. - Faça o download dos binários do FFmpeg e FFprobe e coloque-os no diretório
bin
. - Execute o script
script.sh
para realizar o pré-processamento dos arquivos de vídeo. - Por fim, inicie a aplicação com os comandos
npm run dev
enpm run assets
.
- Workshop, skeleton do projeto e vídeos utilizados de Erick Wendel