Я пытаюсь разрезать видео на 2-минутные клипы, используя FFMpeg.Я использую Ubuntu 10.10.
Вот мой код:
#!/bin/sh
COUNTER=0
BEG=0
MIN=`ffmpeg -i ${1} 2>&1 | grep "Duration" | cut -d ' ' -f 4 | sed s/,// | cut -d ":" -f 2`
echo $MIN
((MIN=MIN-2))
before_last_dot=${1%.*};
while [ $COUNTER -lt $MIN ]; do
((BEG=COUNTER*60))
echo "MIN:${MIN}"
echo "ffmpeg -sameq -i ${1} -ss ${BEG} -t 120 ${before_last_dot}.${COUNTER}.wmv"
((COUNTER=COUNTER+2))
done
echo "ffmpeg -sameq -i ${1} -ss ${BEG} -t 120 ${before_last_dot}.${COUNTER}.wmv"
должно быть ffmpeg -sameq -i ${1} -ss ${BEG} -t 120 ${before_last_dot}.${COUNTER}.wmv
.Я печатаю это, чтобы проверить это.$ {1} - это название видео.
Но проблема в том, что ((COUNTER=COUNTER+2))
или ((COUNTER+=2))
никогда не работает!COUNTER
всегда равно 0, BEG
тоже всегда 0.((MIN=MIN-2))
тоже никогда не работает.
Я пытался заменить ((MIN=MIN-2))
на let "MIN-=2"
Я получаю сообщение об ошибке: let: not found
Я + дважды проверен, но все еще не знаю почему,У меня седые волосы на этом.