PSPx форум

PSPx форум (https://www.pspx.ru/forum/index.php)
-   Видео для PSP (https://www.pspx.ru/forum/forumdisplay.php?f=102)
-   -   [FAQ] Создание PMF роликов (https://www.pspx.ru/forum/showthread.php?t=105482)

ErikPshat 19.03.2015 13:41

[FAQ] Создание PMF роликов
 
Вложений: 17

[FAQ] Создание PMF роликов
на примере
Prince of Persia: Revelations

Что нам понадобится?
  1. Prince of Persia: Warrior Within ПК версия лицензия (Ubisoft) - это версия с исходным качеством.
  2. Русификатор от официальной локализации фирмы "Акелла" или её ПК версия
  3. Nova Software Extractor - для распаковки файлов *.bik
  4. RAD Video Tools - для проигрывания и установки кодеков для Bink файлов формата *.bik
  5. PSP версия игры на 5-ти языках.
  6. XviD4PSP под Win32 или Win64, либо под Mac32 или Mac64 (не ошибитесь с выбором) - для кодирования *.bik в AVI
  7. Umd Stream Composer - для кодирования AVI в MPS
  8. CTFtool GUI v5 beta2 - для конвертирования MPS в PMF
  9. Hex Workshop v6.8.0.5419 - для редактирования заголовка PMF

Параметры видео и аудио для подготовки ролика для кодирования в Umd Stream Composer:
  • Параметры Видео - AVI (Huf-YUV, YUY2, RGB24), 64x64 min - 480x272 max, 29.97p, Progressive
  • Параметры Аудио - WAV, AVI, 44.1kHz, 16bit, Mono, 2ch (Stereo, Dual mono)

Инструкция по применению
Скачиваем и устанавливаем Prince of Persia: Warrior Within ПК версия лицензия (Ubisoft)
Если нет русской версии от Акелла, то устанавливаем Русификатор от официальной локализации фирмы "Акелла". Во время установки не снимаем галочку "Делать бэкап". После установки русификатора, все локализованные файлы заменятся в игре, а их оригиналы от Ubisoft сохранятся в бэкап, в папку "Prince of Persia Warrior Within\Taverna_Rus\backup". Таким образом мы будем знать, какие файлы подвергались переводу.
На данном этапе нас интересуют видеоролики из папки "Video", но все файлы *.BIK пожаты и не поддаются воспроизведению, кодированию или редактированию. Поэтому, устанавливаем программу Nova Software Extractor и запускаем её.
На первой вкладке "Форматы" устанавливаем флажек на формате BIK (Bink Video), нажимаем кнопку "Выбрать", заходим в папку, например Prince of Persia Warrior Within\Video\Cine, удерживая кнопку SHIFT щёлкаем первый и последний файл в этой папке. Таким образом все файлы выделятся. Нажимаем кнопку "Открыть"
Напротив следующей строки нажимаем 2-ую кнопку "Выбрать" и указываем пустую папку, куда сохранять извлечённые файлы.
Нажимаем кнопку "Начать", все выбранные файлы просканируются в новом окне и отобразятся.
Нужно нажать в левом нижнем углу кнопочку [+], в открывшемся окошке оставить метку *.* - все файлы пометятся галочками.
Теперь нажать кнопку "Извлечь" - файлы извлекутся в указанную папку. Можно закрыть программу.



Устанавливаем RAD Video Tools - для проигрывания и установки кодеков для Bink файлов формата *.bik
После установки, распакованные файлы BIK можно просматривать в программе или конвертировать в другой формат.
Но мы будем конвертировать BIK через XviD4PSP. Конвертер состоит из одного файла и не требует установки, т.е. портабельный.
Запускаем конвертер XviD4PSP и производим последовательно пронумерованные действия, как на картинке ниже:
Вообще, все настройки производятся только в 2-ух окнах: Codecs и Filters, поэтому будем переключаться только между ними и проверять их. Далее, настраиваем параметры видео, для этого нажимаем шестерёнку справа напротив кодека FFVHUFF или сверху в меню иконку Filters, выполняем инструкцию на рисунке ниже:
Если выбирали пакетно сразу группу файлов, то нужно будет, в левом окне задач с видеофайлами, выделять каждый файл в отдельности и производить настройки для каждого файла отдельно. Затем, когда все файлы настроены, нажимаем "Start" кодирования, можно идти спать, а все файлы по очереди скодируются по заданным параметрам без вашего участия. Чтобы скрыть окно задач слева, нужно нажать в меню кнопочку "Tasks".

На последнем рисунке выше, показан простейший и наиболее часто употребляемый способ настроек параметров видео. Всё легко и просто. Вы только указываете конечное разрешение и программа сама автоматически обрежет видео ровно посередине до заданных вами размеров. То есть, программа сначала сделает пропорциональный Resize (масштабирование) из 800х600 до 480х360, а затем сделает Crop (обрезку) лишней высоты 360 до 272.

Но, ситуацию можно разрулить и другим способом, более ручным и тонким. Для этого, как вы заметили, есть дополнительные кнопочки. И многие начинают теряться, как ими пользоваться и для чего. Можно поступить наоборот, сначала сделать Crop "квадратного" видео 800х600 до формата 16:9 = 800х456, а затем просто смасштабировать до 480х274. Но так как пропорции исходника математически не масштабируются в точности до 272, а получается 274, то программа делает ещё раз Crop, чтобы убрать эти 2 пикселя. Инструкция ниже:
Более подробнее об этом моменте...
Первый простейший способ подразумевает обрезку на автомате ровно посередине.
Этот же способ подразумеват обрезку вручную, когда вы хотите, например, сверху обрезать меньше, потому что головы засняты на видео вверху кадров, а снизу желаете срезать больше.
После выбора Pixel format: RGB24, необходимо выбрать, в блоке Resize, необходимое конечное разрешение 480х272, там же, программа покажет нам аспект 1,765. Это соотношение ширины к высоте: 480 : 272 = 1,765. Далее перходим к ручной обрезке, в блоке Crop, вручную подгоняем обрезку сверху и снизу, до тех пор, пока программа не покажет вам максимально приближенный аспект к 1,765. Это видно в конце строки Crop (где стоит галочка). Точно попасть на 1,765 не всегда удаётся, т.к. исходное видео математически может не делиться к этому знаменателю. Можно нажать кнопочку 16:9, чтобы программа подсказала, какие числа нужно обрезать, чтобы было посередине, и опираясь на эти подсказки, вы можете, меньше мучаясь с ручным подбором, уменьшить обрезку сверху, а снизу столько же добавить.

Так же, внизу программы виден лог - это порядок выполнения скрипта конвертации. Там будет видно, что в первой строчке появится Crop 800х456, а затем автоматическая операция Resize и снова Crop. Все подгонки вычислений, при ручном редактировании кропа, программа производит автоматически, к выставленному вами конечному разрешению 480х272.

Когда все настройки закончены, нажимаем в меню кнопку "Start" и наблюдаем кодирование.

Теперь переходим к кодированию звука. Каждый канал извлекается по отдельности. Делаем так, как показано на рисунке ниже:
Далее переходим на вкладку Filters, там всё ещё проще:
Затем жмём Start и кодируем.
То же самое производим с каждой дорожкой: переключаемся на вкладку Codecs, выбираем следующую дорожку, она переместится на первое место, но под своим номером. Не забывайте на каждой дорожке указывать её номер в названии выводимого файла в пути.



Переходим к кодированию в UMD Stream Composer...
Запускаем программу. Нажимаем кнопку "Новый" или "Файл -> Новый". В окошке вписываем "Название клипа" и "Название проекта"и жмём "Далее".
Выставляем количество аудиопотоков и ставим галочку "PSP формат видео (для игр)" и жмём "Готово".
В программе нажимаем кнопку "Источник видео", в открывшемся окошке жмём "Открыть" и указываем на AVI-видео.
Нажимаем на кнопку "Источник аудио", в открывшемся окошке жмём "Открыть" и указываем на первую дорожку WAV-аудио.
Каждую дорожку добавляем отдельно, т.е. каждый раз активируем в программе следующую дорожку и нажимаем на кнопку "Источник аудио" и добавляем дорожку. Нельзя в одном окошке добавлять все аудио, иначе они выстроятся в одну дорожку одна за другой последовательно. На рисунке более понятно:
В результате должно получится вот так:
Нажимаем кнопку "Настройки видео", выставляем "Средний битрейт: 512-608-768" и "Максимальный битрейт: 1200-1300-1500".
Битрейт от ваших предпочтений, я пробовал 512, получилось, как на PSP, рекомендую побольше, 608 или 768.
Нажимаем слева вверху кнопку "Старт...", выбираем "Encode + Multiplex" и стартуем кодирование или выбираем в меню "Выполнить -> Кодирование + Финализация". Смотрим на процесс кодирования:
Результат кодирования 00001.MPS будет лежать в документах в папке под названием проекта по следующему пути:
  • C:\Users\Ваша_Учётная_Запись\Documents\UmdStreamComposer\MuxWork\CINE0100\00001



Забираем этот файл, 00001.MPS, и кидаем в папку CTFtool GUI v5 beta2 для компиляции в PMF.
Выполняем в консоли команду: CTFtool_GUI -convert pmf -input 00001.MPS
Проще, создаём текстовой документ, вставляем туда эти строчки:
Код:

@echo off
CTFtool_GUI -convert pmf -input 00001.MPS
pause

Сохранем с расширением *.bat и запускаем. Забираем полу-готовый 00001.pmf.



Но, то ли разработчики "pmffix" и "CTFtool_GUI" не знали что нужно патчить, то ли у них не получилось реализовать, но этот полу-готовый 00001.pmf нужно ещё доработать и выставить в заголовке необходимую длительность видео.

Запускаем Hex Workshop v6.8.0.5419 или другой хекс-редактор.
Открываем в нём оригинальный файл PMF от PSP и сразу же наш 00001.pmf, видим такую спецификацию:
Из оригинала нам необходимо перенести данные видеопотока в наш кастомный файл. Делаем по инструкции:
Либо, можно копировать нужные нам байты с помощью утилиты Swiss File Knife (sfk) следующей командой:
Код:

@echo off
sfk partcopy ORIGINAL.PMF 0x50 0x60 00001.pmf 0x50 -yes
pause

Пример пакетного конвертирования.
Всё! Переименовываем 00001.pmf под названием исходного видео. Можно видео вставлять в образ.


SILENT-Pavel 20.03.2015 01:10

ErikPshat, благодарю за подробный туториал в картинках!


Текущее время: 09:36. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc. Перевод: zCarot
PSPx Forum - Сообщество фанатов игровых консолей.