Сообщение от [PSP]DrON
Образ готов, приятного просмотра.
|
Стоит добавить, что нужно ещё подправить продолжительность видео. Если в образе UMD-VIDEO изначально лежал фильм более короткий по времени, чем тот, на который подменяем, то новый фильм будет проигрываться не более, чем была продолжительность у исходного.
Продолжительность записывается в файле
PLAYLIST.UMD, который лежит в папке \UMD_VIDEO\.
В файле записаны данные к каждому ролику MPS, их смещение, размер и длительность. Нужно искать секцию с номером заменяемого файла, например 00001, 00002, 00003. В этой секции, как я заметил, у разных видео повторяется хекс-аббревиатура
01 5F 90 и следом за ней, через 2 нулевых байта, записана длительность видео. Только я никак не разобрался, как она вычисляется. Знаю только, что у видео есть такие характеристики:
- Время: например 00:01:30.548 (часы:минуты:секунды:миллисекунды)
- Фреймы: например 2170 frames (всего в видео)
- FPS: например 23,976 (PAL) или 29,970 (NTSC) - это частота смены фреймов(кадров) в секунду.
У меня есть такие данные...
Видео на демо-диске показывало как раз из приведённых выше данных - время 01:30, 2170 frames, 23,976 FPS.
А в хексе этим данным соответствовал код:
00 7E 69 14 (на скриншоте ниже)
Затем я подменил на своё видео и тупо умножил эту продолжительность на 2, получилось
00 FC D2 28
Теперь стало показывать время видео 03:03.
PLAYLIST.UMD.png
У меня видео 3:42, 23.976 fps. Поэтому мне приходится увеличивать этот 16-ричный код наугад.
А вот как он рассчитывается, исходя из каких значений?