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

Publicar palestras no Youtube #156

Open
26 of 39 tasks
rougeth opened this issue Nov 7, 2023 · 21 comments
Open
26 of 39 tasks

Publicar palestras no Youtube #156

rougeth opened this issue Nov 7, 2023 · 21 comments

Comments

@rougeth
Copy link
Member

rougeth commented Nov 7, 2023

Descrição

Vamos usar essa isso para centralizar o esforço para publicação das palestras da Python Brasil no Youtube.

Etapa 1

  • Mover os arquivos fonte do Drive para o S3. Esse passo é importante porque facilita na automatização das próximas etapas.
  • Todos os arquivos devem ficar na pasta / do bucket no s3, com o seguinte nome:
    {dia}_{sala}_{período}_{sufixo}.{extensão}
    # Exemplos
    # Arquivo no Drive
    dia-1 / Sala 10 Pinhão / Dia 1 / Tarde / PYBR SALA PINHAO TARDE (2).mp4
    # Arquivo no S3
    02_pinhão_tarde_1.mp4
    
    • Dia: as palestras foram do dia 2 a 4 de novembro, então tem necessidade de adicionarmos o mês no nome.
    • Sala: agnoline, pinhão, polenta ou uva
    • Período: manhã ou tarde
    • Sufixo: número, começando em 1, para identificar os múltiplos arquivos no mesmo dia e até no mesmo período.
  • Comando para fazer upload do arquivo no S3 usando AWS CLI:
    aws s3 cp <arquivo> arn:aws:s3:::pybr2023-palestras/
    
  • Atualizar planilha com o tempo de início, fim e nome do arquivo em que a palestra se encontra.

Tarefas

  • Primeiro dia - @apast
    • Sala Pinhão
      • Manhã
      • Tarde
    • Sala Uva
      • Manhã
      • Tarde
    • Sala Agnoline
      • Manhã
      • Tarde
    • Sala Polenta
      • Manhã
      • Tarde
  • Segundo dia - @rougeth
    • Sala Pinhão
      • Manhã
      • Tarde
    • Sala Uva
      • Manhã
        • Palestra do Samuel precisa ser adicionada na planilha
      • Tarde
    • Sala Agnoline
      • Manhã
      • Tarde
    • Sala Polenta
      • Manhã
      • Tarde
  • Terceiro dia - @lgabs
    • Sala Pinhão
      • Manhã
      • Tarde
    • Sala Uva
      • Manhã
      • Tarde
    • Sala Agnoline
      • Manhã
        • a palestra da Jules não consta no drive.
      • Tarde
    • Sala Polenta
      • Manhã
      • Tarde
        • o arquivo "04_polenta_tarde_5.mkv" não tinha cópia em mp4.

Etapa 2

Automatização dos cortes e upload para o YouTube.

@apast
Copy link

apast commented Nov 7, 2023

@rougeth
Após terminarmos os downloads, vamos normalizar os diretórios sem espaço, acento e lowercase?

@rougeth
Copy link
Member Author

rougeth commented Nov 7, 2023

Eu deixei uma sugestão de nome de arquivo:

{dia}_{sala}_{período}_{sufixo}.{extensão}

Sem pasta, sem espaço, lowercase, mas podemos manter acento, acho que não faz diferença.

Após, renomearmos, mandamos para o S3.

@apast
Copy link

apast commented Nov 7, 2023

Ah! Agora entendi!! Sim! Perfeito. Obrigado!

@lgabs
Copy link

lgabs commented Nov 7, 2023

Massa a ideia 🙏 Cheguei até aqui porque percebi que é muito importante termos os títulos explícitos nas lives e o trampo (manual, imagino) de criar as seções com links na descrição para navegar ou mesmo visualizar o contexto geral da palestra. Isso estaria previsto nessa issue em etapa posterior?

Se quiser ajuda pro terceiro dia ali, na etapa 1, eu topo ajudar.

@rougeth
Copy link
Member Author

rougeth commented Nov 7, 2023

Isso estaria previsto nessa issue em etapa posterior?

Sim! :D Vou atualizar a descrição da issue com mais detalhes.

Se quiser ajuda pro terceiro dia ali, na etapa 1, eu topo ajudar.

Boa! Pede acesso aqui pfv https://drive.google.com/drive/folders/1nEEP4YBP05suU9Tacy2ar1cfDoRM1QC1

@lgabs
Copy link

lgabs commented Nov 9, 2023

@rougeth mudamos os nomes manualmente no drive primeiramente? Além disso, mandaremos separado os arquivos para o s3 (o que demanda permissão) ou você aplica isso quando todos estiverem organizados?

@rougeth
Copy link
Member Author

rougeth commented Nov 9, 2023

@lgabs mudamos os manualmente após baixar os arquivos. Vamos deixar os originais conforme estão no Drive.

Vou te mandar as credenciais para subir para o S3 no Telegram.

@apast
Copy link

apast commented Nov 9, 2023

Na minha máquina local, criei hard links (não duplica espaço) para os arquivos;
Seguido do find na pasta para rodar o aws s3 cp:

mkdir links
ln <arquivo_original_drive> links/<arquivo_nome_padrao_s3>
cd links
find . -type f -printf "%f\n" -exec aws s3 cp {} s3://pybr2023-palestras/{} \;

@apast
Copy link

apast commented Nov 9, 2023

Criei uma planilha para controlarmos os tempos, títulos e e timestamps de recortes dos arquivos

https://docs.google.com/spreadsheets/d/1ddKGR7vXWBUfeoBK_mvKtYVDxXmnZrkT58M71i3nbO0/edit#gid=0

Conforme precisarem, peçam permissão

Já transcrevi as palestras.

Para automatizarmos os recortes nos vídeos, precisamos dos segundos iniciais e finais de cada palestra.

Marcar os valores em segundos nas colunas

  • inicio-palestra
  • termino-palestra

Se faltar partes da palestra, sinalizar nas respectivas colunas:

  • falha-início
  • falha-termino

Quando terminarmos a publicação, buscamos as que estiverem quebradas no youtube para pós-processamento

@lgabs
Copy link

lgabs commented Nov 11, 2023

terminei de fazer upload dos arquivos com nome padronizados lá pro s3. Resta transcrever e passar as infos pra planilha do @apast acima.

@rougeth
Copy link
Member Author

rougeth commented Nov 12, 2023

Só para alinharmos, o termino-palestra deve ser no momento em que a pessoa palestrante termina a palestra, sem contar com as perguntas, certo?

E também, lembre de preencher na planilha o tempo de início e fim em segundos.

@rougeth
Copy link
Member Author

rougeth commented Nov 12, 2023

E o começo também não inclui avisos ou apresentação do host, né? Vamos contar a partir da apresentação da pessoa palestrante.

@apast
Copy link

apast commented Nov 12, 2023 via email

@rougeth
Copy link
Member Author

rougeth commented Nov 12, 2023

Eu acho que introdução do host não precisa. Sobre perguntas, eu queria evitar de colocar perguntas que são na verdade comentários, isso acontece muito e acho que não faz sentido por não ser o espaço destinado a isso. Daí, para simplificar, acho que podemos cortar assim que a palestra acaba.

De qualquer forma, não precisa mudar as que já foram feitas!

@rougeth
Copy link
Member Author

rougeth commented Nov 12, 2023

Atualizei a descrição da issue, @apast e @lgabs vão marcando o checklist quando vocês terminarem (arquivos no s3 e planilha atualizada).

@lgabs
Copy link

lgabs commented Nov 12, 2023

Introdução tbm acho que n precisa, mas reparei alguns casos onde as perguntas são boas e somam bem à palestra, então em casos que eu notar isso eu preferiria mantê-las, tudo bem?

@rougeth
Copy link
Member Author

rougeth commented Nov 12, 2023

Introdução tbm acho que n precisa, mas reparei alguns casos onde as perguntas são boas e somam bem à palestra, então em casos que eu notar isso eu preferiria mantê-las, tudo bem?

Por mim ok. A maior preocupação são perguntas em que o palestrante fica constrangido.

@apast
Copy link

apast commented Nov 12, 2023 via email

@apast
Copy link

apast commented Nov 13, 2023

@rougeth Te algum c[odigo de anos anteriores para fazer o upload dos vídeos, com descrição, título?
Senão, vamos começar um?

  1. Ler CSV com info de palestras
  2. Criar Vídeo no youtube: upload de arquivo editado, descrição, título, ...

Se já existir código, talvez já utilize alguma lib. Encontrei esta e está atualizada.
https://pypi.org/project/python-youtube/

@lgabs
Copy link

lgabs commented Nov 13, 2023

inicio-palestra: apresentação nome palestrante, início conteúdo
termino-palestra: final das perguntas+palmas

Sobre isso, eu fiz o que comentei: analisei com mais calma os finais das palestras e adicionei quase todos os casos, pois havia informação pertinente pro público acessar depois.

Terminei todos os vídeos do dia 3 :) Fiz algumas anotações ali na tasklist, faltou só uma palestra da Jules no drive, acho que foi cancelada.

To bem curioso pra ver qual a ideia pra automatizar os cortes e uploads.

@rougeth
Copy link
Member Author

rougeth commented Nov 14, 2023

@rougeth Te algum c[odigo de anos anteriores para fazer o upload dos vídeos, com descrição, título?

Sim, tenho em algum lugar por aqui. Vou começar a procurar e mando aqui.

To bem curioso pra ver qual a ideia pra automatizar os cortes e uploads.

Nos últimos anos, fizemos mais ou menos assim:

  • Etapa 2 (maior parte automatiza, usando uma máquina com muitos cores na AWS):
    • Ler a planilha com dados dos vídeos
    • Para cara palestra:
      • Baixar o vídeo original do S3
      • Cortar nos tempos corretos de acordo com o que foi preenchido na planilha
      • Concatenar vinhetas
      • Fazer upload do arquivo final no S3
        • API do YouTube não comporta nosso caso de uso por padrão. Subir um vídeo custa 1600 unidades de cota de API, e temos 10k unidades por dia.
        • Porém, podemos usar a API para editar os metadados do video, como título, descrição, etc.
  • Etapa 3:
    • Baixar os arquivos editados do S3
    • Fazer upload desses arquivos no YouTube
    • Preencher o ID do vídeo na planilha
  • Etapa 4:
    • Ler a planilha com dados dos videos
    • Para cada palestra:
      • Editar o vídeo no YouTube com metadados de acordo com as informações na planilha

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: 📋 Para fazer
Development

No branches or pull requests

3 participants