Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Escopo e tarefas #1

Open
30 tasks done
filipedeschamps opened this issue Feb 21, 2019 · 42 comments
Open
30 tasks done

Escopo e tarefas #1

filipedeschamps opened this issue Feb 21, 2019 · 42 comments
Labels
enhancement New feature or request help wanted Extra attention is needed history Passos históricos do video-maker

Comments

@filipedeschamps
Copy link
Owner

filipedeschamps commented Feb 21, 2019

  • 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
    • Adicionar tags
    • Salvar estrutura 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 After Effects

  • Robô do YouTube
    • Autenticar com o OAuth
    • Upload do vídeo
    • Upload da thumbnail
@baltazarparra
Copy link

@filipedeschamps Primeiramente, parabéns pela iniciativa cara, fiquei bem animado com o conteúdo.

Você já tentou usar o kanban que o github oferece ali na aba projects dentro do próprio repositório?
Acho que ele pode ser mais produtivo que as issues pra esse tipo de micro-gerenciamento.

@filipedeschamps
Copy link
Owner Author

@baltazarparra ótima pergunta e sugestão!

Um exercício para nós dois: o que ganhamos e o que perdemos levando este projeto para o Projects do GitHub e qual o saldo final desta escolha?

Acho que com estes pontos saberemos o que fazer se o saldo for positivo ou negativo 👍

@workplace
Copy link

Filipe,@filipedeschamps

Conforme comentado no seu video,como sugestão, mas coloca no README ou em algum Markdocs a parte alguns exemplos de API que transformam sentenças em voz que te enviaram.

Está muito bacana o conteúdo!

@EduGaff
Copy link

EduGaff commented Feb 25, 2019

@workplace, nesse link vc encontra mais informações.
https://medium.com/flutter-community/mobile-app-that-speaks-with-deepmind-wavenet-google-cloud-text-to-speech-ml-api-and-flutter-48abf0992cb9

@diogorighi
Copy link

Parabéns pela iniciativa, Filipe! Muito foda!

O que você acha de adicionar testes nesse ciclo? Trabalhar com TDD por exemplo?

Acho que seria massa em vez de ficar voltando e executando o programa para testar toda hora, só rodar os testes!
Pensando na dopamina, é mais um UP. Transformar um teste RED em um GREEN ;)

Abraço!

@lucasfazzib
Copy link

Show de bola Filipe !!!!

Super apoio a idéia do Diogo, implementar uma metodologia voltada para TDD seria massa, muitos devs não conhecem ou só ouviram falar sobre isso, já seria mais um ponto positivo de aprendizado !
Podem contar comigo se quiserem algo !

+99 Dopamine

Abraço!

@picheli20
Copy link

@filipedeschamps cara, parabens! Esse tipo de iniciativa que traz mais gente pra comunidade! :)

Cara, acho que seria muito bacana como proximo passo fazer algum tipo de bot pro github, muita gente não sabe como funciona e é muito simple a API que oferece :) Eu tinha criado uma no passado que até rodava e2e testes que o QA poderia adicionar na descrição do Jira: https://github.com/picheli20/github-bot-jira

Valeu e continua com o trabalho foda que vc está fazendo!

@samlau11
Copy link

Amigos estou muito entusiasmado com o projeto, infelizmente a única linguagem que domino é C++, quais linguagens preciso ter conhecimento para conseguir entender e dominar esse projeto e não ficar só copiando e colando?

Desde de já agradeço pela iniciativa, estou querendo mudar de curso e adentrar nesse mundo de programação e a alegria do Filipe e sua criatividade me anima muito para seguir com essa escolha. A possibilidade de tirar do papel esse tipo de projeto libera muita DOPAMINA.

@Gregiss
Copy link

Gregiss commented Feb 25, 2019

@filipedeschamps Muito show, curti muito, que venha mais vídeo aulas

@vitorvenicius
Copy link

Estou acompanhando. Ameego. kkk. Tá muito bom mesmo.

@naurojunior
Copy link

Muito bacana! A música do History of Bacon foi tirada da onde? Vi o vídeo, mas não vi onde especificou o mp3/audio... Foi adicionado pelo próprio Youtube?

@matheuschimelli
Copy link

@samlau11 para compreender o projeto é necessário tem um conhecimento em Nodejs. Saber o básico já dá pra entender muita coisa.

@Patricia7sp
Copy link

Patricia7sp commented Feb 25, 2019

Ola pessoa!
@filipedeschamps .Fiquei pensando em fazer com que os robôs façam buscas no nosso próprio computador. para buscar informações, comando de voz, algumas pessoas já falaram sobre isso.
Vamos criar uma Siri da vida, só que mais avançada, rsrsr

@eliafonso
Copy link

Cara, nunca publiquei aqui no Git, rsrsrs
Parabéns pela iniciativa. Imagine que esse robô possa evoluir como um gerador de conteúdo para blogs, redes sociais e afins. As possibilidades dentro dessa idéia são infinitas. Via API, postar ainda o video em um blog via Wordpress, ou já subir isso no Facebook. Ou melhor, fazer versões para cada mídia social. Estou empolgadíssimo com as possibilidades. Vou acompanhar de perto e quero pode ajudar

@Fguedes90
Copy link

@samlau11

Amigos estou muito entusiasmado com o projeto, infelizmente a única linguagem que domino é C++, quais linguagens preciso ter conhecimento para conseguir entender e dominar esse projeto e não ficar só copiando e colando?

Desde de já agradeço pela iniciativa, estou querendo mudar de curso e adentrar nesse mundo de programação e a alegria do Filipe e sua criatividade me anima muito para seguir com essa escolha. A possibilidade de tirar do papel esse tipo de projeto libera muita DOPAMINA.

Entendo praticamente nada de javascript estou seguindo a lógica do @filipedeschamps e codando em python, faça a sua versão em C++ e compartilhe o repositório aposto que vai ajudar muito o pessoal que também coda em C++

@baltazarparra
Copy link

@baltazarparra ótima pergunta e sugestão!

Um exercício para nós dois: o que ganhamos e o que perdemos levando este projeto para o Projects do GitHub e qual o saldo final desta escolha?

Acho que com estes pontos saberemos o que fazer se o saldo for positivo ou negativo 👍

Depois de ver o primeiro vídeo da sua série, criei vergonha na cara e comecei a tirar um projeto do papel, neste projeto estou testando o Projects e vou deixar minhas impressões, dessa forma saberemos se vai ser útil ou não.

  • Separando as tasks em colunas, com o clássico To Do, In Progress e Done, a visualização fica bem intuitiva
  • A partir do kanban você pode criar uma issue
  • Você pode ter labels para ajudar na visualização
  • Você consegue linkar tasks de outros items
  • Você pode assinar uma task

Com essas informações acho que dá pra ter uma ideia se ele vai facilitar de fato, ou apenas deixar mais burocrático o fluxo, certo @filipedeschamps

@salmomascarenhas
Copy link

salmomascarenhas commented Feb 26, 2019

@samlau11 Estou em uma situação parecida com a sua, irei codar em C# ao invés de Javascript. O projeto estará disponível no meu Repositório.

Sucesso galera!

@filipedeschamps
Copy link
Owner Author

@baltazarparra matou a pau! Era exatamente esse o exercício que gostaria de chegar!

A sensação de que se o saldo ficou positivo ou negativo vai de qualquer pessoa. Se, por exemplo, eu estivesse num exercício em que eu quisesse aprender sobre o GitHub e estivesse trabalhando com mais pessoas, com certeza minha sensação seria de saldo positivo. Como o escopo está "fechado" (é sempre um crime falar isso kkkkkk) e vou inicialmente trabalhar sozinho apenas pelo motivo de fazer os vídeos iniciais (para conseguir fazer um roteiro semântico) eu tenho a sensação que o saldo irá ficar negativo.

Independente disso, já sinto agora com o primeiro PR (#5) que aconteceu que assim que a versão educacional for finalizada, seria interessante começar a adicionar essas organizações.

@filipedeschamps
Copy link
Owner Author

O que você acha de adicionar testes nesse ciclo? Trabalhar com TDD por exemplo?

@diogorighi que sugestão animal!!! Eu adoro TDD, todas as bibliotecas que coloquei aqui foram feitas com TDD e de fato, no quesito dopamina, é 10/10 sem pensar duas vezes. Agora como o objetivo desse projeto é aguçar o tesão e criatividade da turma com tecnologia, acredito que esse não seja o melhor momento para introduzirmos a pauta do TDD.

Minha sugestão seja fazermos um outro projeto com a semântica perfeita para ensinar TDD... como por exemplo, fazer uma série completa de como faço módulos para o npm e tentar abstrair ao máximo para que os princípios do TDD sejam aplicados para qualquer outra linguagem.

@Patricia7sp
Copy link

@filipedeschamps estou um pouco perdida no segundo video da serie, depois que digita o comando npm init- o meu terminal fica travado no name, não sei o que deve fazer ou o que estou fazendo de errado.

@wellingtonsilverio
Copy link

@Patricia7sp é só voce digitar o nome e dar enter ou dar enter direto (vai colocar um nome default), mas para simplificar voce pode fazer o comando npm init -y

@Patricia7sp
Copy link

Patricia7sp commented Feb 26, 2019

@wellingtonsilverio muito obrigada pela sua atencao! Como sou uma pessoa muito afoita, nao consigo esperar, eu fui pesquisar na internet para saber o que eu estava fazendo de errado, eu estava fazendo de tudo menos apertando enter, rsrsrsr. erros de principiante.
Muito obrigada pela sua atencao. Abrs;

@rrfaria
Copy link

rrfaria commented Feb 26, 2019

Sugestões:

  • poderia fazer uma api rest desse sistema para que a galera pudesse brincar e criar interfaces gráficas
  • adicionar docker para o desenvolvimento
  • eslint (airbnb)
  • prettier
  • travis CI para integração continua
  • arquivo editorconfig para que todo mundo use a mesma configuração no editor.
  • usar o stanbul para coverage de testes de codigo ou alguma outra lib

@rodrigoazv
Copy link

Fala galera, como alguns comentaram acima, alem das discussões seria interessante implementar mais coisa, tanto no projeto do felipe quanto no individual, estou fazendo o meu em python seguindo a serie de videos dele no meu https://github.com/rodrigoazv/video-maker-python publico, quem quiser participar, portas abertas !

@danielschmitz
Copy link
Collaborator

@rrfaria @filipedeschamps

editorconfig POR FAVOR rs...

olha a cola aí

# Editor configuration, see http://editorconfig.org
root = true

[*]
charset = utf-8
indent_style = space
indent_size = 2
insert_final_newline = true
trim_trailing_whitespace = true

[*.md]
max_line_length = off
trim_trailing_whitespace = false

@caiomendesc
Copy link

caiomendesc commented Feb 26, 2019

Pessoal criei um servidor do discord para nós inscritos do Filipe, caso tenham interesse em entrar, segue o link abaixo:

https://discord.gg/Q73zZ6J (Filipe, desculpa usar o seu nome, mas como comentei e você apoiou, decidi adiantar a ideia para facilitar a comunicação entre nós em projetos, ideias novas para o canal e etc)

@allanvictor
Copy link

allanvictor commented Mar 4, 2019

@filipedeschamps poderia criar uma issue para adicionar uma segunda opção para render sugerindo o Blender, pois funcionaria no Linux também.

Duas das maiores vantagens é que o Blender funciona em todos os sistemas operacionais (Leia-se Linux, Mac, Windows) e é gratuito, logo o usuário não necessitaria comprar/assinar o after effects.

O interessante dessa idéia é que o blender também possui o modo headless, e em tese é possível portar para o projeto, falta só descobrir como.

@chazgps
Copy link

chazgps commented Mar 4, 2019

Pessoal tá dando um monte de idéia disso, de idéia daquilo, mas se esquecendo do básico:
Ninguém domina o assunto dos vídeos !
Estão todos aqui procurando aprender, então o que eu sugiro é que o Filipe não coloque nada além do que usou no projeto.
Se ele conseguir que as cabecinhas entendam a lógica de resolução de problemas, já terá alcançado sucesso neste projeto.
O foco aqui não é mostrar a tecnologia, ele na verdade está ensinando como você pega uma idéia, decompõe ela e vai realizando-a passo-a-passo.
E nada melhor do que uma idéia desafiadora para mostrar a todos que tudo é possível, desde que se tenha persistência, paciência, estudo e dedicação.
O Filipe já fez tudo isto.
Se você quer TDD, ótimo, faz um fork e coloca na tua versão.
Já se você quer colocar voz, vai fundo lá, coloca voz !
Estude, pratique, jogue fora, refaça.

@marviorocha
Copy link

Estou perdido nesse projeto, estou acompanhando um pouco paralelo, tenho alguma coisas interessante que posso fazer também.

@edugradischnig
Copy link

Após o projeto concluído poderíamos criar uma interface de gerenciamento, que você pode escolher o idioma, a conta no Youtube e, talvez criar um programador de horário, para programar o horário que você deseja upar os vídeos.

@cristianzsh
Copy link

@filipedeschamps , parabéns pelo projeto!

Não consegui esperar o término da playlist e já fiz minha implementação em Python. Não segue 100% o modelo do seu projeto, mas tem o mesmo objetivo.

Visando utilizar apenas ferramentas open source, faço a manipulação do vídeo com o FFmpeg. O resultado não é tão trabalhado como no After Effects (apesar de ser possível adicionar uns filtros mais complexos), mas o tempo para finalização é muito rápido. Seria uma boa utilizar o Blender, como sugerido por @allanvictor :)

O link do repositório é o seguinte: https://github.com/crhenr/youtube-video-maker

Essa versão está bem simples, mas espero que possa contribuir para aqueles que também querem implementar o projeto em Python. Qualquer contribuição será bem-vinda.

E vamos programar!

@danielschmitz
Copy link
Collaborator

Pessoal tá dando um monte de idéia disso, de idéia daquilo, mas se esquecendo do básico:
Ninguém domina o assunto dos vídeos !
Estão todos aqui procurando aprender, então o que eu sugiro é que o Filipe não coloque nada além do que usou no projeto.
Se ele conseguir que as cabecinhas entendam a lógica de resolução de problemas, já terá alcançado sucesso neste projeto.
O foco aqui não é mostrar a tecnologia, ele na verdade está ensinando como você pega uma idéia, decompõe ela e vai realizando-a passo-a-passo.
E nada melhor do que uma idéia desafiadora para mostrar a todos que tudo é possível, desde que se tenha persistência, paciência, estudo e dedicação.
O Filipe já fez tudo isto.
Se você quer TDD, ótimo, faz um fork e coloca na tua versão.
Já se você quer colocar voz, vai fundo lá, coloca voz !
Estude, pratique, jogue fora, refaça.

concordo 100%. E acho que o @filipedeschamps também, tanto que ele nao vai aceitar os PRs

@HiltonWS
Copy link

HiltonWS commented Mar 8, 2019

Teria muita dificuldade se usassemos um tensorflow no lugar do watsson por exemplo?

Pra quem puder responder :)

@genesluna
Copy link

Teria muita dificuldade se usassemos um tensorflow no lugar do watsson por exemplo?

Pra quem puder responder :)

@HiltonWS, primeiro nós temos que entender o que é uma inteligência artificial. Para construir uma IA, você precisa de alguns passos:

  1. Projetar e criar um modelo de aprendizagem de máquina usando um dos muitos algorítimos disponíveis atualmente, como árvores de decisões, regressão lógica, suporte de máquina de vetores, entre outros. Esta etapa requer médio nível de conhecimento em programação e um alto nível de conhecimento em matemática e estatística.

  2. Conseguir dados, muitos dados (Big Data). Limpar esses dados e colocá-los em uma estrutura que possa ser lida pelo modelo. Requer um bom conhecimento em programação e estatística.

  3. Treinar o modelo com os dados conseguidos no passo 2 até que o mesmo traga os resultados esperados. Requer tempo e poder computacional.

  4. Criar uma API que possibilite processar e responder às requisições usando o modelo treinado.

Depois desses passos você terá a sua inteligência artificial.

Agora, respondendo de fato a sua pergunta... O TensorFlow é uma biblioteca para criação e treinamento de algorítimos de aprendizagem de máquina, ou seja, nós auxiliaria nós passos 1 e 3. Já o Watson é uma IA pronta. Já foi projetada, construída, treinada e tem uma API. Sem contar que é constantemente otimizada com novos dados.

Então, sim. Haveria um pouco de dificuldade em usar um TensorFlow no lugar do Watson. 😃

@AndreCastilhoFilho
Copy link

@samlau11 Estou em uma situação parecida com a sua, irei codar em C# ao invés de Javascript. O projeto estará disponível no meu Repositório.

Sucesso galera!

Também estou desenvolvendo com c#:
Repositório.

@Sauloleocadio
Copy link

Muito bom os conteúdos parabéns mestre!!!!

@kuati
Copy link

kuati commented Mar 19, 2019

Show... vou acompanhar!!!

@HiltonWS
Copy link

Teria muita dificuldade se usassemos um tensorflow no lugar do watsson por exemplo?
Pra quem puder responder :)

@HiltonWS, primeiro nós temos que entender o que é uma inteligência artificial. Para construir uma IA, você precisa de alguns passos:

  1. Projetar e criar um modelo de aprendizagem de máquina usando um dos muitos algorítimos disponíveis atualmente, como árvores de decisões, regressão lógica, suporte de máquina de vetores, entre outros. Esta etapa requer médio nível de conhecimento em programação e um alto nível de conhecimento em matemática e estatística.
  2. Conseguir dados, muitos dados (Big Data). Limpar esses dados e colocá-los em uma estrutura que possa ser lida pelo modelo. Requer um bom conhecimento em programação e estatística.
  3. Treinar o modelo com os dados conseguidos no passo 2 até que o mesmo traga os resultados esperados. Requer tempo e poder computacional.
  4. Criar uma API que possibilite processar e responder às requisições usando o modelo treinado.

Depois desses passos você terá a sua inteligência artificial.

Agora, respondendo de fato a sua pergunta... O TensorFlow é uma biblioteca para criação e treinamento de algorítimos de aprendizagem de máquina, ou seja, nós auxiliaria nós passos 1 e 3. Já o Watson é uma IA pronta. Já foi projetada, construída, treinada e tem uma API. Sem contar que é constantemente otimizada com novos dados.

Então, sim. Haveria um pouco de dificuldade em usar um TensorFlow no lugar do Watson.

Sim tem isso, mas já existem alguns modelos pré treinados exemplo https://github.com/tensorflow/models, ou https://github.com/mystic123/tensorflow-yolo-v3 (imagens).

Mas pelo que testei realmente é menos eficaz do que o Watson sendo, que esse sempre está sendo treinado e aprimorado para aquela função.

@leodutra
Copy link
Collaborator

@filipedeschamps poderia criar uma issue para adicionar uma segunda opção para render sugerindo o Blender, pois funcionaria no Linux também.

Duas das maiores vantagens é que o Blender funciona em todos os sistemas operacionais (Leia-se Linux, Mac, Windows) e é gratuito, logo o usuário não necessitaria comprar/assinar o after effects.

O interessante dessa idéia é que o blender também possui o modo headless, e em tese é possível portar para o projeto, falta só descobrir como.

Opa. Bora criar estes bindings? Estou interessado na solução de video para Linux.

@evertonduarte-82
Copy link

@filipedeschamps . Parabéns pela iniciativa. Na realidade não sou programador estou aprendendo através deste iniciativa passo a passo como fazer um bot. Obrigado pela ajuda. Pois o conteúdo esta bem acessível inclusive para um leigo que esta começando a aprender agora

matbrgz pushed a commit that referenced this issue Oct 31, 2019
Correção da licensa no package.json: ISC -> MIT
@leodutra leodutra added enhancement New feature or request help wanted Extra attention is needed history Passos históricos do video-maker labels Oct 31, 2019
@matbrgz matbrgz added this to In progress in Community Roadmap Nov 1, 2019
@matbrgz
Copy link
Collaborator

matbrgz commented Nov 1, 2019

@filipedeschamps Pensei em mantermos sempre o repositório organizado para que você faça os merges e acompanhamento das issue em vídeo.. Porque sempre aparece coisa legal, como os bots de dependências que ajudar a manter os pacotes na última versão. Ainda não consigo imaginar um modelo didático para isso, mas já estou pensando. Vi sua última atualização sobre didática, estou acompanhando o yt. Obg pela atenção meu querido, sucesso...

@williamtorres1
Copy link

Amigos estou muito entusiasmado com o projeto, infelizmente a única linguagem que domino é C++, quais linguagens preciso ter conhecimento para conseguir entender e dominar esse projeto e não ficar só copiando e colando?

Desde de já agradeço pela iniciativa, estou querendo mudar de curso e adentrar nesse mundo de programação e a alegria do Filipe e sua criatividade me anima muito para seguir com essa escolha. A possibilidade de tirar do papel esse tipo de projeto libera muita DOPAMINA.

JavaScript

ppferrato pushed a commit to ppferrato/video-maker that referenced this issue Aug 27, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request help wanted Extra attention is needed history Passos históricos do video-maker
Projects
Status: In progress
Community Roadmap
  
In progress
Development

No branches or pull requests