Конвертация видео-файлов под Ubuntu: MJPG->XVID, 3GP(H264)->XVID…

By vedavrat

Фотоаппараты обычно снимают видео в формате MJPG (MJPEG), который занимает слишком много места.
Смартфоны обычно снимают видео в формате 3GP (кодек h264), который тоже занимает много места…

Желательно такие видео-файлы сразу сконвертировать.
Я это делатю под Ubuntu пакетом – запускаю скрипт (sh), который получает список файлов и поочереди конвертирует их в любимый мной кодек xvid (и avi-контейнер). Обычно вечером запускаешь, и за ночь гигабайты видео-записей переконвертируются в автоматическом режиме… :-)

Хочу поделится своими скриптами… Может кому-то пригодятся, а может кто-то посоветует что-то лучшее…

1) MJPG -> XVID
MJPEG пишут фотоаппараты (например Canon), там звук 11 кГц (и моно).
Скрипт такой:
#!/bin/bash
# with multiple arguments i.e.: ls *.{avi,AVI} | xargs avi_to_avi_q4.sh
N=$#;
echo "Converting $N files:"
for ((i=0; i<=(N-1); i++)) do filename1=${1%.*} filename2=${filename1}_xvid_q4.avi echo "converting" $1 "to" $filename2 "... ..." mencoder "$1" -ovc xvid -oac mp3lame -srate 11000 -xvidencopts fixed_quant=4 -o $filename2 shift 1 done

Главная строка здесь:
mencoder оригинал.avi -ovc xvid -oac mp3lame -srate 11000 -xvidencopts fixed_quant=4 -o результат.avi

2) 3GP (H264) -> XVID
Смартфоны/телефоны на Android снимают в контейнер 3gp с кодеком H.264... причём там около 20 кадров в секунду... Разрешение камеры у меня 800 на 480 (5:3) - на это количество точек (пикселей) и расчитан мой скрипт:
#!/bin/bash
# with multiple arguments i.e.: ls *.{avi,AVI} | xargs 3gp_to_avi_q4.sh
N=$#;
echo "Converting $N files:"
for ((i=0; i<=(N-1); i++)) do filename1=${1%.*} filename2=~/путь/${filename1}_xvid_q4_800-480_20fps_22k.avi echo "converting" $1 "to" $filename2 "... ..." ffmpeg -i $1 -f avi -vcodec libxvid -s 800x480 -aspect 5:3 -acodec libmp3lame -ar 22050 -r 20 -qscale 4 $filename2 shift 1 done

Главная строке в скрипте - это:
ffmpeg -i оригинал.3gp -f avi -vcodec libxvid -s 800x480 -aspect 5:3 -acodec libmp3lame -ar 22050 -r 20 -qscale 4 результат.avi
Причём снижаю дискретизацию с 44 kHz до 22 kHz...

Квантайзер Q (уровень качества) ставлю обычно 4.. Нормально?