Я не касаюсь качества кодирования, тем более что в архиве есть заметка про двухпроходное кодирование.
Берем DVD, монтируем его как файловую систему, и переносим содержимое
как файлы на диск. Очень удобно, если DVD невысокого качества и у него
время от времени возникают ошибки чтения. Если по несколько раз
монтировать/размонтировать плохой диск, то по частям удается скопировать
его полностью.mount /dev/dv /mnt/dvd
cp /mnt/dvd /home/DVDrip
В итоге, в файле /home/DVDrip появятся директории VIDEO_TS и AUDIO_TS.
После этого DVD можно проигрывать с жесткого диска командой:
mplayer dvd:// -dvd-device /home/DVDrip
Предположим, у диска есть несколько звуковых дорожек (с дубляжом и без)
и несколько субтитров (русские-английские). Задача - разодрать DVD на
два avi (с разными звуковыми дорожками, поскольку контейнер avi не
позволяет иметь одновременно несколько дорожек) и отдельно иметь русские
и английские субтитры.
В первую очередь выясним размер черной рамки на DVD.
Для этого запустим DVD с середины и запустим автоматическое определение полей:
mplayer dvd://1 -dvd-device ./ -vf cropdetect -ss 50:00
Кодирование самого видео можно сделать с помощью двухпроходного
кодирования два раза для каждого из языков. При этом первый проход можно
сделать всего один раз (в итоге получится трёхпроходное кодирование):
mencoder dvd:// -dvd-device /home/DVDrip -vf crop=688:320:24:130 -oac lavc -ovc lavc \
-lavcopts vcodec=mpeg4:vhq:vqmin=2:autoaspect:v4mv:mbd=2:trell:vpass=1 -o /dev/null
(единственный результат сего действа файл divx.log , используемый при
вторых проходах)
mencoder dvd:// -dvd-device /home/DVDrip -alang=ru \
-vf crop=688:320:24:130 -oac lavc -ovc lavc \
-lavcopts vcodec=mpeg4:vhq:vqmin=2:autoaspect:v4mv:mbd=2:trell:vpass=1 -o out[ru].avi
mencoder dvd:// -dvd-device /home/DVDrip -alang=en \
-vf crop=688:320:24:130 -oac lavc -ovc lavc \
-lavcopts vcodec=mpeg4:vhq:vqmin=2:autoaspect:v4mv:mbd=2:trell:vpass=2 -o out[en].avi
(качества звука и видео я не касаюсь, пусть они будут на вашей совести)
Т.е. теперь есть две авишки (out[ru].avi/out[en].avi) - с дубляжом и
без.
Я люблю смотреть заграничные фильмы без дубляжа, но поскольку не
слишком хорошо знаю язык,
то предпочитаю иметь перед глазами субтитры.
Субтитры в формате vobsub выдрать из DVD легко, но они будут храниться в
виде картинок, а не текста. Их размер примерно 4-2 МБ. Если для вас это
некритично,
то можно остановится на этом, иначе можно попробовать их OCR-ить, что не слишком
легко организовать под Линуксом.
Итак:
mencoder -alang en -slang en -dvd-device /home/DVDrip dvd:// -ovc copy \
-oac copy -o /dev/null -vobsubout subtitles-en
mencoder -alang en -slang ru -dvd-device /home/DVDrip dvd:// -ovc copy \
-oac copy -o /dev/null -vobsubout subtitles-ru
В итоге получится по паре файлов с расширениями .sub и .idx
Вообщем-то, не каждый медиа-проигрыватель понимает это формат, но с mplayer-ом в этом смысле всё в порядке:
mplayer out[en].avi -vobsub subtitles-ru -spuaa 4
Заметьте, что в параметре vobsub субтитры должны быть указаны без расширения,
а spuaa включает интенсивное сглаживание субтитров.
URL:
Обсуждается: http://www.opennet.dev/tips/info/1551.shtml