Skip to content

Esse é um projeto que gera vídeos para o YouTube, ele te pede um tema e outras configurações como o idioma. O resto ele faz sozinho, desde roteiro, imagens, voz, trilha sonora e até publica o vídeo no YouTube por você!

Notifications You must be signed in to change notification settings

marcuth/video-maker-v2

Repository files navigation

Video Maker V2 - "Evolução"

Robot image


Projeto original

O projeto original foi feito pelo YouTuber Filipe Deschamps em sua série de vídeos 4 robôs que criam vídeos no YouTube onde ele ensina passo a passo do zero de como criar os robôs.

Video thumbnail


Este projeto

Este projeto foi baseado em uma versão anterior que eu fiz (aqui) assistindo a série do Filipe Deschamps porém com algumas alterações por conta que eu quis escrever um código mais moderno e não conseguia ter acesso à certas ferramentas como o Watson, Algorithmia, Adobe After Effects seja por indisponibilidade, requirimento de cartão de crédito ou por eu ter que pagar um software em si.

My YouTube channel


Novas funcionalidades

  • Empacotamento: Agora toda vez que terminar de criar um vídeo a pasta com os arquivos será compactada e liberará espaço para um novo vídeo ser criado.
  • Configuração: Agora você pode configurar o bot para gerar conteúdos em outros idiomas e demais especificações.
  • Voz sinterizada: Como o pessoal já havia proposto em algum momento do desenvolvimento do projeto eu decidi implementar isso também.
  • Google Trends: Essa também o pessoal já havia proposto a implementação, aí eu também implementei aqui.
  • ChatGPT: Agora isso foi inédito! Eu pensei assim "Cara... isso seria beeemm MASSA! Preciso implementar!!!". Ele funcionará como um segundo provedor de conteúdos.

Novo Robô!

Agora por conta da voz sintética foi necessário criar um robô específico para manipular os áudios do vídeo, a música e a voz. também adicionei mais músicas para ficar mais interessante e a escolha delas é feita de forma aleatória.


Segurança

Por motivos de sergurança optei por usar um aquivo .env para armazenar as chaves de API e outros quaisquer dados sensíveis ou de configuração.


Extras

  • makeLogger() Fiz uma função que cria um logger para e usa o nome dele ao invés de toda vez ter que usar o console.log("> [my-robot] Starting...") usar o logger.log("Starting...").
  • getContentFromWikipedia() Busca conteúdos do Wikipédia pelo nome da página.
  • extractKeywords() Extrai palavras-chave de um texto usando uma API gratuita.

Consulte a pasta de utils para conferir as outras funcionalidades.


Esclarecimentos

  • Eu não sou o cara que liga muito da forma que eu faço os commits (tenho preguiça de organizar isso).

Ideias

  • Adicionar IA que gera imagens como o Stable Diffuson servir como um sergundo provedor de imagens.
  • Adicionar um provedor de geração de áudios com uma voz mais realista.
  • Reescrever esse código JavaScript em código TypeScript.
  • Adicionar uma API de traduções para ser usada em caso se não encontrar uma página da Wikipédia na língua desejada, pegando o conteúdo de uma página em outro idioma e traduzindo para o idioma desejado.

Objetivos

  • Por quê? Cara, implementar isso é muito massa.
  • Para quê? Gosto de testar novas tecnologias e ver os avanços na nossa área.

Exemplos

Canal no YouTube com exemplos de vídeos gerados: https://www.youtube.com/


Como rodar esse projeto?


Clonar projeto

Navegue até a pasta que você deseja que o projeto fique e rode o seguinte comando:

git clone https://github.com/1Marcuth/video-maker-v2.git .

Instalando bibliotecas

Molezinha! Só rodar esse comando

npm i

Configurar variáveis de ambiente

Na raiz do projeto crie um arquivo .env com o seguinte conteúdo, claro não esquecendo de substituir cada campo pelo seu respectivo valor (não darei detalhes aqui de como conseguir cada um deles, dê uma pesquisada se tiver dúvida).

OPENAI_KEY = "YOUR_API_KEY_HERE"
RAPIDAPI_KEY = "YOUR_API_KEY_HERE"
GOOGLE_SEARCH_KEY = "YOUR_API_KEY_HERE"
GOOGLE_SEARCH_ENGINE_ID = "YOUR_ENGINE_ID_HERE"
AWS_SECRET_ACCESS_KEY = "YOUR_API_KEY_HERE"
AWS_ACCESS_KEY_ID = "YOUR_AWS_KEY_ID_HERE"
AWS_REGION = "YOUR_AWS_REGION_HERE"
RUNNING_IN = "local"

Não se esqueça de criar uma pasta na raiz do projeto com o nome de credentials para armazenar as credenciais da sua aplicação do YouTube. Use o nome de google-youtube.json pra esse arquivo.


Como criar vídeos?

Fácil. Comece executando este comando para começar:

npm start

About

Esse é um projeto que gera vídeos para o YouTube, ele te pede um tema e outras configurações como o idioma. O resto ele faz sozinho, desde roteiro, imagens, voz, trilha sonora e até publica o vídeo no YouTube por você!

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published