Подробнее расскажу тока про FlasKMPEG, мне она больше всего понравилась.
При первом запуске FlaskMPEG попросит выбрать язык интерфейса. Языков достаточно много, в том числе и весьма экзотические. Но русского нет.
После того как язык выбран, запустится сама программа.
Нажимаем на File, и выбираем Open DVD или Open File. Опция Open DVD не означает, что надо открывать именно DVD диск, она означает что Flask должен работать в DVD режиме. В этом режиме Flask открывает не *.vob, а *.ifo файл, и так же как и плеер руководствуется информацией содержащейся в этом файле для определения местонахождения звуковых дорожек, субтитров, длины фильма. Там всё достаточно очевидно, поэтому проблем возникнуть не должно. Естественно, для использования этого режима при чтении фильма с жёсткого диска необходимо позаботиться о том, что бы кроме *.vob файлов скопировать и *.ifo файл, относящийся к фильму. Если вы решите рипать фильм прямо с DVD диска, то обязательно авторизируйте диск перед запуском Flask. Если этого не сделать, то Flask обрушится с непонятной ошибкой.
Опция Open File означает, что Flask будет работать прямо с *.vob файлами. Укажите ему первую часть фильма, и Flask "возьмёт в оборот" все остальные части относящиеся к первому *.vob автоматически. После этого должно открыться окно, в котором предложат выбрать нужную аудиодорожку, по числовому коду. Определить, какая дорожка на каком языке, можно несколькими способами. Можно запустить фильм на проигрывание, и попробовать поменять язык в процессе. Не на всех дисках можно это делать после того, как фильм запустился на проигрывание, но, по крайней мере, вы всё равно должны увидеть список из доступных языков. Запомните в каком порядке они идут, и используйте этот порядок при выборе соответствующей аудиодорожки Кроме этого, для определения где есть что можно воспользоваться соответствующим программным обеспечением, которое будет описано ниже.
Иногда Flask не даёт выбрать дорожку, по не совсем понятной мне причине. В этом случае будет использована первая по счёту аудиодорожка, поэтому если вы точно знаете, что фильм записан с несколькими audio трэками (как обычно и бывает), и хотите быть уверенными что будет использована нужная дорожка, то лучше используйте DVD режим.
После того, как диск открыт, необходимо настроить энкодер. Жмём на Options, и выбираем там Output Format Options. Откроется окно, в котором можно выбрать кодеки, с помощью которых будет кодироваться конечный фильм. Жмём на кнопку Select Codec для видеоряда, и откроется окно, в котором можно выбрать желаемый кодек. Если в вашей системе правильно установлен Divx кодек (а это должно быть так, если вы собираетесь смотреть и записывать фильмы на своём компьютере), то среди вариантов кодеков будут "DivX ;) MPEG-4 Low-Motion" и "DivX ;) MPEG-4 Fast-Motion". Они отличаются тем, что Low-Motion лучше оптимизирован для медленно меняющихся сцен, а Fast-Motion оптимизирован под быстро меняющиеся, динамичные сцены. Соответственно, Low-Motion плохо (с ярко выраженными квадратами) показывает быстро меняющиеся сцены, и наоборот. В связи с тем, что даже в самом динамичном фильме не менее 70% времени (и это ещё сильно заниженная оценка) приходится на относительно спокойные сцены, то я бы советовал ВСЕГДА использовать Low-Motion кодек.
После выбора кодека, в том же окне нажмите кнопку Configure, и окажитесь в окне, где можно настроить некоторые параметры кодека. Первый настраиваемый параметр, выставляет промежуток между ключевыми кадрами (keyframes). Ключевые кадры используются для навигации по фильму и, что гораздо важнее, для синхронизации видео и звука. Поэтому, я советую выставить это значение в 1 секунду вместо 10, что стоят по умолчанию. Иногда можно встретить мнение, что слишком большое количество ключевых кадров приводит к падению производительности при проигрывании фильма. Лично я не заметил никаких подтверждений этому "факту". Зато очень хорошо заметны проблемы с синхронизацией звука с видео и сложность навигации, поэтому я ещё раз повторяю свою рекомендацию, ставьте keyframe каждую секунду. Кроме количества ключевых кадров можно попробовать поменять bitrate. Увеличение этого числа приведёт к увеличению итогового размера файла с фильмом, зато благотворно скажется на качестве, а уменьшение, соответственно, уменьшит размер, но ухудшит качество.
Для начала небольшая вводная лекция о битрейте, разрешении, и качестве. Битрейт определяет максимальное количество данных, которое может быть сгенерировано фильмом за определённое время. Битрейт устанавливается один раз, и именно он потом определяет, с каким качеством будет закодирован фильм.
Основные принципы которые необходимо понимать выбирая битрейт, просты. Чем меньше кадров в секунду имеет фильм, тем больший объём данных приходится на каждый конкретный кадр. Чем меньше разрешение фильма, тем более тщательной обработке подвергается каждый пиксель, и тем выше качество изображения. С количеством кадров в секунду особо не побалуешься, потому что могут возникнуть серьёзные проблемы с синхронизацией. Для PAL формата лучше вообще ничего не менять, и делать Divx фильм с "родным" количеством FPS, 25 кадров в секунду. Другое дело NTSC формат, в нём можно без всякого ущерба уменьшить количество FPS с оригинальных 30 до 23.976, что я и советую делать.
С изменением разрешения фильма имеется гораздо более широкий простор для деятельности, поэтому остановимся на этом вопросе подробнее. Когда битрейт установлен, то на каждый кадр приходится определённое количество информации, и увеличив или уменьшив размер кадра вы добъётесь только того, что на каждую отдельную точку будет приходиться больше или меньше данных. Чем данных больше, тем более тщательно обрабатывается точка, и тем выше качество картинки. Таким образом, если вдвое увеличить разрешение, то для получения такой же тщательности обработки каждого пикселя, битрейт придётся увеличить в четыре раза. Самое интересное, что при этом вы вовсе не обязательно добъётесь в двух или четырех кратного улучшения изображнеия. При масштабировании Divx не весь экран далеко не всегда можно с уверенностью отличить 640*480 от 480 *360. Поэтому очень часто фильмы записанные с более низким разрешением и более низким битрейтом, при просмотре в полноэкранном режиме выглядят гораздо лучше, чем те же фильмы в более высоком разрешением, и большим битрейтом. При этом, первый вариант, с низким разрешением и битрейтом ещё имеет и меньший размер файла. Вооружённые этими знаниями, вернёмся к нашим настройкам.
Итак, значение битрейт 910 kbit/sec, стоящее по умолчанию, даёт неплохое качество при приемлемых размерах файлов, и рассчитано на разрешение 512*384, или где-то близко к этому. Иногда встречаются фильмы, когда на такое разрешение ставят битрейт 1600-2100 kbit/sec. Кроме желания добиться оптимального качества, битрейт меняют тогда, когда хотят уложиться в определённый размер итогового файла (например, что бы уместить его на один CD). На самом деле нет способа, с помощью которого можно абсолютно точно вычислить размер конечного файла. Но примерно прикинуть можно. Всё что для этого надо, это перемножить битрейт на длину фильма в секундах. Не забудьте, только, поделить битрейт на 8, что бы получить значение не в БИТАХ в секунду, а в БАЙТАХ.
Выбрав видеокодек, надо выбрать звуковой кодек. Как показала моя практика, именно с реализацией звукового сопровождения бывает больше всего проблем. Несмотря на все усилия программистов работающих над Flask, он не лишён недостатков, и на разных компьютерах работает по разному, проявляя самые различные баги. Плюс существует немало модифицированных версий Flask, каждая работает по своему, и имеет свои уникальные баги. Наиболее часто эти баги проявляются именно в работе со звуком. Выбирая audiocodec наиболее логичным выбором было бы выбрать Divx ;) Audio, но выбор этот не лучший - качество звука не выдерживает никакой критики. Предпочтительней выбрать Mpeg Layer-3, более известный как MP3.
Сделав это, после кодировки можно получить сразу готовый фильм. Это в теории.
А на практике это не всегда так, и после многочасового кодирования можно получить файл, в котором звука либо не будет вообще, либо он будет записан неправильно. К тому же, возможна ситуация, когда этот файл не будет проигрываться стандартными плеерами. Причин этого печального явления я не знаю, возможно проблема не столько в Flask'e сколько во внешних аудиокодеках, используемых Flask'ом. Хотя, те же самые кодеки можно использовать в других программах, без таких проблем.
А пока, наилучшим выбором будет вообще не декодировать звук на этом этапе, и сбросить его на диск в том виде, в каком он записан на DVD диске. Про то, как это сделать будет написано ниже. Если же вы всё-таки хотите делать всё сразу, то ещё раз повторяю свой совет, перед тем как работать с самим фильмом, выберите какой-нибудь короткий ролик минуты на 2-3, и поэкспериментируйте на нём. Но учтите, что в силу каких то своих особенностей, flask может сглючить, если в него без перезагрузки загрузить несколько роликов подряд. Поэтому, после каждого эксперимента будет не лишним перезагрузить flask, а перед кодированием самого фильма желательно вообще перезагрузить компьютер.
Кроме выбора кодеков, в этом же окне можно выбрать несколько других опций. Пометив чекбокс Enable Watermark, получите возможность загрузить собственный логотип, который наложится поверх закодированного фильма, и которым Вы сможете помечать закодированные вами фильмы. Flask позволяет определить координаты, по которым логотип должен отображаться, и метод, по которому он будет налаживаться. Это Alpha, когда логотип становится полупрозрачным, Mask, когда прозрачными становятся только некоторые области, и Copy, когда логотип накладывается именно в том виде, в котором он нарисован.
Ещё одной опцией, выставляемой в этом окне, является возможность указать flask'у, что бы он разбивал полученный фильм на несколько частей заданной длины. К сожалению, длина задаётся не в килобайтах, а в секундах.
Закончив с окном Output Format Options, можно переходить к пункту Global Project Options (Export Movie Settings), в котором, как видно из названия, находится всё самое интересное.
Первой закладкой в открывшемся окне является Video.
Это окно разбито на несколько разделов. В первом из них можно выбрать разрешение, которое должен иметь итоговый фильм. Каких либо однозначных рецептов какими должны быть эти цифры, как уже говорилось, нет. Подробнее про то, на что надо ориентироваться выбирая разрешение, читайте несколько выше, раздел о битрейте, разрешении и качестве. Здесь добавить можно только то, что чем выше разрешение, тем мощнее компьютер понадобиться для того, что бы проиграть фильм без тормозов. Единственным условием, которое надо соблюсти, это правильные пропорции. Набор стандартных разрешений, которые используются при кодировании большинства фильмов, таков:
* 1:2.35 movies: 720x304, 640x272, 576x248, 512x216, 480x208, 400x168
* 1:1.85 movies: 720x392, 640x344, 576x312, 512x280, 480x256, 400x216
* 1:1.33 movies: 720x540, 640x480, 576x432, 512x384, 480x360, 400x300
Что бы не ошибиться ненароком, нажмите на кнопку Show Out Pad, и откроется окно со случайно выбранным из фильма кадром, на котором сможете поизменять размеры и посмотреть, что получится.
После того, как выбрано и проверенно желаемое разрешение, можно выбрать iDTC (Inverse Discrete Cosine Transform) опцию. Эта опция определяет алгоритм, который будет использоваться при декодировании mpeg потока идущего с DVD диска. По умолчанию здесь стоит MMX iDTC, что является лучшим выбором. Конечно, при том условии, что ваш процессор поддерживает MMX инструкции. С другой стороны, если он не поддерживает (а если вы сумели запустить Flask, то это значит что ваш CPU в лучшем случае iPPro 220 Mhz), то я бы вообще не советовал заниматься рипаньем DVD, и серьёзно подумать об апгрейде.
Следующей опцией, доступной для редактирования, является fps, количество кадров в секунду. Зависит оно от того, под какую систему рассчитан фильм, 25 кадров для PAL фильмов и 30 для NTSC. Обычно flask самостоятельно определяет это значение, и ничего изменять здесь не приходится. Как уже говорилось, можно уменьшить это значение до 23.976 для NTSC фильмов, что бы с бОльшей пользой использовать драгоценный битрейт, и не стоит менять это значение с 25 для PAL фильмов, иначе вполне вероятно, что придётся решать проблемы с синхронизацией.
Последним разделом в этом окне является раздел Video Structure. Большинство фильмов на DVD записано в прогрессивном виде и при их декодировании не требуется ничего менять в этой опции. Другое дело рекламные ролики, предназначенные для показа по телевизору, зачастую они записаны в чрезстрочном виде. Если ролик разбит по bob алгоритму, то для получения исходной картинки достаточно просто отметить чекбокс reconstruct progressive image. Если использован weave, то придётся воспользоваться опцией Deinterlace video. Значение Threshold придётся подбирать экспериментальным путём, в каждом конкретном случае, я, обычно, начинаю со значения 10.
Следующая закладка Audio.
Если хотите получить сразу готовый файл, отметьте пункт Decode audio, и надейтесь на то, что ничего не сглючит, и вы получите нормально закодированный фильм без проблем с синхронизацией

Если есть желание несколько обезопасить себя то выбирайте пункт Direct stream copy, с помощью которого сохраните звуковую дорожку именно в том виде, в котором она записана на DVD. Я предпочитаю этот метод по нескольким причинам. Во-первых, аудио и видео можно соединить и потом, причём аудио при этом можно сжать каким угодно алгоритмом. Кодирование только одного аудио занимает в несколько раз меньше времени, чем кодирование видео, поэтому я предпочитаю потратить лишнее время на работу с аудиопотоком, но быть настолько уверенным, насколько это возможно, что самый долгий этап в рипаньи фильма, кодирование видео, пройдёт без малейших проблем. К тому же, если что-либо пойдёт не так, то не придётся переделывать всю работу, а только часть. И как я уже говорил выше, именно кодирование звука чаще всего приводит к проблемам. Второй причиной, по которой я пользуюсь этим методом, является возможность использовать в готовом фильме оригинальную, многоканальную *.ac3 дорожку. В этом случае, используя для просмотра Divx фильма плеер, который понимает этот *.ac3, и умеет разводить его по разным каналам (например PowerDVD), можно получить такой же качественный звук, как был на оригинальном DVD диске. Очевидным минусом этого метода является значительно больший размер файла.
Если вам не надо декодировать аудио вообще, отметьте пункт Don't process audio.
Кроме всего вышеперечисленного, необходимо отметить чекбокс Same as input в разделе Sampling frequency. Из-за какой то ошибки flask не всегда может правильно определить sampling rate, поэтому, если так случилось, снимите этот флажок, поменяйте значение на правильное (для DVD фильмов обычно это 48000), и поставьте его снова. В итоговом фильме, часто используется sampling rate 44100, для уменьшения размеров файла при практически незаметном падении качества, но flask и так не всегда работает так, как от него ожидают, поэтому не стоит предоставлять ему возможность сглючить ещё и в этом месте. Впрочем, если ваши эксперименты покажут, что flask работает нормально, то можете снять чекбокс Same as input, и попросить flask что бы он менял samping rate в готовом фильме на требуюемую.
Следующая закладка называется Post Processing.
Первой опцией, доступной здесь, является Resizing Quality Options, она определяет какой алгоритм будет использоваться для изменения размера картинки с оригинального, до того, что вы задали на закладке Video. Посоветовать, какой из них использовать достаточно сложно, каждый должен решить этот вопрос сам для себя, опытным путём. Лично я всегда использую HQ Bicubic Filtering.
Следующий раздел, Letterbox, Cropping and Aspect Options. В этом разделе вы можете обрезать "лишние" части изображения. Обычно это чёрные полосы сверху и снизу, которые обрезаются для того, что бы не тратить на них битрейт понапрасну.
Настройки этих режимов достаточно очевидны, стоит только нажать на кнопку Show output pad.
* Crop. Уствновив флажок в этом чекбоксе Вам становятся доступны следующие операци.
* Top offset - сдвиг изображения вверх (+) или вниз (-). Используется когда обрезана или затенена часть кадра.
* Height - обрезает изображение по высоте, (+) отрезать, (-) добавить.
* Left offset - сдвиг изображения влево (+) или вправо (-). Используется когда обрезана или затенена часть кадра.
* Width - обрезает изображение по ширине, (+) отрезать, (-) добавить.
* Letterbox. Установив флажок в этом чекбоксе Вам становятся доступны функции затенения части изображения.
* Top - добавляет (+) или убирает (-) чёрную полосу затеняющую изображение сверху.
* Botton - добавляет (+) или убирает (-) чёрную полосу затеняющую изображение снизу.
* Left - добавляет (+) или убирает (-) чёрную полосу затеняющую изображение слева.
* Right - добавляет (+) или убирает (-) чёрную полосу затеняющую изображение справа.
Осталось только посоветовать не пытаться отрезать чёрные полосы полностью. И, как обычно, не сильно удивляйтесь, что эти опции не будут толком работать

Следующая закладка, Files.
На этой закладке можно выбрать куда следует записывать конечный фильм, и имя файла, а так же куда под каким именем следует записывать аудиопоток если, конечно, вы выбрали опцию записи аудиопотока в отдельный файл (Direct stream copy).
Изменения доступные здесь на столько очевидны, что вряд ли нуждаются в дополнительных комментариях.
Последней доступной закладкой является закладка General.
На этой закладке можно ограничить размер компилируемого файла по секундам или по кадрам, и если хотите закодить целый фильм, то нет никаких причин снимать галочку с чекбокса Compile whole file, стоящую по умолчанию. Чисто теоретически, flask может не закодить фильм до конца, даже если отмеченно Complie whole file, и тогда может помочь выставление количества кадров которые необходимо закодить вручную, но я с такой необходимостью ещё ни разу не сталкивался.
Следующим доступным для модификации пунктом является Search size, увеличение которого, по утверждению авторов программы, должно помочь, если возникают проблемы с пропавшими аудио или видео дорожками в полученном файле. Но если воспользоваться моими рекомендациями, и кодировать видео и звук отдельно, в отдельные файлы, то вряд ли вы испытаете такие проблемы. Если мой совет по какой то причине не подходит, то оптимальное значение этого параметра придётся подбирать самостоятельно, эксперементальным путём. Попробуйте начать с 7500.
Последний пункт позволяет указать компьютеру необходимость вылючиться после того как работа flask будет завершенна. Само собой, эта функция корректно работает только на машинах с ATX form factor'ом.
После того, как сделаны все необходимы настройки, наконец то можно переходить к меню Run. Через это меню можно запустить Player, представляющий из себя примитивный и жутко тормозной DVD плеер, встроенный в flask, который используется только для того, что бы определить место, с которого следует начать кодирование фильма, что используется только в том случае, когда Вы не хотите кодировать весь фильм целиком. Когда ВСЁ выбрано можно, наконец то, выбрать пункт Start conversion, и приступить к кодированию самого фильма. В этом месте не будет лишним ещё раз повторить мою рекомендацию, перед тем как кодировать фильм, перезагрузите компьютер, во избежание лишних проблем.
Итак, после запуска конверсии фильма, если всё было настроено правильно, откроется два новых окна.
В одном окне указываются основные параметры кодированного фильма.
Вторым окном, открывающимся после начала конверсии, является окно показывающее кадры фильма которые кодируются в реальном времени.
Фух, вродебы все.... :lol: :lol: :lol: :lol: :lol: