Code Monkey home page Code Monkey logo

video-maker's Introduction

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

📽️ 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 💡

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.

ℹ️ 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

♻️ Como contribuir

  • Fork esse repositório;
  • Crie uma branch com a sua feature: git checkout -b my-feature
  • Commit suas mudanças: git commit -m 'feat: My new feature'
  • Push a sua branch: git push origin my-feature

📝 License

MIT License - Veja LICENSE para mais detalhes.


Created by Antonino Praxedes! 👋🏻 Get in touch!

video-maker's People

Contributors

antonino3g avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

video-maker's Issues

sobre video-maker

que show essa mudança que vc fez ficou totalmente free, tentei seguir tutorial git filipe mas como mudou a config da api google nao consigo descobrir o que é, posso baixar o seu e tentar ver se funciona aqui? o que vou precisar é alterar os arquivos .json e o que mais nessa questao do adobe???

Estruturas de Dados

content: {
    searchTerm: "...",
    prefix: "...",
    sourceContentOriginal: "...",
    sourceContentSanitized: "...",
    sentences: [
    {
      text: "...",
      keywords:  ["..."],
      images: ["..."]
    }
]
}

Espoco de Tarefas

  • Especificar tarefas e escopo

  • Orquestrador
    • Perguntar pelo termo de busca
    • Perguntar pelo prefixo
    • Iniciar robô de texto
    • Iniciar robô de imagens
    • Iniciar robô do vídeo
    • Iniciar robô do YouTube

  • Robô de texto
    • Estrutura de dados
    • Pegar conteúdo do Wikipedia
    • Limpar o conteúdo
    • Quebrar em sentenças
    • Pegar a interpretação do Watson (IBM)
    • Adicionar tags
    • Salvar estruturas de dados

  • Robô de imagens
    • Carregar a estrutura de dados
    • Buscar as imagens no Google Images
    • Baixar as imagens
    • Salvar a estrutura de dados

  • Robô de vídeo
    • Preparar/redimensionar as imagens
    • Criar as sentenças com imagens
    • Criar a thumbnail para o vídeo
    • Renderizar o vídeo com FFmpeg

  • Robô do YouTube
    • Autenticar com o OAuth
    • Upload do vídeo
    • Upload da thumbnail

da uma ajuda ai please

ja testei varios forks, o unico que deixou pesquisar a palavra e andou um pouco ate agora foi o do Heber , nao sei mais o que fazer, no do felipe e mais uns 2 que testei da erro antes de colocar a palavra ali, o do heber passou um pouco, da uma luz ai por favor, ja fiz de tudo, conferi as api id key etc tudo certo, vc sabe se tem alguem que conseguiu monetizar esses videos? youtube nao ta dando block em automatização?
tava tentando agora o teu aqui, como instala essas dependencias?

a520@DESKTOP-85N3H1I MINGW64 /e/videomaker/youtube-video-maker (master)
$ node index.js
Type a Wikipedia search term: ferrari

[1] Who is
[2] What is
[3] The history of
[0] CANCEL

Choose one option [1, 2, 3, 0]: 3
(node:7752) UnhandledPromiseRejectionWarning: Forbidden: Access is denied due to
invalid credentials.
at formatError (E:\videomaker\youtube-video-maker\node_modules\ibm-cloud-sdk
-core\lib\requestwrapper.js:111:17)
at E:\videomaker\youtube-video-maker\node_modules\ibm-cloud-sdk-core\lib\req
uestwrapper.js:259:19
at processTicksAndRejections (internal/process/task_queues.js:97:5)
(node:7752) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This
error originated either by throwing inside of an async function without a catch
block, or by rejecting a promise which was not handled with .catch(). To termina
te the node process on unhandled promise rejection, use the CLI flag --unhandle d-rejections=strict (see https://nodejs.org/api/cli.html#cli_unhandled_rejectio
ns_mode). (rejection id: 2)
(node:7752) [DEP0018] DeprecationWarning: Unhandled promise rejections are depre
cated. In the future, promise rejections that are not handled will terminate the
Node.js process with a non-zero exit code.

Fiz todas install das dependencias que vc falou ali mesmo assim vem esse erro:
$ node index.js
internal/modules/cjs/loader.js:1174
throw err;
^

SyntaxError: E:\videomaker\videojunior\credentials\google-search.json: Unexpected s
tring in JSON at position 60
at parse ()
at Object.Module._extensions..json (internal/modules/cjs/loader.js:1171:22)
at Module.load (internal/modules/cjs/loader.js:985:32)
at Function.Module._load (internal/modules/cjs/loader.js:878:14)
at Module.require (internal/modules/cjs/loader.js:1025:19)
at require (internal/modules/cjs/helpers.js:72:18)
at Object. (E:\videomaker\videojunior\robots\image.js:6:33)
at Module._compile (internal/modules/cjs/loader.js:1137:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1157:10)
at Module.load (internal/modules/cjs/loader.js:985:32)

a520@DESKTOP-85N3H1I MINGW64 /e/videomaker/videojunior (master)
$

O FORK do heber ele pede a palavra e o numero como erro inicio ok

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.