Копирование DVD в avi
$ mencoder dvd://1 -aid 128 -o track-1.avi -oac copy -ovc lavc -lavcopts vcodec=mpeg4
Изменить разрешение видеофайла
$ mencoder file.avi -ovc lavc -lavcopts vcodec=mpeg4 -vf \
scale=720:432 -oac copy -o newfile.avi
Команда объединяет все видеофайлы в текущей директории в один. Формат, кодек и разрешение файлов должны быть при этом совершенно одинаковые:
$ mencoder ./* -oac copy -ovc copy -o outfile.avi
Конвертация WMV в AVI
$ mencoder infile.wmv -ofps 23.976 -ovc lavc -oac copy -o outfile.avi
Вырезать фрагмент видео с определённого момента и сохранить его в файл cut.avi. Параметр endpos указывает продолжительность фрагмента. Видео будет вырезано с 722 секунды по 1007 (722 + 285).
$ mencoder video.avi -ss 722 -endpos 285 -oac copy -ovc copy -o cut.avi
Собрать видеофайл из набора 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
- 1 - www.commandlinefu.com
- 2 - xtips.ru
- 3 - xtips.ru
- 4 - xtips.ru
- 5 - bro1.centras.info
- 6 - MihanEntalpo@yandex.ru
- 6 - MihanEntalpo