6

Собрать видеофайл из набора jpeg-картинок, лежащих в той же папке что и скрипт. Задаваемые параметры: SIZE_X, SIZE_Y - разрешение выходного видео OUTCADR - число кадров в секунду в выходном видео FILE - имя выходного файла Качество стоит очень высокое, кодек MPEG4, битрейт 10 Мегабит, делалось для создания видео размером 3000 на 2000 точек.

Простой скрипт для запуска желаемого

$ export SIZE_X=640
$ export SIZE_Y=480
$ export OUTCARD=25
$ export FILE="output.avi"
$ mencoder "mf://*.jpg" \
    -mf w=$SIZE_X:h=$SIZE_Y:fps=$OUTCADR:type=jpg \
    -oac copy -ovc lavc -lavcopts vcodec=msmpeg4:vbitrate=10000 \
    -ffourcc MP43 -o "$FILE"

Если в системе установлен {X,k,}dialog, можно воспользоваться приятным скриптом, который запрашивает все параметры, а также переименовывает файлы так чтобы они ТОЧНО шли подряд, после чего запускает mencoder, и по завершению проигрывает полученный файл в mplayer'е

DIALOG=${DIALOG=kdialog}
FILE=`$DIALOG --inputbox "Введите имя видеофайла" "out.avi"`
OUTCADR=`$DIALOG --inputbox "Сколько кадров в секунду будет в видео?:" "25"`
EXT=`$DIALOG --inputbox "Введите расширение ваших файлов" "jpg"`
SIZE_X=`$DIALOG --inputbox "Введите ширину изображения" "640"`
SIZE_Y=`$DIALOG --inputbox "Введите высоту изображения" "480"`

CMD="mencoder \"mf://*.jpg\" \
       -mf w=$SIZE_X:h=$SIZE_Y:fps=$OUTCADR:type=jpg \
       -oac copy -ovc lavc -lavcopts vcodec=msmpeg4:vbitrate=10000\
       -ffourcc MP43 -o \"$FILE\""

i=0 
for f in *.$EXT ;
do 
  mv "$f" $(printf "frame%04d.$EXT" $i)
  i=$((i+1))
done

echo $CMD
bash -c "$CMD" 

mplayer $FILE
-----------
-----------