Переделка меню на DVD - пособие в картинках, Убавить, добавить? А подсветку сделать?
Привет, Гость ( Вход | Регистрация )
Клуб Янча Трекер КВН ВиКи Правообладателям | Помощь Поиск Участники Календарь |
Переделка меню на DVD - пособие в картинках, Убавить, добавить? А подсветку сделать?
altar |
Четверг, 18 Октября 2007, 1:36
Сообщение
#1
|
DVD гуру Группа: Team RDA Сообщений: 549 Регистрация: 02 Мар '06 Откуда: Страна Америчка 2 Юзер Цитировать |
Руководство в процессе написания. Пока выкладываются скрины и идут наброски. Закончена только 1-я часть.
Большинство "передельщиков", которых знаю, тусуются здесь. Здесь и выкладываю в первую очередь - в расчете на критику. Написано с использованием материалов многих форумов, особенно doom9. Ну, и мои практические наработки. Часть 1, простая. Убираем кнопки в статичном меню. Обычная история, скачали DVD-9, в котором полно рекламы или неинтересных допов. После их удаления (разумеется, с помощью DVD Remake Pro), остается DVD-5. Все хорошо, но в меню остается кнопка, ведущая к удаленному материалу. Кнопку деактивировать легко. Но хочется, чтобы ее в меню вообще не было. Используемый инструментарий: DVD Remake Pro (3.5.3 и выше), MuxMan (0.18.10 и выше), Photoshop (или подобный редактор)
Отредактировано: altar в Понедельник, 22 Октября 2007, 6:07 -------------------- Бог создал дураков и гусей, чтобы было кого дразнить (Л.Д. Ландау)
|
altar |
Четверг, 18 Октября 2007, 6:44
Сообщение
#2
|
DVD гуру Группа: Team RDA Сообщений: 549 Регистрация: 02 Мар '06 Откуда: Страна Америчка 2 Юзер Цитировать |
Часть 2, похитрее. Кнопки добавляются, подсветка появляется, команды идут.
Работаем с меню 16х9! Используемый инструментарий: DVD Remake Pro, SubRip, MuxMan, Photoshop Нашли менюшку, делаем для нее новый проект Копируем в старом Добавляем в новый Экспортируем Берем на заметку потоки с подсветкой Меню - на экспорт Кнопки - на экспорт Color Scheme - на экспорт CLUT - на экспорт Открываем в SubRip Открываем... Открываем... Выбираем поток с нужной подсветкой, Wide Сохраняем Нужно имя Установки - цвет Установки - обрезки нет Вот она она! Сохранили - приросла цифирька Повторяем для Pan & Scan Фотошоп - Color Table Сохраняем Color Table В RGB Собираем слои, Ага, WS highlight слой - в проект с меню Задний план - тоже в слой Прозрачность - вот оно каково! Анаморф: растягиваем (720x480 -> 854x480 NTSC), (720x576 -> 1024x576 PAL) 4:3 - растягиваем (720x480 -> 720x540 NTSC), (720x576 -> 768x576 PAL) До и после удаления текста Меню до и после Новое меню Новое меню с подсветкой Новое меню с подсветкой - крупно Сжимаем меню обратно до (720x480 NTSC), (720x576 PAL) WS highlight - одну копию сжимаем как меню, из другой (других) делаем PS (Pan & Scan): 1. Меняем размер картинки на (960x480 NTSC), (960x576 PAL) 2. Меняем размер канваса на (720x576 PAL) (720x480 NTSC). Не трогаем контроли расположения картинки - она должна оставаться в центре. Картинка обрежется по бокам. LB (Letterbox): 1. Меняем размер картинки на (720x432 PAL) (720x360 NTSC) 2. Меняем размер канваса на (720x576 PAL) (720x480 NTSC). Не трогаем контроли расположения картинки - она должна оставаться в центре. 3. Заполняем пустой канвас сверху и снизу красным цветом. Меняем на индекс - палитра, загружаем сохраненную Color Table Не размазывать! Сохраняем подсветку для моды Wide, как 4-бит OS/2 bmp - WS_ED.bmp То же делаем для остальных необходимых мод. Сохраняем следующий текст как WS.sst: CODE st_format 2 Display_Start forced TV_Type NTSC Tape_Type NON_DROP # 2 pixels out of 480 are unavailable for subtitles Pixel_Area (2 479) Display_Area (0 2 719 479) # Draw your highlight with red (background, BG), # black (pattern, PT), # blue (emphasis 1, E1), # and white (emphasis 2, E2) E2 (255 255 255 = = =) E1 (0 0 255 = = =) PA (0 0 0 = = =) BG (255 0 0 = = =) # Mapping to CLUT # (E2 E1 PA BG) Color (1 1 1 1) # Transparency (0-15): 0 - fully transparent, 15 - fully opaque # (E2 E1 PA BG) Contrast (0 0 0 0) # Next line means the highlight bmp is in same directory as this sst file Directory . # Zero start and finish mean default time for muxing app # PS.bmp - name of highlight file 1 00:00:00:00 00:00:00:00 PS.bmp # Comment added to ensure carriage return in the previous line - # when copied from a web page SST (формат Сценариста) указывает на созданный ранее bmp. Файл с подсветкой, WS_ED.bmp, должен быть в той же папке, что и WS.sst Делаем такой же файл PS.sst - для подсветки PS (только меняем имя bmp, на который он указывает). SST файл для PAL CODE st_format 2 Display_Start forced TV_Type PAL Tape_Type NON_DROP # 3 pixels out of 576 are unavailable for subtitles Pixel_Area (2 574) Display_Area (0 2 719 574) # Draw your highlight with red (background, BG), # black (pattern, PT), # blue (emphasis 1, E1), # and white (emphasis 2, E2) E2 (255 255 255 = = =) E1 (0 0 255 = = =) PA (0 0 0 = = =) BG (255 0 0 = = =) # Mapping to CLUT # (E2 E1 PA BG) Color (1 1 1 1) # Transparency (0-15): 0 - fully transparent, 15 - fully opaque # (E2 E1 PA BG) Contrast (0 0 0 0) # Next line means the highlight bmp is in same directory as this sst file Directory . # Zero start and finish mean default time for muxing app # PS.bmp - name of highlight file 1 00:00:00:00 00:00:00:00 PS.bmp # Comment added to ensure carriage return in the previous line - # when copied from a web page MuxMan - выбираем видео (меню) Аттрибуты меню Подсветка для моды Wide. Добавляем файл WS.sst (не bmp!!!), как первый поток субтитров. Открывается окно менеджера PS.sst добавляется как второй поток первого трека субтитров Муксим! Добавляем CLUT, Color Scheme, старые кнопки. Добавляем новые кнопки Кнопки добавлены Чиним навигацию Навигация починена Скопировали Приклеили поверх старого Крупный план до Крупный план после Изменение команд - в каждом конкретном случае разное. Просто как пример изменения довольно продвинутой навигации: Команды на кнопках до Сразу видно, что при выборе аудио мы уходим в PGC 8, а субтитров - PGC 9; R[2] служит для передачи номера нажатой кнопки. Делаем по тому же образцу: Команды на кнопках после Проходим в дебаггере, обнаруживаем в "Root" и "Angle" меню в VTS с фильмом схожие команды, задающие аудио и субтитры: CODE audio = R[12]; sub-picture = R[13] Видно, что R[12] служит для хранения номера аудио трека, R[13] - субтитров Если мы в меню с установками (то, над которым мы так потрудились) не заглянем, то R[12] и R[13] присваиваются нулевые значения в PGC 4 Видео Менеджера: CODE 1 R[15] = 99 2 R[12] = 0 3 R[13] = 0 4 R[1] = preferred_sub-picture_language 5 R[0] = preferred_audio_language 6 NOP 7 NOP 8 Jump VTS 2 "angle" menu (title 1) Нули означают 1-й трек аудио и 1-й (в оригинале - единственный) трек субтитров, причем отключенный (объяснить здесь). Что характерно, предпочтительные языки аудио и субтитров (то, что Вы можете установить в хорошем плеере) присваиваются в регистры R[0] и R[1], но потом нигде не используются. При авторинге используются программы "высокого уровня", типа Сценариста, которые используют шаблоны и abstraction layer. Никто настоящие команды не видит (отсюда и огромное число совершенно ненужных, бессмысленных команд). При авторинге явно использовался шаблон, рассчитанный на разные языки. Тем лучше для нас! Меняем на CODE 1 R[15] = 99 2 R[12] = 0 3 R[13]=0 4 R[1] = preferred_sub-picture_language 5 R[0] = preferred_audio_language 6 if (R[0] == 29301 ("ru")) R[12] = 2 7 if (R[1] == 29301 ("ru")) R[13] = 1 8 Jump VTS 2 "angle" menu (title 1) Если предпочтительный язык - русский, будет выбран русский аудио трек и русские субтитры (как будет ясно позже - в отключенном состоянии). При любом другом языке предпочтения - будут выбраны английские треки. Далее изучаем работу меню с установками. Перед тем, как мы в него попадаем, исполнялись команды (pre commands): CODE 1 R[0] = 99 2 if (R[0]==R[5]) goto line 12 3 R[0] = 100 4 if(R[0]==R[5]) goto line 23 5 R[0] = 0 6 if (R[0] == audio) highlighted_button = 1024 (button 1) 7 R[0] = 1 8 if (R[0] == audio) highlighted_button = 2048 (button 2) 9 NOP 10 NOP 11 goto line 24 12 R[0] = sub-picture 13 R[0] &= 63 14 R[1] = 0 15 if (R[1] == R[0]) highlighted_button = 3072 (button 3) 16 R[1] = 1 17 if (R[1] == R[0]) highlighted_button = 5120 (button 5) 18 R[0] = sub-picture 19 R[0] &= 64 20 R[1] = 0 21 if (R[1] == R[0]) highlighted_button = 4096 (button 4) 22 goto line 24 23 highlighted_button = 5120 (button 5) 24 NOP Меняем на CODE 1 R[0] = 99 2 if (R[0] == R[5]) goto line 14 3 R[0] = 100 4 if (R[0] == R[5]) goto line 27 5 R[0] = 0 6 if (R[0] == audio) highlighted_button = 1024 (button 1) 7 R[0] = 1 8 if (R[0] == audio) highlighted_button = 2048 (button 2) 9 R[0] = 2 10 if (R[0] == audio) highlighted_button = 3072 (button 3) 11 NOP 12 NOP 13 goto line 28 14 R[0] = sub-picture 15 R[0] &=64 16 R[1] = 0 17 if (R[1] != R[0]) goto line 20 18 highlighted_button = 6144 (button 6) 19 goto line 28 20 R[0] = sub-picture 21 R[0] &= 63 22 R[1] = 0 23 if (R[1] == R[0]) highlighted_button = 4096 (button 4) 24 R[1] = 1 25 if (R[1] == R[0]) highlighted_button = 5120 (button 5) 26 goto line 28 27 highlighted_button = 7168 (button 7) 28 NOP (как сделать жирный шрифт внутри CODE?) Объяснить про 63, 64 и логику При выборе аудио, нас выбрасывало в PGC 8: CODE 1 R[5] = 99 2 R[1] = sub-picture 3 R[1] &= 63 4 R[0] = 1 5 if (R[1] == R[0]) sub-picture = 0 (track 0:OFF) 6 NOP 7 NOP 8 R[0] = 1 9 if (R[2] == R[0]) audio = 0 (track 0) 10 R[0] = 2 11 if (R[2] == R[0]) audio = 1 (track 1) 12 NOP 13 NOP 14 R[2] = 0 15 R[12] = audio 16 R[13] = sub-picture 17 Link PGC 7 после чего мы возвращались в меню установок, с одной из кнопок субтитров, услужливо выбранных для нас (в зависмости от текущего выбора). Меняем на CODE 1 R[5] = 99 2 NOP 3 NOP 4 NOP 5 NOP 6 NOP 7 NOP 8 R[0] = 1 9 if (R[2] == R[0]) audio = 0 (track 0) 10 R[0] = 2 11 if (R[2] == R[0]) audio = 1 (track 1) 12 R[0] = 3 13 if (R[2] == R[0]) audio = 2 (track 2) 14 NOP 15 NOP 16 R[2] = 0 17 R[12] = audio 18 R[13] = sub-picture 19 Link PGC 7 При выборе субтитров, нас выбрасывало в PGC 9: CODE 1 R[5] = 100 2 R[0] = 5 3 if (R[2] != R[0]) goto line 13 4 goto line 9 5 NOP 6 NOP 7 NOP 8 NOP 9 R[0] = sub-picture 10 R[0] &= 63 11 if (R[0] == 1) R[0] = 0 12 sub-picture = R[0] 13 R[0] = 1 14 if (R[2] == R[0]) sub-picture = 64 (track 0:ON) 15 R[2] = 0 16 R[12] = audio 17 R[13] = sub-picture 18 R[11] = 0 19 Link PGC 1 Меняем на CODE 1 R[5] = 100 2 R[0] = 5 3 if (R[2] != R[0]) goto line 13 4 goto line 9 5 NOP 6 NOP 7 NOP 8 NOP 9 R[0] = sub-picture 10 R[0] &= 63 11 if (R[0] == 1) R[0] = 0 12 sub-picture = R[0] 13 R[0] = 1 14 if (R[2] == R[0]) sub-picture = 64 (track 0:ON) 15 R[0] = 2 16 if (R[2] == R[0]) sub-picture = 65 (track 1:ON) 17 R[2] = 0 18 R[12]= audio 19 R[13]= sub-picture 20 R[11] = 0 21 Link PGC 1 Отредактировано: altar в Понедельник, 22 Октября 2007, 23:11 -------------------- Бог создал дураков и гусей, чтобы было кого дразнить (Л.Д. Ландау)
|
Lo-Fi Версия | CMSBlog | Сейчас: Четверг, 26 Сентября 2024, 16:34 |