ffmpeg script sendo executado apenas pela primeira vez na lista?

1

Eu escrevi um pequeno script que converte vídeo HQ para LQ:

ls video/hq | cut -d. -f1 | while read line ; do
  HQ=./video/hq/$line.mp4
  LQ=./video/lq/$line.mp4
  ffmpeg -i $HQ -crf 40 $LQ
done;

Quando eu corro ls video/hq | cut -d. f1 eu volto:

1502460615677
1502461135975
1502461292963
1502461373947
1502461493936
1502461782119

Mas, ao executar o script de conversão, apenas 1502460615677 é processado.

Se eu substituir a linha por ffmpeg por echo $line echo será executada para todos, mas com ffmpeg , ela será executada apenas por um.

Alguém sabe por que o ffmpeg muda como isso é executado?

    
por Philip Kirkbride 11.08.2017 / 16:56

1 resposta

2

Aparentemente, ffmpeg lê a entrada padrão, o que interfere no comando read . Então estou direcionando para /dev/null

ls video/hq | cut -d. -f1 | while read line ; do
  HQ=./video/hq/$line.mp4
  LQ=./video/lq/$line.mp4
  ffmpeg -i $HQ -crf 40 $LQ < /dev/null
done;
    
por 11.08.2017 / 17:27

Tags