msoliver
(usa Debian)
Enviado em 26/10/2016 - 10:50h
bragaXT escreveu:
#!/bin/bash
[ "$1" ] && cd "$1"
find -iname "*.TS"
[ "$?" -ne 0 ] && echo 'Sem arquivos TS nesse diretório' && exit 0
for ARQUIVO in $(find -iname "*.TS")
do
ARQ_DESTINO="${ARQUIVO%%.TS}.avi"
echo "Convertendo $ARQUIVO para $ARQ_DESTINO"
ffmpeg -i "$ARQUIVO" -vcodec libxvid -b 2000k \
-acodec libmp3lame -ac 2 -ar 44100 -ab 128k "$ARQ_DESTINO"
done
Rapaz meu código ficou assim,
Só que na pratica não funcionou.
Eu quero pegar todos arquivos de cada subdiretório que possua a extensão ".TS" e converter para ".avi" usando o parametro do ffmepeg
ffmpeg -i "arquivo_de_origem.TS" -vcodec libxvid -b 2000k \
-acodec libmp3lame -ac 2 -ar 44100 -ab 128k "arquivo_destino.avi"
E não está dando certo.
===================================================================================
Bom dia.
O "LAÇO" for, esta certo . . .
Teste sem o comando de conversão e verifique se lista todos ".TS"
#[ "$?" -ne 0 ] && echo 'Sem arquivos TS nesse diretório' && exit 0 #DESNECESSáRIO, o "STATUS da SAíDA Do find" é sempre "0"
for ARQUIVO in $(find -iname "*.TS");do
echo "Convertendo $ARQUIVO para ${ARQUIVO/TS/avi}"
done
Prováveis causas p/ o não funcionamento:
Problemas no comando "ffmpeg"
O "LAÇO" não da o tempo necessário para a conversão, nesse caso, teria que fazer o "LOOPING" com uma FUNÇÃO.
att.:
Marcelo Oliver