Skip to content

luispimenta/you-reddit-automated-video-generator

 
 

Repository files navigation

Best of Reddit Video Generator

Este é um projeto feito em JavaScript que, quando fornecido um SubReddit e um timeframe especifico, gera um video com os melhores clipes obtidos e faz o seu upload para o Youtube. Exemplos de videos gerados com este projeto podem ser vistos neste canal.

Como funciona

  1. O programa vai pedir para introduzir o SubReddit do qual ele vai buscar os top posts

  1. O programa vai pedir para introduzir o timeframe dos posts (ou seja, se vai buscar os top posts da ultima hora, do ultimo dia, semana, etc.)
  2. O programa vai fazer o download do conteúdo de video dos top posts do SubReddit escolhido no timeframe especificado, desde que estes cumpram determinados requisitos (os videos não podem conter nudez ou imagens gráficas, verificado através da flair NSFW; os posts devem ser videos, os videos não podem durar mais que 1 minuto, etc.). Estes requisitos podem ser mudados no ficheiro .env

  1. Após ser feito o download dos videos destes posts, o programa vai individualmente juntar as componentes de video ás de audio, verificar a resolução dos videos (aplicando barras laterais caso estes não sejam 16:9) e adiciona o titulo dos posts originais ao video, no canto inferior esquerdo.

  1. O programa então cria uma lista com todos os clipes finais editados, clipes esses que são posteriormente combinados e juntos num único video final.

  1. O programa vai pedir ao utilizador para fazer a autenticação na sua conta do youtube de modo a fazer upload do video final no canal selecionado. Vai pedir ao utilizador também para inserir o titulo do video, vai criar uma descrição com detalhes sobre os posts originários do video (com os seus autores, titulos e links para os próprios posts), vai aplicar certas tags ao video e finalmente fazer o seu upload no youtube, sendo este video posteriormente adicionado a uma playlist correspondente ao SubReddit utilizado (criando uma playlist caso esta ainda não exista)
  2. Por fim, é dada a escolha ao utilizador de apagar todos os ficheiros e clipes "intermédios", ficando apenas o video final.

FrameWorks e bibliotecas principais usadas

  • FFMPEG - framework usada na edição dos videos utilizados fazendo neste projeto:
    • O merge de ficheiros .mp3 com ficheiros .mp4 (juntando assim as componentes de aúdio de um clip à de video)
    • A verificação da resolução dos ficheiros de video e sua mudança através do uso de blurred sidebars
    • A adição de texto personalizado aos videos gerados
    • O merge de diversos clipes de video diferentes de modo a criar um video final.
  • Googleapis - biblioteca usada na comunicação entre o programa com a API do Youtube de modo a:
    • Fazer upload de um video para o youtube
    • Gestão de playlists de videos do youtube

Requisitos para rodar o programa

  • Instalação do FFMPEG (PS: Pode ser necessária a adição da pasta do FFMPEG ás variáveis de ambiente do computador, que para o caso deixo aqui um tutorial)
  • É necessário um ficheiro JSON com as credenciais oAuth para o upload dos videos. Este pode ser obtido no Google Cloud através dos passos mencionados neste repositório

Inspiração

Este projeto foi inspirado nos canais GloomShot e no projeto video-maker de Filipe Deschamps.

About

Projeto Pessoal que cria um video com base nos posts de um subreddit

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 96.3%
  • Shell 3.7%