Automações: Editando Shorts com programação

O problema: Tempo.

Tenho pouco tempo para gravar conteúdos para o canal e queria aproveitar os vídeos longos que faço para o formato vertical.

Eu pegava esses vídeos longos, gerava uma lista com 5-6 vídeos curtos (shorts <1 minuto) para então jog…


This content originally appeared on DEV Community and was authored by TheDigitalBricklayer

O problema: Tempo.

Tenho pouco tempo para gravar conteúdos para o canal e queria aproveitar os vídeos longos que faço para o formato vertical.

Eu pegava esses vídeos longos, gerava uma lista com 5-6 vídeos curtos (shorts <1 minuto) para então jogar no editor e cortar esses vídeos, converter no formato vertical, colocar a logo do canal e ctas (call to action, curte, comenta, se inscreve e informando que era um vídeo curto para um vídeo maior).

Isso consome muito tempo, e trabalho manual que minha mão grita de dor pois tenho lesões nas duas mãos.

Quebrando o problema em etapas menores:

  • Cortar os vídeos em tamanho máximo de 59 segundos.
  • Converter os vídeos para formato vertical, eu gravo em 16:9 formatos verticais são 9:16.
  • Adicionar o layer de cta do canal Image description

Iremos falar da primeira etapa hoje, cortar os vídeos em no máximo 59 segundos. Aqui tem um trabalho manual de assistir o vídeo e anotar uma minutagem de início, fim e nome do arquivo para o corte ser realizado.

Feito essa planilha no formato csv, ela será o input do script que escrevi e vou ler a mesma utilizando a lib csv do python.

Image description

Faço validação pois preciso ter os campos que mencionei acima e sigo para criar os vídeos no formato vertical. Nesse ponto para cada vídeo longo eu vou criar n vídeos dependendo das entradas da planilha e o nome dos arquivos segue o formato abaixo:

Image description

Onde um dicionário foi criado para marcar o nome do arquivo de saída com um contador, pois para cada entrada abaixo vai ser formado uma saída dessa forma:

{basename}_{counter}{extension}

Em outras palavras, informado a planilha abaixo:
Image description

Eu tenho a saída:
Image description

Tudo certo, agora precisamos cortar o vídeo de fato, para isso vamos utilizar FFmpeg, software utilizado para manipular, editar etc arquivos de áudio e vídeo.

Procurando na doc e stackoverflow e chat gpt para explicar os comandos consegui realizar o comando abaixo:

Estou rodando o ffmpeg no terminal e os comandos ditam:

Image description

“”ss” - Inicio do corte
“to” - Fim do corte
“-i” - Arquivo de entrada”

Rodando esse comando eu consigo cortar os vídeos dado um início e fim e o nome de saída, agora falta integrar isso no python e tá pronto o sorvetinho certo?

Não!

Image description

Detectei um problema onde há uma falha de sincronização entre o áudio e o vídeo. A faixa de áudio começava primeiro e após alguns segundos aparecia o vídeo, ouch!!

Pesquisa, pesquisa e mais pesquisa.

Chatgpt me explicou alguns comandos que achei na doc (a doc é bem triste de ler do ffmpeg).

Vamos de teste com o novo comando:

ffmpeg -ss 00:00:00 -t 00:00:10 -i branding.mp4 -vcodec copy -acodec copy -avoid_negative_ts make_zero potato.mp4

Agora podemos comemorar

Image description

Agora é juntar isso tudo no python, criar um subprocesso para chamar o ffmpeg e cortes rápidos igual aquela marca de faca (patrocina nós) .

Vou utilizar a lib subprocess para abrir o processo de chamar o ffmpeg que está instalado no meu sistema operacional e aguardar até que o vídeo seja cortado.

result = subprocess.run([
'ffmpeg', '-ss', start_time, '-t', duration, '-i', filename,
'-vcodec', 'copy', '-acodec', 'copy', '-avoid_negative_ts', 'make_zero',
output_filename
], capture_output=True, text=True)

O pulo do gato para retirar a falha de sincronização foi justamente adicionar o parâmetro ('-avoid_negative_ts', 'make_zero') que evita de ter timestamp negativos e com isso não gerar a falha de sync entre vídeo e aúdio.

E seguimos fazendo isso para cada linha do csv que nos foi informado para processar e o resultado são vídeos cortados em até 59 segundos para serem colocados no formato vertical.

Por hoje era isso, receber o csv, cortar o vídeo, lidei com a dessincronização de áudio e vídeo e exportei os vídeos para a próxima etapa que é transformá-los em formato vertical. Irei trazer o artigo de conversão desses vídeos para vertical em um futuro próximo.


This content originally appeared on DEV Community and was authored by TheDigitalBricklayer


Print Share Comment Cite Upload Translate Updates
APA

TheDigitalBricklayer | Sciencx (2024-07-01T01:48:31+00:00) Automações: Editando Shorts com programação. Retrieved from https://www.scien.cx/2024/07/01/automacoes-editando-shorts-com-programacao/

MLA
" » Automações: Editando Shorts com programação." TheDigitalBricklayer | Sciencx - Monday July 1, 2024, https://www.scien.cx/2024/07/01/automacoes-editando-shorts-com-programacao/
HARVARD
TheDigitalBricklayer | Sciencx Monday July 1, 2024 » Automações: Editando Shorts com programação., viewed ,<https://www.scien.cx/2024/07/01/automacoes-editando-shorts-com-programacao/>
VANCOUVER
TheDigitalBricklayer | Sciencx - » Automações: Editando Shorts com programação. [Internet]. [Accessed ]. Available from: https://www.scien.cx/2024/07/01/automacoes-editando-shorts-com-programacao/
CHICAGO
" » Automações: Editando Shorts com programação." TheDigitalBricklayer | Sciencx - Accessed . https://www.scien.cx/2024/07/01/automacoes-editando-shorts-com-programacao/
IEEE
" » Automações: Editando Shorts com programação." TheDigitalBricklayer | Sciencx [Online]. Available: https://www.scien.cx/2024/07/01/automacoes-editando-shorts-com-programacao/. [Accessed: ]
rf:citation
» Automações: Editando Shorts com programação | TheDigitalBricklayer | Sciencx | https://www.scien.cx/2024/07/01/automacoes-editando-shorts-com-programacao/ |

Please log in to upload a file.




There are no updates yet.
Click the Upload button above to add an update.

You must be logged in to translate posts. Please log in or register.