Scripting com variáveis do arquivo

5

Eu tenho vários vídeos no meu PC que eu gostaria de encurtar. Por exemplo, eu tenho um vídeo de 30 segundos onde eu quero ter a seção de 15 a 20 (um vídeo de 5 segundos). Para cortar isso, eu uso avconv.

avconv -i input.mp4 -ss 15 -acodec copy -vcodec copy -t 5 output.mp4

Este comando funciona muito bem. Eu tenho muitos vídeos que eu quero cortar da mesma maneira. É por isso que criei um arquivo de texto contendo as informações: nome-de-entrada, início de corte, comprimento de corte, nome-de-saída. Esses são escritos em in.txt que se parece com isto:

input.mp4 15 5 output.mp4
input1.mp4 32 10 output1.mp4
input2.mp4 10 7 output2.mp4
...

Minha pergunta é: Como eu tenho que modificar o comando avconv para cortar meus vídeos automaticamente? O que eu tentei foi isso, mas não funcionou:

avconv -i  -ss  -acodec copy -vcodec copy -t   < in.txt

Alguma ideia?

    
por Nooster 09.06.2014 / 13:05

1 resposta

6

No bash, eu sugeriria algo como

while read -r infile ss t outfile; do 
  avconv -i "$infile" -ss "$ss" -acodec copy -vcodec copy -t "$t" "$outfile"
done < in.txt
    
por steeldriver 09.06.2014 / 13:20