iso2mkv : превръща DVD в компресирано видео чрез MPlayer/MEncoder
Изтегляне на iso2mkv, версия 2007-04-25, 8 kB
Програмата е с команден ред: много проста и лесна за употреба, и бърза, обаче работи в терминал (не се изненадвайте). Също така, работи само в ГНУ/Линукс и вероятно други съвременни операционни системи (в Windows няма да работи).
В процес на изработване. Няма никаква гаранция.
Повече и по-актуална информация има на английската страница.
Скрипт на шел/bash. Работи с mplayer, lame|oggenc, mencoder и mkvmerge (ако не са инсталирани заедно с всички зависимости, няма да работи).
Позволява почти пълен контрол на процеса на компресиране на видео с максимално качество, като се стреми да остане много проста и лесна за употреба.
Неща, които прави:
- Може да работи направо от устройство (/dev/hdc), изображение (film.iso), директория със сваленото DVD (VIDEO_TS), списък с VOB- или MPEG-файлове
- Автоматизирано изчисляване и компресиране на видеото с XviD.
- Компресиране на аудио-пистите до mp3 или ogg-vorbis.
- Компресиране на една или няколко аудио-писти (примерно оригинал, превод, коментари на режисьора) или нито една.
- Извличане на субтитрите във формат VOBsub (една или няколко писти, или нито една)
- Предварително задаване на крайния размер на файловете и/или разцепване на части.
- Избор на качеството на компресия на видеото и на звуковите писти.
- Зони на по-ниско качество за видеото в началото и в края на филма (трябва MEncoder CVS).
- Възможност за прекъсване и продължаване на целия процес, примерно друг ден или в друга директория.
- Скриптът не предпазва от потребителски грешки: прочетете го и проверете имате ли права за писане и достатъчно дисково пространство.
Неща, които още не прави, но вероятно ще бъдат добавени в бъдеще:
- За момента някои идеи/желания не работят, понеже програмата не може да разбере колко е дълъг филмът (като време). Работя по този въпрос. (не спешно, трудно)
- Запис с кодек, различен от XviD. (не спешно, средно трудно)
- Запис на звука с AC3. (не спешно, средно трудно)
- Запис в друг контейнер за видео (avi, ogg, ogm); въпреки че MKV e най-добър, някой може да иска да гледа филма на телевизора си през MPEG4-устройство, а не знам за такива, които поддържат MKV, повечето показват само AVI/MP3 (средно спешно, средно трудно)
Ето и описанията на командите:
iso2mkv настройки
Основни настройки:
По-актуална информация за новите версии има на английската страница.
- -o /output-path/basename - път и име на файловете, които ще се правят, по подразбиране: ./video; ще създаде файлове /output-path/basename.mkv, /output-path/basename.sub и др.
- -d /path/to/dvd-device/or/iso/or/dir - задължително, пътят до устройството (примерно /dev/hdc), свалено изображение (film.iso) или директория със сваленото DVD (примерно с vobcopy или dvdbackup, в режим "mirror"; в нея би трябвало да има папка VIDEO_TS).
- -T Title - номера на заглавието, което да се прави, по подразбиране: 1
- -a "език език ..." - аудио-пистите, които да се извличат, отделени с интервали, по подразбиране "128" (което обикновено е пистата с оригиналния звук), може да бъдат или двубуквени кодове, или номерата на пистите в ДВД-то, примерно "en fr 128 0x81"
- -s "sub sub ..." - субтитрите, които да се извличат, отделени с интервали, по подразбиране "0 1"; може да бъде двубуквен код на езика: en, fr, или писта: 0-32
- -c "crop parameters" - параметри за изрязване на картината (черните ленти по краищата), за -vf, примерно "704:416:8:80"; ако няма (и не е зададено -C), програмата ще стартира mplayer -vf cropdetect, за да можете да го копирате.
- -b bitrate - качеството на видеото в kbit/s, по подразбиране: 900
- -t filesize - общ размер на файловете в MB; ако не е зададен, ще ползва горната настройка за качество.
Допълнителни настройки:
По-актуална информация за новите версии има на английската страница.
- -V "VTS_04*.VOB" - (с кавичките) VOB-режим, извлича филма от отделни VOB-файлове вместо от окомплектовано ДВД; без път (зададен е при "-d"); без криптирани файлове; този режим не се препоръчва, за най-добри резултати свалете цялото ДВД (с vobcopy -m) и ползвайте настройката -Т
- -m mp3-bitrate - примерно -m 128 - казва, че звукът трябва да се кодира с MP3 CBR и задава качеството; иначе, по подразбиране звукът се кодира с ogg-vorbis.
- -v vorbis-quality - задава качеството на звука във формат OGG Vorbis, по подразбиране: 4
- -C - изрязването на картината (-vf crop) е тествано и няма нужда да се показва или предупреждава
- -u "min:sec" - началото на теста за изрязване на картината, по подразбиране: "6:0" (за по-кратки филми/клипове се пише примерно -u 30 за 30-тата секунда)
- -k - Продължение на предишна сесия, тоест, не се правят наново файлове, които вече съществуват в целевата директория; за целта просто добавете към последния команден ред опцията "-k"
- -A - да не се извлича звукът (ако няма, или ако вече е извлечен)
- -S - да не се извличат субтитрите
- -p - да не се прави първи "пасаж" (pass 1) на изчислението на видеото, ако примерно вече има; целта е ако примерно резултатът не е задоволителен, можете да пуснете отново само второто кодиране, с различно качество (ползвайте командите -A -S -p). Файлът divx2pass.log трябва да се намира в работната директория, където е стартиран скрипта
- -P - да не се прави втори "пасаж" (pass 2) на изчислението на видеото
- -M - да не се обединяват видеото и аудиото
- -W s - изчакване на "s" секунди между различните действия; ако s > 0, можете да отидете да спите или другаде, като всичко ще се направи автоматично; ако няма -W или s=0, след всяко действие (субтитър, аудио-писта, видео-кодиране) ще спира и ще чака да натиснете Enter (полезно за търсене на грешки)
- -x blah - допълнителни (добавени) настройки за xvidencopts, примерно "cartoon[:other]", по подразбиране е само: turbo:pass=%d
- -X blah - допълнителни (добавени) настройки за pass2 xvidencopts, примерно "cartoon[:other]", по подразбиране е само: turbo:pass=2:bitrate=%d
- -n 19 - намаляване на приоритета на програмите, по подразбиране: 19 (най-ниския, за да не пречи на другите неща, които правите)
- -N - без промяна на приоритета
- -D - изтриване на временните WAV -файлове (другите не се изтриват за всеки случай)
Настройки за качество по зони: (по-актуална информация за новите версии има на английската страница)
- Тези настройки ще работят само с нови версии на MEncoder (в момента е само от CVS). За разлика от Уиндоската XviD, тук засега има по-малко възможности (примерно не може да се зададе дадена зона да е черно-бяла). А и пак с цел опростяване, програмата приема само две стойности, на началото и на края на филма с нормално качество (ако трябва друго, може да се добави по-горе на -x и -X).
- -r fps - кадри в секунда, по подразбиране 25.000 (mplayer го изписва, като гледате филма)
- -w weight - ниво на ниското качество, 0.01-2.00; по подразбиране: 0.15 (за основния филм качеството е 1.0)
- -z "start end" - 'simpe zone', High Quality Zone start-end time (if the format is min:sec or hour:min:sec) or frame(if it is a number); example:
-z "1:0 1:33:45" (1min→1h33m45s);
-z "1500 1:33:45" (1min=1500frames@25fps→1h33m45s)
- -Z "z1[=w1] z2[=w2] ..." - 'advanced zone': start[=weight], start can be
time(min:sec or hour:min:sec) or frame(number); weight is [0.01-2.00], default 1.
example:
-Z "0=0.2 1:32 1:40:33=0.15" (the 1:32 is the same as 1:32=1)
Значи, ето как протича всичко.
iso2mkv -o "./popeye" -d "/mnt/hda8/temp-rip/POPEYE_1938" -T 2 -a "en" -s "bg en fr" -t 703
Това указва, че файловете ще се записват (-o) в текущата директория и ще се казват "popeye.mkv", "popeye.sub" и др. ДВД-то се намира (-d) в директорията "/mnt/hda8/temp-rip/POPEYE_1938" (където трябва да има VIDEO_TS и вътре разни .VOB, .IFO). Ще се прави второто заглавие (-T 2), ще се извлича звука на английски (-a "en") и субтитрите (-s) на български, английски и френски, в този ред. Общият размер (-t) на файловете (.mkv, .sub, .idx) ще се опита да не надмине 703 мега-байта. Понеже не е избрано друго, звукът "en" по подразбиране ще се компресира до ogg-vorbis с качество 4.
Като стартирате програмата, ако не сте задали примерно -c "720:416:0:80", ще се отвори mplayer със следните настройки: -verbose -vf cropdetect на 45-тата секунда от филма. По тоя начин ще можете да проверите няколко неща: дали е избрано правилно мястото на DVD-то и заглавието, и да отбележите субтитрите и настройките за изрязване (-vf crop).
Ако трябва, си променете тези настройки. За да стартирате програмата в нормален режим, трябва да имате на командния ред или -c "нещо" (има изрязване), или -C -c "нещо" (няма нужда от проверка, има изрязване), или -C (няма нужда от проверка, няма изрязване).
iso2mkv -o "./popeye" -d "/mnt/hda8/temp-rip/POPEYE_1938" -T 2 -a "en" -s "bg en fr" -t 703 -c "720:416:0:80"
Тест на изрязването. Сега, ако не сте избрали -C, ще се появи отново mplayer, тоя път с избраните настройки за изрязване, просто за проверка. Натиснете "q", за да го затворите. Ако е добре, натискате Enter, ако не - Ctrl+C и отново правите промени.
След това извличането започва: първо субтитрите, един по един, после аудио-пистите, една по една се извличат и компресират, после всяко от двете кодирания на видео-пистата и накрая се обединяват видеото (XviD) и аудиото в един общ файл .MKV (матрьошка видео).
Накрая, файловете, които ви трябват, са "popeye.mkv", "popeye.sub" и "popeye.idx".
Примерен команден ред за VOB-режима (-V):
iso2mkv -o "./popeye" -d "/opt/rip/VIDEO_TS" -V "VTS*.VOB" -a "128 129" -s "0 1"
Означава, че филмът е бил рипнат/декриптиран (с vobcopy или dvdbackup) и VOB-файловете са /opt/rip/VIDEO_TS/VTS*.VOB; две аудио писти (128 129) и две субтитри (0 1) ще бъдат добавени.
Допълнителна информация
Новите настройки, няколко примера, подобни програми и др. има описани на английската страница на програмата.
Този скрипт се разпространява с лиценза на MIT. Няма никаква гаранция.