Nos últimos anos, meu fluxo de trabalho para editar vídeos para meu canal do YouTube foi o seguinte:
Escrever e gravar narração/’A-roll’usando um teleprompter Importar a gravação para a linha do tempo , e corte as partes silenciosas manualmente usando a lâmina e/ou as ferramentas de intervalo. Trabalhe no restante da edição (adicionando’B-roll’e inserções).
A etapa 3 é onde a maior parte do tempo de edição é gasto, especialmente quando preciso adicionar gráficos, animações, etc.
Mas passo 2 é terrivelmente chato, especialmente porque significa que para um vídeo típico de 10 minutos, vou sentar lá por 30 minutos ou mais ajustando todos os cortes na parte silenciosa, para tentar fazer o fluxo de áudio de uma seção do texto gravado para o próximo.
E não é apenas para gravações de teleprompter. Se você estiver editando screencasts, transmitindo VODs, vlogs ou entrevistas, há uma boa chance de que muitas partes silenciosas precisem ser cortadas antes do início do processo de edição completo.
Existem algumas ótimas aplicativos que automatizam parte ou tudo isso para você, como:
Recut (US$ 99, sem necessidade de assinatura) Timebolt (US$ 17/mês ou mais, dependendo da assinatura) Descript (US$ 12/mês ou mais, dependendo da assinatura)
Mas eu percebi que o Final Cut Pro X é um aplicativo de edição de vídeo profissional usado por vários criadores de conteúdo em todo o mundo… certamente há uma maneira de fazer isso sem comprar um software separado isso gera uma lista de decisões de edição que preciso importar para o Final Cut, certo?
Bem… mais ou menos. Depois de muitas pesquisas e testes, meu novo método para cortar lacunas de silêncio é este osascript de jashmenn. Ele precisava de alguns ajustes para funcionar no meu fluxo de trabalho, mas combina o filtro de detecção de silêncio do ffmpeg com um pouco de automação OSA/AppleScript para fazer todos os cortes para mim.
A etapa 2 é assim, agora:
Execute ffmpeg-i [video.mp4]-af silentdetect=n=-35dB:d=800ms-f s16le-y/dev/null 2>&1 | tee silent.txt Certifique-se de que o Final Cut Pro esteja aberto em uma linha do tempo (ou clipe composto) com a mesma parte de vídeo visível. Execute./final-cut-it-out.js silent.txt
O script percorre o vídeo e faz cortes em todos os limites das partes silenciosas, depois volta e exclui todas essas partes.
Não é perfeito e seria bom ter alguns dos recursos mais robustos, como um gate de ruído real (ataque, decaimento etc. mas isso permite que eu possa apenas percorrer e excluir as tomadas ruins, ajustar os tempos para alguns dos cortes de lacunas e seguir meu caminho!
Devo observar que alterei a parte moveToTimecode do código usando alterações de rlau1115 para filmagem de 23,98p.
Também defino um limite de ruído de-35dB e um atraso de 800ms, pois parece oferecer os melhores resultados para o meu tipo de fala.
Finalmente, também ajustei as margens para fornecer a quantidade certa de preenchimento para o fluxo de minha fala h:
const startMargin=0,175; const endMargin=0,200;
Sua milhagem pode variar. Na verdade, bifurquei o Gist em um repositório GitHub separado, final-cut-it-out, desde Gostaria de trabalhar para melhorá-lo e torná-lo mais flexível para diferentes taxas de quadros e margens.