Показать сообщение отдельно
Старый 19.07.2019, 02:26   #2339
PSX Planet Elite Supporter
 
Аватар для Bambuch0
 
Регистрация: 27.07.2018
Пол: Мужской Мужской
Сообщений: 2,238
Bambuch0 репутация неоспоримаBambuch0 репутация неоспоримаBambuch0 репутация неоспоримаBambuch0 репутация неоспоримаBambuch0 репутация неоспоримаBambuch0 репутация неоспоримаBambuch0 репутация неоспоримаBambuch0 репутация неоспоримаBambuch0 репутация неоспоримаBambuch0 репутация неоспоримаBambuch0 репутация неоспорима
По умолчанию Скрипт для сборки PSS             

В очередной раз столкнувшись с необходимостью свести в контейнер PSS большого количества файлов, решил что надо это дело как-то себе облегчить и написать для автоматизации скрипт. Под BIK и SFD скрипты уже давно сделал, а с PSS была маленькая проблема, суть которой опишу ниже:

Для сведения будет использоваться ps2str и несмотря на то, что у этой программы есть консольный режим, использовать ее в нем не получалось, т.к. в качестве одного из аргументов программе нужен mux-файл с описанием дорожек для сведения. И этот mux-файл для каждого PSS должен быть свой.

Потратив сегодня некоторое количество времени, скрипт для автоматизации был написан.

При запуске скрипта нужно будет ответить всего на 3 вопроса:
1. Указать путь, где лежат m2v и ads (должны лежать в одной папке).
2. Указать путь, куда положить итоговые PSS.
3. Указать, в каком формате сводится звук (adpcm или pcm).

Все, дальше скрипт все сделает сам.

Только одно но, аудиофайлы должны иметь определенный формат имени.
Цитата:
video_0.m2v - пример имени видеофайла
video_0.m2v.ads - так должен называться аудиофайл
Впринципе ничего нового нет, все скрипты для автоматизации требуют такого варианта имен.

Сам скрипт ниже. Вдруг кому пригодится. Да и для сохранности тоже. =)
Скрипт
@echo off

SetLocal DisableDelayedExpansion
echo.
echo.
echo Which PATH to your muxing files?
echo.
set /P mux_path=Input: %=%
if not "%mux_path:~-1%"=="\" set "mux_path=%mux_path%\"
echo.
echo.
echo Where would you like to store your output PSS files?
echo.
set /P pss_path=Input: %=%
if not "%pss_path:~-1%"=="\" set "pss_path=%pss_path%\"
echo.
echo.

:sound_choose
echo What type of sound will be muxing (adpcm/pcm)?
echo.
set /P sound_type=Input: %=%

if %sound_type%==adpcm (
goto start
) else if %sound_type%==pcm (
goto start
) else (
goto sound_choose
)

:start
chcp 1251 >nul
for %%i in ("%mux_path%*.m2v") do (

echo pss>>tmp.txt
echo. >>tmp.txt
echo stream video:0>>tmp.txt
echo input "%%i">>tmp.txt
echo end>>tmp.txt
echo. >>tmp.txt
echo stream %sound_type%:0>>tmp.txt
echo input "%%i.ADS">>tmp.txt
echo end>>tmp.txt
echo end>>tmp.txt
echo.

chcp 866 >nul
move tmp.txt %%~ni.mux && start /wait ps2str m %%~ni.mux -o -v && move %%~ni.pss "%pss_path%"
del %%~ni.mux
)
EndLocal

P.S. Скрипт рассчитан на 1 видеодорожку и 1 аудиодорожку. В случае если аудиодорожек несколько, или дорожка пишется не на нулевую позицию, скрипт легко отредактировать.
__________________
PS2-SCPH50008+2Tb [FHDB], PS2-SCPH90008 [Modbo5], PS2-SCPH70008 [FMCB]

Краткий FAQ по Терабоксу:
1). Кликаете по ссылке и переходите на Терабокс.
2). Логинитесь в нем, если еще не сделали этого ранее.
Залогиниться можно по гугл-аккаунту, ну или отдельно зарегистрироваться.
3). Жмете на кнопку "Сохранить в Мой Терабокс"
4). Переходите в свой Терабокс и скачиваете себе на ПК просто браузером, безо всяких программ и свистоперделок.
P.S. Нет, терабокс мне не платит.

Последний раз редактировалось Bambuch0; 21.08.2019 в 15:18. Причина: Добавил поддержку русского языка в пути до файлов и пути с пробелами
Bambuch0 вне форума  
Ответить с цитированием
Эти 9 пользователи сказали Спасибо Bambuch0 за это сообщение: