shell skrypt

Grzesiek Sójka pld w pfu.pl
Sob, 15 Lis 2008, 12:47:57 CET


Witam,

Napisałem sobie skrypcik do konwersji avi -> 3gp. Wygląda on następująco:
-----------------------------------------------------
[grzes w Apollo bajki]$ cat ~/bin/avi-3gp
#!/bin/sh
convert()
{
  ffmpeg -i "$1.avi" \
	-f 3gp -b 100 -qmin 3 -qmax 5 -g 300 -s sqcif \
	-ar 8000 -ab 12.2k -ac 1 -r 8 \
	"$1.3gp"
  return 0
}
if [ "$#" = 0 ]
  then
    ls -1 *.avi | cut -f 1 -d . | while read FILE
      do
	[ -e "$FILE.3gp" ] || convert "$FILE"
      done
  else
    echo convert "$1"
  fi
------------------------------------------------------
Spodziewał bym się, ze po odpaleniu bez parametrów skonwertuje wszystkie
aviki w bieżącym katalogu do 3gp. Niestety konwertuje tylko pierwszy.
Jeśli jednak zmienimy procedurę convert w następujący sposób:
convert()
{
  cp -v "$1.avi" "$1.3gp"
  return 0
}
To wszystkie avi kopiowane są do 3gp. O co tutaj chodzi?? Próbowałem
zmieniać shell na bash ale jest dokładnie to samo. Co jest z tym
ffmpeg?? Z ciekawostek nie jest to kwestia maszyny bo to samo dzieje się
na 2 istotnie różnych kompach. w obu przypadkach Th-i686 w miarę świeże.

Pomóżcie bo mnie już krew zalewa.


Więcej informacji o liście dyskusyjnej pld-users-pl