Neste vídeo, vamos aprender como separar músicas de um vídeo usando os comandos awk e ffmpeg. Esses comandos são úteis para separar músicas de vídeos musicais, vídeos de concertos, ou qualquer outro vídeo que contenha várias músicas.
Passo 1: Criar um arquivo de texto
O primeiro passo é criar um arquivo de texto chamado lista.txt. Este arquivo de texto conterá os tempos de início e de término de cada música. O formato do arquivo de texto é o seguinte:
número da música,hora de início,nome da música
Por exemplo, o seguinte arquivo de texto separaria 7 músicas de um vídeo:
1,0:00,Doomsday
2,5:04,Fly Me Away (From Here)
3,10:56,Let Me Go
4,15:20,On Wings Of Love
5,19:49,Mother Nature's Plight
6,28:44,Take You For A Ride
7,33:26,Just A Rock'n'Roll Band
Passo 2: Usar o comando awk
O comando awk é usado para ler o arquivo de texto e criar um array de strings chamado tempo. Cada string no array representa o tempo de início e de término de um clipe de áudio.
O seguinte comando awk criará o array tempo:
awk 'BEGIN{FS=OFS=","} {tempo[NR]=$2;nome[NR]=$3} END {for(i in tempo) print "0000:"tempo[i],"0000:"tempo[1+i],nome[i]}' lista.txt
Passo 3: Usar o comando ffmpeg
O comando ffmpeg é usado para criar vários arquivos de áudio com clipes de áudio de diferentes partes do arquivo de áudio original.
O seguinte comando ffmpeg criará um arquivo de áudio chamado Doomsday.wav com o clipe de áudio de 0:00 a 5:04 do arquivo de áudio original:
ffmpeg -i audio.wav -ss 00:00 -to 00:05:04 Doomsday.wav -c copy -loglevel panic
Para criar os outros arquivos de áudio, podemos usar um loop while para iterar sobre o arquivo de texto lista.txt.
O seguinte código usará o comando ffmpeg para criar todos os arquivos de áudio:
while IFS="," read -r inicio final nome;do
ffmpeg -i audio.wav -ss $inicio -to $final "$nome.wav" -c copy -loglevel panic
echo "Feito "$nome" de $inicio até $final"
done "sinal de menor que" tempo.csv
Conclusão
Aqui está um resumo dos passos para separar músicas de um vídeo usando os comandos awk e ffmpeg:
Crie um arquivo de texto chamado lista.txt que contém os tempos de início e de término de cada música.
Use o comando awk para ler o arquivo de texto e criar um array de strings chamado tempo.
Use o comando ffmpeg para criar vários arquivos de áudio com clipes de áudio de diferentes partes do arquivo de áudio original.
Comentários sobre os comandos:
O comando awk é um utilitário poderoso que pode ser usado para uma variedade de tarefas. No contexto deste vídeo, o comando awk é usado para extrair informações de um arquivo de texto.
O comando ffmpeg é um utilitário essencial para qualquer pessoa que trabalhe com vídeo. O comando ffmpeg pode ser usado para converter, editar e mesclar arquivos de vídeo e áudio.
Outras informações:
Você pode usar qualquer editor de texto para criar o arquivo lista.txt.
Você pode usar qualquer reprodutor de áudio para ouvir os arquivos de áudio separados.
Espero que este vídeo tenha sido útil. Se você tiver alguma dúvida, deixe um comentário abaixo.