Здесь я опишу весь процесс производства видео от обычного *.avi в формат, понятный приставке 3DO. Поехали!
- Находим видео
- В QuickTime pro сохраняем видеоклип в несжатом формате (320х240p,15fps,.avi), без звуковой дорожки. Сразу оговорюсь, файлы получаются большими. У меня не заработал дальнейший конверт этих файлов, если они более 2Gb. Кто найдет способ использовать большие файлы, пожалуйста, поделитесь. Последовательность действий: Открываем файл в Quicktime pro (у меня была версия 7.7.3). Файл->Экспорт->тип - Видеофильм QuickTime->Параметры-> Результат:
- В QuickTime pro сохраняем звуковую дорожку в AIFF(22050Гц,16бит,стерео). Файл->Экспорт->тип - Звук AIFF->Параметры->
Теперь нам понадобится эмулятор Mac-а с установленным SDK и рабочим MPW tool. Можно действовать по инструкции ниже, а можно найти в сети уже готовые сборки с установленным 3DO SDK и MPW Shell. Если у вас уже есть настроенная среда, то спойлер пропускаем.
4) Далее нужно установить SDK на Mac OS. Тут все просто: цепляем один из образов SDK на виртуальный CD в WinXP, запускаем BasiliskII и видим, что у нас есть теперь CD! (Естественно, нужно предварительно включить поддержку CD в BasiliskIIGUI.exe. Он находится в папке с BasiliskII). Все, запускаем с этого диска установку. Лучше для 3DO SDK создать свой винт с помощью HFVExplorer.exe. Далее закрываем BasiliskII, подцепляем следующий образ 3DO SDK и повторяем установку.
5) На новосозданный винт нужно скопировать образ MPW-GM.img.bin. Опять же, с помощью HFVExplorer.exe(!) из под WinXP. Теперь из под Mac OS этот образ виден как MPW-GM.img, то есть, без расширения .bin. Так и должно быть! Двойным кликом (находясь в Mac os) монтируем этот образ и копируем с него папку, скажем, на рабочий стол.
6) Из папки 3DOToolkit1.5\Tools с установленным SDK перетаскиваем 2 файла:
в папку MPW-GM\MPW. 7) Все файлы из папки 3dotoolkit1.5\Tools\ArmTools копируем в папку MPW-GM\MPW\Tools 8) Все файлы из папки 3dotoolkit1.5\Tools копируем в папку MPW-GM\MPW\Tools. Заходим в папку MPW-GM\MPW и видим цветной файл MPW Shell. Он-то нам и нужен. Это и есть компилятор.
Запускаем Basilisk II. Важное примечание! Для того, чтобы было удобно перетаскивать свои файлы в Basilisk, делаем расшаренным один из разделов Windows. В моем случае это C:\ - Сжимаем *.mov видео в MovieCompress (SDK, Cinepak, Millions of Colors,15fps,key 24, 170-180 kbps). Общий поток у нас 300 kbps. На видео оставляем 170-180. Программа находится 3dotoolkit1.5\Video Tools\
- Сжимаем *.aif звук с помощью MPW tool SquashSnd. Во избежание глюков с кирилицей в путях к файлам, лучше все файлы, которые здесь и дальше будем конвертировать с помощью MPW Shell, скопировать из Windows на отдельный диск Mac-a. Делается это простым перетаскиванием в Mac-e. 1) Запускаем MPW Shell. 2) Делаем каталог с игрой активным/рабочим.
3) Пишем в окне компилятора: Здесь output1.aif - исходный несжатый файл, полученный нами из Quicktime. Mystsnd.aifc - результирующий файл.
- Сжатое видео в переводим в поток с помощью MPW tool MovieToStream. 1) Запускаем MPW Shell. 2) Делаем каталог с игрой активным/рабочим как мы уже умеем.
3) Пишем в окне компилятора: Здесь: Myst - наш сжатый файл с помощью MovieCompress. Myst.FILM - результирующий файл потокового видео.
- Сжатый звук переводим в поток с помощью MPW tool SFtoStream; 1) Запускаем MPW Shell. 2) Делаем каталог с игрой активным/рабочим как мы уже умеем.
3) Пишем в окне компилятора: Здесь: Mystsnd.aifc - полученный нами файл от SquashSnd. Получаем на выходе файл Mystsnd.saudio.
- С помощью скрипта для Weaver (в MPW tool) компонуем звук и видео в *.stream file. 1) Делаем сам файл скрипта. В Windows запускаем Wordpad и делаем пустой файл с такими параметрами: 2) Редактируем имя сохраненного файла, стирая ему расширение: 3) Открываем его же в WordPad-е и вписываем следующие строки:
Здесь последние две строчки - наши полученные потоки видео и звука в предыдущих программах. Они будут совмещены в один *.stream файл. 4) Запускаем MPW Shell. 5) Делаем каталог с игрой активным/рабочим как мы уже умеем.
6) Пишем в окне компилятора: Здесь файл Myst.stream - наш результирующий потоковый файл видео+звук. Weaverscript - обращение к созданному в Wordpad-е файлу скрипта.
Вот что у нас получилось в рабочей папке: Тут не хватает только исходного несжатого видео. Его я открывал в Moviecompress из раздела Windows, не копируя в Mac.
Вот теперь у нас есть видеоролик, который "понимается" 3DO-шкой. Теперь нам нужно написать небольшую программку, собрать образ и подписать его. Чисто теоретически в некоторых играх можно "подсовывать" свое видео, собирать образ и наслаждаться результатом. Но тут есть подводные камни. Помимо аудио и видео данных в потоке могут содержаться и другие данные для игры.
nikk писал(а):
В потоке с видео могут размещаться различные сервисные фреймы, или даже фреймы с данными для соответствующего обработчика. Вообще поток это набор кусков данных с ID обработчика. Обработчики различные: видео плеер, звуковой плеер, плеер анимации, плеер субтитров и т.д.
То есть, если мы собираем свой поток без этого, а оно там должно быть, то игра будет работать некорректно.
Итак. Мы имеем видео, но что нам с ним делать? Можно для проверки работоспособности сделать небольшую программу, которая бы запускала наше видео при вставке диска. Мы так и поступим в следующем мануале. Спасибо за внимание.
Если ваша цель - русификация роликов игр, то пробуйте, и да прибудет с вами Сила.
Последний раз редактировалось Versus 07 апр 2013, 00:39, всего редактировалось 16 раз(а).
01 апр 2013, 23:08
ПАУК
Ужас, летящий на крыльях ночи!
Группа: Разработчики Сообщения: 9071 Регистрация: 17 май 2010, 01:04
Модель 3DO:Panasonic FZ-10 NTSC-U
Сжимаем *.mov видео в MovieCompress (SDK, Cinepak, Millions of Colors,15fps,key 24, 170-180 kbps). Общий поток у нас 300 kbps. На видео оставляем 170-180.
Привет,а если запускать с HDD образ качество выше 180 kbps можно поднять ?
Привет. Не имеет значения, с HDD или откуда-нибудь еще. Привод читает 300kbs в пике при отличном лазере. Наша задача сделать так, чтобы суммарный видео+аудио потоки не превышали цифры 300kbs.
20 апр 2013, 15:01
13chuck13
Лучший техник
Группа: Разработчики Сообщения: 2057 Регистрация: 04 янв 2011, 19:53 Откуда: Украина
Модель 3DO:GoldStar GDO-203P Alive II
Versus писал(а):
Привод читает 300kbs в пике при отличном лазере.
Да. Но пропускная способность шины X-bus по словам MNEMO составляет 1.2Mbps, поэтому чтение с HDD будет происходить в четыре раза быстрее. Как-то так. Так что, ИМХО, идея не лишена здравого смысла.
и что дальше жать? Enter переводит на новую строку и ничего не запускает. Меню Build-Build ругается No makefile exists for 1 Upd: кажется разобрался. Для запуска команды нужно нажать на надпись "MPW Shell вверху окна (на приведенном ниже скрине на кнопке написано "Get filename". Versus писал что можно нажимать Enter на нумпаде, но у меня он работает как обычный Enter, переводит на новую строку, независимо от состояния NumLock. А вот кнопочка работает.
Да, он ещё при запуске MPW просит указать папку 3DO - это что за папка? Какую не укажешь, ругается что это не папка 3DO..
Ни разу такого не видел, но думаю, что просто ты пытаешься скормить этим утилитам то, что они в принципе переварить не могут. Приведи параметры видео и звука, последовательность своих действий "до того, как".
Видео - файл .moov. был сделан с нуля в 3DO-Аниматоре (покадрово) и сжат в мувик: Cinepack / Millions of Colors / 15fps / key 24.
В целом, файл .moov - странный, плеер Apple QuickTime его не жрёт, и вообще - хз, чем его смотреть "в миру", но MovieEdit, сам 3DO Animator и (вроде) 3-2 PullDown его жрут.
MovieCompress не жрёт, она наглухо виснет, если пытаешься ею его пережать во второй раз. Но он, в принципе, изначально сжат с нормальными параметрами, на выходе 3DO Аниматора.
SquashSnd пытаюсь накормить файлом .aiff 22050/16bit/stereo, жал в Винде QuickTime Pro (наврал).
Можно и в Windows, просто у меня видеоредакторов нет, ну и никогда не занимался я этим. А с 3DO Animator я неплохо разобрался, поэтому уже жалко переделывать.
Ок. Завтра ещё поковыряюсь, если не пойдёт - пришлю. Кстати, не знал об этой теме. :)
Audio - SquashSnd и SFtoStream, - переварили. Причина была в исходном файле, всё-таки. Я вспомнил, что его делал прогой Audiosity исходник (.aiff), а не QuickTime PRO (.aif). В чем разница - не знаю. После QuickTime pro - переконвертило сразу без ошибок.
MovieCompress у меня не работает. Хоть об стенку расшибись. Мучился несколько дней. :) Видео моё несжатое (.mov, сделанное в QuickTime Pro) - определяет. Превью справа - показывает. Выбираешь параметры сжатия, имя конечного файла => ОК, и полный зависон. Приходилось делать Ctrl+Alt_Del, чтобы воззвать: "Гейтс, Help, Help", и убить Basilisk с повисшей Mac OS в Диспетчере задач. Чё происходит - не ясно, Basilisk работает, Mac OS работает, даже двигается мышь, но в Mac OS больше ничего нельзя сделать. Пробовал с MovieCompress прыгать по папкам, в надежде, что прога не повиснет - бесполезно. Короче, никак. Почему прога не пашет - ХЗ. Соседняя MovieEdit - пашет.
В конечном итоге, взбесило - попробовал сделать видеофайл с такими же параметрами в Винде, в том же QuickTime:
Последующая MovieToStream его сожрала, и впоследствии для 3DO получился рабочий видеоролик.
Также, ради интереса, попробовал сжимать простой VirtualDub, тем же Cinepack, там, правда, кодек другой версии (Cinepack-Radius), настройки те же: - Частота кадров уменьшается во вкладке: Видео => Частота кадров: - Остальные настройки кодека - такие же:
Последующая обработка MovieToStream = Weaver тоже прошла успешно, и мой ролик тоже отобразился приставкой. Звук тоже цепляется корректно и работает. Однако, Cinepack-Radius немного мажет красный цвет. А так, работает. Но после QuickTime, имхо, получше, чем после Virtual Dub с кодеком из системы (из K-Lite пака).
Короче, кодек унифицирован, везде настраивается одинаково, и думаю, что нет смысла сжимать им именно в SDK.
Конечный файл, в обоих случаях, получается .avi, но проге MovieToStream - плевать на расширение/контейнер. Вписываешь начальный файл имя.avi, и ничего особенного. Принципиально .mov ей не обязателен.
aspyd Ух-ты! Спасибо за тесты! Оказывается, можно обойтись без громоздкого SDK. Кстати, в нем есть ограничение на размер файла. Ведь, когда делаешь несжатый ролик, он получается просто громадный! И переварить его из SDK уже не вариант. А твой метод должен решить эту проблему!
Кажется, из-под Винды не пойдёт сжимать в Cinepack, пока не уверен. Сделанный ролик зависает при воспроизведении, примерно, посередине. :(
Василий, MovieCompress просто из папки работает, ей больше ничего не нужно? Будешь дома, может, поделишься своей? Попробую подбросить. Может, битая она в мой сборке... Два разных компа, одна сборка: Basilisk + MacOS + SDK (TK1.5+PF2.5), и на обоих компах один и тот же симптом... Ты ведь с нуля Toolkit 1.5 ставил, а у меня чужая готовая сборка, может, нерабочая она в ней.
Я делаю через жопу, простите за мой французский... Компиляция, SDK и все прочее на Basilisk. Рабочий MovieCompress - на SheepShaver. Один и тот же виртуальный винт доступен и в Basilisk и в SheepShaver. То есть, Сжал мувик в SheepShaver, закрыл его, открыл Basilisk и продолжаю работать там.
aspyd писал(а):
А у тебя есть готовая сборка овечки, для поделиться?
Да, выложу позже.
Добавлено спустя 1 минуту 3 секунды:
aspyd писал(а):
Тоже всё зависало при попытке сжимать в MovieCompress?
Да, припоминаю такое. Это тот экранчик, где медленно, покадрово показывается процесс сжатия?
Добавлено спустя 6 часов 33 минуты 53 секунды: Вот сборка "овцы".
Скрытый текст. Вы не состоите в группах, которым доступен этот текст.
Да, припоминаю такое. Это тот экранчик, где медленно, покадрово показывается процесс сжатия?
Ну да. Экранчик становится черным, и всё, в Басилиске больше никакое меню не работает, как и кнопки на клаве. Приходится убивать Басилиск как процесс, в диспетчере задач.
Спасибо за овцу.
Добавлено спустя 5 часов 31 минуту 18 секунд: В SheepShaver (MacOS 9) MovieCompress работает. Уря! Пришлось только для запуска овцы, пути к ROM в файле SheepShaver_prefs руками поменять на свои, иначе ROM не находил, и не заводился: