LINUX.ORG.RU

http://www.linux.org.ru/books/lor-faq/lorFAQ-21.html#ss21.18

Я сделал так:

#!/bin/bash

PH=/mnt/iso/video_ts READYPH=./tmp FNAME=Lenny.2 SCW=640 SCH=360 BITRATE=1600 NICE=15 ENG=129 RUS=128 FPS=25 DATE="`date +%H%M%d`"

cp divx2pass.log "divx2pass-"$DATE".log"

cat $PH/*vob | nice -n $NICE mencoder - -ofps $FPS -ni -aid $RUS \ -ovc frameno \ -oac mp3lame -lameopts vbr=3:br=192:q=0:aq=0 \ -o $READYPH/"sound-"$RUS".avi"

#cat $PH/*.vob | nice -n $NICE mencoder - -ofps $FPS -ni -aid $ENG \ #-ovc frameno \ #-oac mp3lame -lameopts vbr=3:br=192:q=0:aq=0 \ #-o $READYPH/"sound-"$ENG".avi"

cat $PH/*.vob | nice -n $NICE mencoder - -ofps $FPS \ -ovc lavc -lavcopts vcodec=mpeg4:vpass=1:vhq:vbitrate=$BITRATE:vme=5:keyint=300:v4mv:mv0:qpel:trell :cbp:naq \ -vf scale=$SCW:$SCH,pp=hb/vb/dr -sws 2 \ -nosound \ -o $READYPH/$FNAME-f1.avi

cat $READYPH/$FNAME-f1.avi | nice -n $NICE mencoder - -ofps $FPS \ -ovc lavc -lavcopts vcodec=mpeg4:vpass=2:vhq:vbitrate=$BITRATE:vme=5:keyint=300:v4mv:mv0:qpel:trell :cbp:naq \ -vf scale=$SCW:$SCH,pp=hb/vb/dr -sws 2 \ -nosound \ -o /dev/null

nice -n $NICE avimerge -i $READYPH/$FNAME-f1.avi -p $READYPH/"sound-"$RUS".avi" \ -o ./$FNAME.$SCWx$SCH.avi

rm ./$READYPH/*.avi

===================================

baaba ★★★
()

Всех спасиб... буду читать man mencoder

anonymous
()

С предложенным скриптом не разобрался сваял свой: Если у кого есть дельные предложения буду благодарен.

#!/bin/sh

mencoder dvd://2 -oac copy -ovc copy -o name.vob # Скидываем на хард для ускорения процесса.

sleep 10 # Ждем 10 сек

mencoder dvd://2 -ovc lavc -lavcopts vcodec=mpeg4:vpass=1 -oac copy -o /dev/null

sleep 10

mencoder dvd://2 -ovc lavc -lavcopts vcodec=mpeg4:mbd=2:trell:vpass=2 \ -oac copy -o output.avi

rm name.vob

anonymous
()

mencoder + погугли, к нему есть ряд скриптов именно для рипа DVD

Paranoik
()
Ответ на: комментарий от anonymous

>С предложенным скриптом не разобрался сваял свой: Если у кого есть дельные предложения буду благодарен.

И как он, работает? Сообщи пожалуйста! Твой скрипт компактен.. но я, в свою очередь, с ним не разобрался..

- кодируем видео в два прохода, то есть два раза один и тот же файл менкодером, так учат знатоки;

- где звуковая дорожка?

Может лучше я скрипт, предложенный нормально прокомментирую..

#!/bin/bash

PH=/mnt/iso/video_ts # путь к файлам видео, поправить на своё, это может быть снятый и подмонтированный образ, если хочешь ускоряться..
READYPH=./tmp #место для временных файлов, конкретно надо создать папку темп в каталоге пользователя, так как скрипт я выполняю в каталоге пользователя
FNAME=Lenny.2 #название файла (Фильм про Ленни Рифеншталь)
SCW=640 # разрешение по горизонтали
SCH=360 # разрешение по вертикали
BITRATE=1600
NICE=15
ENG=129
RUS=128
FPS=25
DATE="`date +%H%M%d`"

# Снимаю звук, только русский
cat $PH/*vob | nice -n $NICE mencoder - -ofps $FPS -ni -aid $RUS \
-ovc frameno \
-oac mp3lame -lameopts vbr=3:br=192:q=0:aq=0 \
-o $READYPH/"sound-"$RUS".avi

# Кодирую видео первым проходом
cat $PH/*.vob | nice -n $NICE mencoder - -ofps $FPS \
-ovc lavc -lavcopts vcodec=mpeg4:vpass=1:vhq:vbitrate=$BITRATE:vme=5:keyint=300:v4mv:mv0:qpel:trell
:cbp:naq \
-vf scale=$SCW:$SCH,pp=hb/vb/dr -sws 2 \
-nosound \
-o $READYPH/$FNAME-f1.avi

# Кодирую видео вторым проходом
cat $READYPH/$FNAME-f1.avi | nice -n $NICE mencoder - -ofps $FPS \
-ovc lavc -lavcopts vcodec=mpeg4:vpass=2:vhq:vbitrate=$BITRATE:vme=5:keyint=300:v4mv:mv0:qpel:trell
:cbp:naq \
-vf scale=$SCW:$SCH,pp=hb/vb/dr -sws 2 \
-nosound \
-o /dev/null

# Склеиваю видео и звук
nice -n $NICE avimerge -i $READYPH/$FNAME-f1.avi -p $READYPH/"sound-"$RUS".avi" \
-o ./$FNAME.$SCWx$SCH.avi

# Удаляю файлы
==================================
Скрипт можно доработать, до полного автоматизма,
например монтирование образа и его снятие, если место есть на харде

И вообще, в твоём скрипте мало строк, это наводит на мысли..

baaba ★★★
()
Ответ на: комментарий от baaba

>И вообще, в твоём скрипте мало строк, это наводит на мысли.. Вполне логично т. к. не являюсь техническим специалистом, а неделю назад со словом консоль, ассоциировались лишь игровые приставки. Ваш скрипт: #!/bin/bash

PH=/media/DVD_VIDEO/VIDEO_TS # путь к файлам видео, поправить на своё, это может быть снятый и подмонтированный образ, если хочешь ускоряться.. READYPH=./tmp #место для временных файлов, конкретно надо создать папку темп в каталоге пользователя, так как скрипт я выполняю в каталоге пользователя FNAME=Sluga_gos #название файла SCW=640 # разрешение по горизонтали SCH=360 # разрешение по вертикали BITRATE=1600 NICE=15 ENG=129 RUS=128 FPS=25 DATE=`date +%H%M%d`

# Снимаю звук, только русский cat $PH/*VOB | nice -n $NICE mencoder - -ofps $FPS -ni -aid $RUS \ -ovc frameno \ -oac mp3lame -lameopts vbr=3:br=192:q=0:aq=0 \ -o $READYPH/"sound-"$RUS".avi"

# Кодирую видео первым проходом cat $PH/*.VOB | nice -n $NICE mencoder - -ofps $FPS \ -ovc lavc -lavcopts vcodec=mpeg4:vpass=1:vhq:vbitrate=$BITRATE:vme=5:keyint=300:v4mv:mv0:qpel:trell :cbp:naq \ -vf scale=$SCW:$SCH,pp=hb/vb/dr -sws 2 \ -nosound \ -o $READYPH/$FNAME-f1.avi

# Кодирую видео вторым проходом cat $READYPH/$FNAME-f1.avi | nice -n $NICE mencoder - -ofps $FPS \ -ovc lavc -lavcopts vcodec=mpeg4:vpass=2:vhq:vbitrate=$BITRATE:vme=5:keyint=300:v4mv:mv0:qpel:trell :cbp:naq \ -vf scale=$SCW:$SCH,pp=hb/vb/dr -sws 2 \ -nosound \ -o /dev/null

# Склеиваю видео и звук nice -n $NICE avimerge -i $READYPH/$FNAME-f1.avi -p $READYPH/"sound-"$RUS".avi" \ -o ./$FNAME.$SCWx$SCH.avi

# Удаляю файлы

И его вывод у меня: [medik@medik ~]$ /home/medik/grabtest MEncoder 1.0-1.rc1.20mdv2008.0-4.2.1 (C) 2000-2006 MPlayer Team CPU: Intel(R) Celeron(R) CPU 2.66GHz (Family: 15, Model: 4, Stepping: 9) CPUflags: Type: 15 MMX: 1 MMX2: 1 3DNow: 0 3DNow2: 0 SSE: 1 SSE2: 1 Compiled with runtime CPU detection. 98 audio & 216 video codecs MPlayer was compiled without libmp3lame support. -lameopts is not an MEncoder option

Exiting... (error parsing command line) MEncoder 1.0-1.rc1.20mdv2008.0-4.2.1 (C) 2000-2006 MPlayer Team CPU: Intel(R) Celeron(R) CPU 2.66GHz (Family: 15, Model: 4, Stepping: 9) CPUflags: Type: 15 MMX: 1 MMX2: 1 3DNow: 0 3DNow2: 0 SSE: 1 SSE2: 1 Compiled with runtime CPU detection. 98 audio & 216 video codecs

Exiting... (No output file specified, please see the -o option.) /home/medik/grabtest: line 25: :cbp:naq: command not found cat: ./tmp/Sluga_gos-f1.avi: Нет такого файла или каталога MEncoder 1.0-1.rc1.20mdv2008.0-4.2.1 (C) 2000-2006 MPlayer Team CPU: Intel(R) Celeron(R) CPU 2.66GHz (Family: 15, Model: 4, Stepping: 9) CPUflags: Type: 15 MMX: 1 MMX2: 1 3DNow: 0 3DNow2: 0 SSE: 1 SSE2: 1 Compiled with runtime CPU detection. 98 audio & 216 video codecs

Exiting... (No output file specified, please see the -o option.) /home/medik/grabtest: line 33: :cbp:naq: command not found nice: avimerge: Нет такого файла или каталога

anonymous
()

$ mplayer dvd://1 -dumpaudio -dumpvideo -dumpfile ./film1.avi

:-)

Neksys ★★★
()
Ответ на: комментарий от anonymous

Один моментик.. Данный скрипт, как и любой фронт-энд из КДЕ например, расчитан на то что в системе стоят пакеты mencoder transcode (avimerge это его утилита) lame (для кодирования звука)

То есть и фронт-энд и скрипт используют эти утилиты

Возможно что ogmrip и ManDVD так же фронтэнды, я точно не знаю.

По-этому, надо поставить эти пакеты (я кажется ничего не упустил), как это положено делать в твоём дистре.

baaba ★★★
()
Ответ на: комментарий от baaba

У меня стоят пакеты lame mencoder libmp3lame

Но mencoder продолжает ругаться на -lameopts mencoder ставил из официального репозитария mandriva 2008. Сейчас использую AcidRip с такими параметрами: #!/bin/sh echo "***********************************************************" echo "Automated script created by AcidRip - http://acidrip.sf.net" echo "***********************************************************" unlink frameno.avi 2> /dev/null mencoder dvd://2 -dvd-device /dev/dvd -aid 128 -info srcform="DVD ripped by acidrip.sf.net" -oac pcm -ovc lavc -lavcopts vcodec=mpeg4:vhq:v4mv:vqmin=2:vbitrate=788:vpass=1 -vf pp=de,crop=0:0:0:0,scale=480:-2 -o "/dev/null" mencoder dvd://2 -dvd-device /dev/dvd -aid 128 -info srcform="DVD ripped by acidrip.sf.net" -oac pcm -ovc lavc -lavcopts vcodec=mpeg4:vhq:v4mv:vqmin=2:vbitrate=788:vpass=2 -vf pp=de,crop=0:0:0:0,scale=480:-2 -o "/home/medik/smokin_aces.avi" unlink divx2pass.log 2> /dev/null

anonymous
()
Ответ на: комментарий от anonymous

Используй, пожалуйста, предпросмотр, userline brreak, например. А то трудно читать, нет переносов..

Ну и он работает? AcidRip? За сколько минут DVD грабится?
Сообщи о результатах, плз.!

Иван.

baaba ★★★
()
Ответ на: комментарий от baaba

>Используй, пожалуйста, предпросмотр, userline brreak, например. А то трудно читать, нет переносов..

Я не сразу понял что означают эти функции. ))

>Ну и он работает? AcidRip? За сколько минут DVD грабится? Сообщи о результатах, плз.!

Как я понял AcidRip генерирует скрипты для mencoder. Имеется предпросмотр. У меня dvd грабится в два прохода по ~60 мин. каждый.

Пример скрипта:

#!/bin/sh

unlink frameno.avi 2> /dev/null mencoder dvd://2 -dvd-device /dev/dvd -aid 128 -info srcform="DVD ripped by acidrip.sf.net" -oac pcm -ovc lavc -lavcopts vcodec=mpeg4:vhq:v4mv:vqmin=2:vbitrate=788:vpass=1 -vf pp=de,crop=0:0:0:0,scale=480:-2 -o "/dev/null"

mencoder dvd://2 -dvd-device /dev/dvd -aid 128 -info srcform="DVD ripped by acidrip.sf.net" -oac pcm -ovc lavc -lavcopts vcodec=mpeg4:vhq:v4mv:vqmin=2:vbitrate=788:vpass=2 -vf pp=de,crop=0:0:0:0,scale=480:-2 -o "/home/medik/smokin_aces.avi" unlink divx2pass.log 2> /dev/null

anonymous
()
Ответ на: комментарий от anonymous

mokin_aces.avi - Что за фильм? "medik" - забавное имя юзера :) 60 мин на проход? У меня 114 мин на проход.. навеное это очень долго.. :( . Какое у тебя железо? У меня Pendium D 805, 2.6 Ггц, 1 гиг оперативки..

baaba ★★★
()
Ответ на: комментарий от baaba

>"medik" - забавное имя юзера :)

Это не имя, а профессия.

Фильм "Козырные тузы". Время скорее всего сильно зависит от параметров кодирования. + я укзал примерное время т. к. фильм ещё грабится. Первый проход был 68 минут.

Celeron 2.66 2 gb ram

anonymous
()
Ответ на: комментарий от anonymous

Может кто подскажет команду для скрипта позволяющую оценить время выполнения скрипта (грабим dvd)

anonymous
()
Ответ на: комментарий от baaba

или так: time ./muscript.sh или так time /полный_путь/muscript.sh При этом у пользователя должны быть права на выполнения скрипта, и комманды в скрипте такие, которые может выполнять пользователь, плюс место, где скрипт выполняется, должно позволять ему выполняться. Ну это по моему пониманию..

baaba ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.