antonino3g / video-maker

🤖 [PT-BR]Projeto open source para criação de vídeos automatizados com a utilização da API de inteligência artificial Watson (IBM), API Machining Learn da Algorithmia, API Google Imagens e Search. Feito em Node.js.
MIT License
14 stars 7 forks source link
algorithmia express ffmpeg javascript node nodejs videoshow watson-natural-language

GitHub top language GitHub language count Repository size Made by Antonino Praxedes

:film_projector: A minha versão do projeto, ao invés de usar o software proprietário da Adobe (After Effects) do projeto original, ajustei para uso de renderização e efeitos com 02 softwares livres para aplicação de efeitos e conversão do vídeo: Videoshow e FFmpeg respectivamente. Rodando em qualquer sistema operacional, inclusive no linux, onde o software da Adobe não é compatível oficialmente nessa plataforma.

Sobre o projeto :bulb:

Trata-se de uma POC (Prova de conceito) do projeto de código-aberto do Filipe Deschamps, onde basicamente o usuário informa algum tema de pesquisa para o vídeo, depois escolhe o filtro de entrada: "Who is", "What is" ou "The history of". Onde a API de busca no Wikipedia da Algorithmia, utilizará da Machine Learning para efetuar o resumo com base no filtro escolhido anteriormente pelo usuário.

Com o resumo salvo, a próxima etapa será extrair do conteúdo, os metadados e as "keywords" com o uso da API de Natural Language Understanding da Inteligência Artificial Watson da IBM.

Após as "keywords" coletadas, serão utilizadas como base na busca das imagens, utilizando a API do Google Search/Image. Pois a ideia é lançar a imagem referenciando a legenda sobre o tema durante o vídeo.

Com as imagens organizadas, será aplicado um template prefixados no vídeo, convertendo as imagens extraídas, o resumo recolhido na primeira fase, renderizando o vídeo ao formato ".mp4".

Com o vídeo renderizado, será aplicada a API do YouTube, possibilitando o login com as credenciais para Upload do vídeo automaticamente no canal do YouTube, já incluindo os campos obrigatórios do vídeo como título, descrição e Thumbnail. (Por default, fica como vídeo "não listado").

Todas essas etapas: / Recolher conceito / Download Imagens / Renderização Vídeo / Upload YouTube / poderão ser utilizadas separademente.

:information_source: How To Use

Por ser uma POC, necessitará das chaves das API's utilizadas no projeto. Clicando aqui, será direcionado ao README do projeto original com os passos para configuração.

Na minha adapação para ferramenta FREE, precisará das dependências:

# Videoshow
$ npm i videoshow

# FFmpeg
$ npm install ffmpeg

# @ffmpeg-installer/ffmpeg
$ npm install --save @ffmpeg-installer/ffmpeg

# @ffprobe-installer/ffprobe
$ npm install --save @ffprobe-installer/ffprobe

# Open
$ npm install open

Demais dependências utilizadas:

# Readline
$ npm install readline-sync

## Algorithmia Market Place Machine Learning
$ npm i algorithmia

# Natural Language Understanding
$ npm i watson-developer-cloud and 
$ npm i ibm-watson

# Google APIs
$ npm i googleapis

# Image Downloader
$ npm i image-downloader

# ImageMagick
https://imagemagick.org/script/download.php

# GM
$ npm i gm

# Express
$ npm i express

ScreenShots

videoMaker videoMaker videoMaker videoMaker videoMaker videoMaker videoMaker videoMaker videoMaker

Check it out Youtube: https://www.youtube.com/watch?v=_Ht4KIq9mko&feature=youtu.be

:recycle: Como contribuir

:memo: License

MIT License - Veja LICENSE para mais detalhes.


Created by Antonino Praxedes! 👋🏻 Get in touch!