Здравствуйте!
задача такова: нужен скрипт,который будет перекодировать mov-файлы в flv, и названия файлов должно оставаться таким же,но с расширением .flv.
Было придумано такое решение
file.sh#!/bin/bash
dir=/path/to/video/files
for FILES in `$dir/*.mov`
do
newfile=$dir/$FILES.flv
mencoder $FILES -ofps 25 -o $newfile -of lavf -oac mp3lame -lameopts abr:br=192 -srate 44100 -ovc lavc -lavcopts vcodec=flv:aspect=16/9:keyint=50:vbitrate=1500:mbd=2:mv0:trell:v4mv:cbp:last_pred=3 -vf scale=1024:576
find $dir -name "*.mov.flv" | sed s/.mov// > $dir/name.tmp
IFS="
"
array=(`cat $dir/name.tmp`)
newname=${array[0]}
touch $newname
mv $newfile $newname
done
exit 0но при запуске скрипта вылезает ошибка:
file.sh: line 17: /path/to/video/files/video1.mov: cannot execute binary fileпомогите плиз!!!
>#!/bin/bash
>
>dir=/path/to/video/files
>for FILES in `$dir/*.mov`Кавычки - ` - лишние.
> do
> newfile=$dir/$FILES.flvnewfile=${FILES%.mov}.flv
> mencoder $FILES
про это ничего не скажу.
> find $dir -name "*.mov.flv" | sed s/.mov// > $dir/name.tmp
>
> IFS="
> "
> array=(`cat $dir/name.tmp`)
> newname=${array[0]}
> touch $newname
> mv $newfile $newnameУже не нужно. Всё, начиная с find.
>done
> exit 0exit в "простеньком" скрипте тоже не очень нужен, в общем-то.
>но при запуске скрипта вылезает ошибка:
>file.sh: line 17: /path/to/video/files/video1.mov: cannot execute binary fileЭто от ненужных кавычек в :-) п.1.
>помогите плиз!!!
На здоровье.
Огромное спасибо!
поясните пожалуйста
${FILES%.mov}.flv
А mov останутся?!=)
>Огромное спасибо!
>поясните пожалуйста
>${FILES%.mov}.flv
>А mov останутся?!Кажется разобрался!
Все работает!
еще раз спасибо!
>Огромное спасибо!Пожалуйста.
>поясните пожалуйста
man bash
info bash
google.ru -> учебник по bash>${
макроподстановка
>FILESиз значения переменной FILES
>%удалить _с_конца_
>.movэти символы
>}Макроподстановка кончилась: значение "функции" ${} вставляются на её место.
>.flvЭти символы - "просто" символы, добавляются в конце результата макроподстановки.
>А mov останутся?!=)
Буквы? Нет.
Или файлы?... Файлы в оригинале, вроде, не удаляли.
>[оверквотинг удален]
>
>Макроподстановка кончилась: значение "функции" ${} вставляются на её место.
>>.flv
>
>Эти символы - "просто" символы, добавляются в конце результата макроподстановки.
>
>>А mov останутся?!=)
>
>Буквы? Нет.
>Или файлы?... Файлы в оригинале, вроде, не удаляли.понятно!спасибо!