[PS CC2022] Пакетная обработка с импортом видео.

Rammaschka

Участник
Топикстартер
Сообщения
16
Реакции
1
Добрый день.
При пакетной обработке мокапа, при экспорте в формате видео MP4 - результат перезаписывается в папке , а не создается новый документ. Если в формате сохранения в png, jpg - все окей настройки работают. Но не с видео.
(все настройки в окне пакетной обработке - ок. С PNG JPG все отлично работает все мои экшены справляются, а вот с видео - беда((
)
 
Это, как я понимаю, заявка на новый конкурс юных Ванг?
Что за мокап, что за экшны и т.д...?
 
Это, как я понимаю, заявка на новый конкурс юных Ванг?
Что за мокап, что за экшны и т.д...?

Вот тут я точно сплоховала(
И так имеем видео Мокап кружки белой. Имеем смарт-объект в который поочереди из папки надо вставлять изображения принтов на кружку. Чтобы для маркетплейсов грузить обложки на товар.
Экшн я записала. При запуске пакетной обработке ставлю галочку , выбираю именовать с порядковым номером. Но при запуске пакетной обработки файл видео сохраняется под названием файла PSD и перезаписывается( т.е. не появляется в папке Видео1.mp4 , Видео2.mp4 и т.д.)
1722937460377.png
1722936132369.png
1722937406176.png
 
При этом все эти параметры работают с png, jpg ( ну я так понимаю потому что там используется команда сохранить как) а вот с видео - тютю т.к. там экспорт...
 
Да, там именно команда экспорта. Т.е. пакетная обработка не меняет имя. Решать либо скриптом, либо заранее переименовывать/копировать файлы которые нужно сохранить.
 
Да, там именно команда экспорта. Т.е. пакетная обработка не меняет имя. Решать либо скриптом, либо заранее переименовывать/копировать файлы которые нужно сохранить.
Подскажите пожалуйста насчет скрипта.
Его писать полностью про всю операцию с 0 ? Или можно часть об экспорте написать и вставить?
И не могли бы вы направить меня в русло по написанию этого скрипта с чего начать, что почитать, посмотреть.
Как с такими скрпитами справляется GPT чат?
И последний вопрос у меня есть ATN файл где работает это работает ( просто мне не подходит вес файла он слишком долго экспорт делает). Можно как-то посмотреть код этого файла ?
 
Видимо, не код, а настройки, применяемые в данном экшене?
Ну видимо да. Хотелось бы посмотреть какая там логика экспорта с разным именем.

Если писать самой, то примерно я понимаю логику, с описанием разрешения экспорта, с новой переменной к имени файла. Но я не знаю можно ли часть написать с скриптом а вот работу с изображением оставить экшеном в операциях. (Ну типо вот вставку изображения, подгон по размеру оставииь операциями а потом обращение к js с параметрами экспорта). Но я не понимаю как это сделать, если можно.


Либо полностью надо писать скрипт?
 
это не скрипт. Это обыкновенный экшн. Смотреть его, соответственно, в окне экшенов. Там всё разворачивается, даблкликается, видится.
Ну, разумеется, этот экшн надо подгрузить предварительно, без этого фокус не получится.
 
Последнее редактирование:
это не скрипт. Это обыкновенный экшн. Смотреть его, соответственно, в окне экшенов. Там всё разворачивается, даблкликается, видится.
Ну, разумеется, этот экшн надо подгрузить предварительно, без этого фокус не получится.
Да я все посмотрела, но мне совсем не понятно как проворачивают штуку с именованием((
Есть вот такой этап . И я незнаю как его сделать, что это такое вообще. И поможет ли с моей проблемой
1723316451939.png
 
Фотошоп позволяет вставлять скрипт как команду экшена, т.е. нет необходимости переписывать весь экшен. Достаточно добавить вызов скрипта в нужное место.

В общих чертах экспорт таймлайна в видеофайл выглядит вот так:
JavaScript:
    var s2t = stringIDToTypeID,
        directory = new Folder("E:/_Output"), // путь к каталогу экспорта
        ameFormatName = "H.264", // возможные значения аналогичны всплывающему списку Format - H.264, DPX, QuickTime
        amePresetName = "1_High Quality.epr", // пресеты в каталоге Adobe Photoshop 2024\Presets\Video\Adobe Media Encoder\H264\
        width = 1920,
        height = 1200,
        frameRate = 30,//  частота кадров
        manage = true, // галочка "color manage"
        allFrames = true; // экспортировать все кадры
    (d = new ActionDescriptor()).putPath(s2t("directory"), directory);
    d.putString(s2t("ameFormatName"), ameFormatName);
    d.putString(s2t("amePresetName"), amePresetName);
    d.putInteger(s2t("width"), width);
    d.putInteger(s2t("height"), height);
    d.putDouble(s2t("frameRate"), frameRate);
    d.putEnumerated(s2t("pixelAspectRatio"), s2t("pixelAspectRatio"), s2t("document"));
    d.putEnumerated(s2t("fieldOrder"), s2t("videoField"), s2t("preset"));
    d.putBoolean(s2t("manage"), manage);
    d.putBoolean(s2t("allFrames"), allFrames);
    d.putEnumerated(s2t("renderAlpha"), s2t("alphaRendering"), s2t("none"));
    (d1 = new ActionDescriptor()).putObject(s2t("using"), s2t("videoExport"), d);
    executeAction(s2t("export"), d1, DialogModes.NO);
Похоже, что тут есть очевидный косяк - нельзя указать конкретное имя файла, только каталог экспорта. При попытке скормить имя файла вместо каталога назначения будет ошибка.

Проще действовать иначе - оставить вашу команду экспорта, но перед ее вызовом создать дубликат файла с новым (уникальным) именем и экспортировать его, например таким кодом*:
JavaScript:
activeDocument.duplicate(activeDocument.name + ' ' + (new Date).getTime())
* тут уже полет фантазии безграничен - использовать различные префиксы, индексы и т.п.

код сохраняете в .jsx, включаете запись экшена, открываете скрипт через фотошоп (файл - скрипты - обзор), записывается команда его вызова которую можно поместить в нужный экшен
 
Последнее редактирование:
Фотошоп позволяет вставлять скрипт как команду экшена, т.е. нет необходимости переписывать весь экшен. Достаточно добавить вызов скрипта в нужное место.

В общих чертах экспорт таймлайна в видеофайл выглядит вот так:
JavaScript:
    var s2t = stringIDToTypeID,
        directory = new Folder("E:/_Output"), // путь к каталогу экспорта
        ameFormatName = "H.264", // возможные значения аналогичны всплывающему списку Format - H.264, DPX, QuickTime
        amePresetName = "1_High Quality.epr", // пресеты в каталоге Adobe Photoshop 2024\Presets\Video\Adobe Media Encoder\H264\
        width = 1920,
        height = 1200,
        frameRate = 30,//  частота кадров
        manage = true, // галочка "color manage"
        allFrames = true; // экспортировать все кадры
    (d = new ActionDescriptor()).putPath(s2t("directory"), directory);
    d.putString(s2t("ameFormatName"), ameFormatName);
    d.putString(s2t("amePresetName"), amePresetName);
    d.putInteger(s2t("width"), width);
    d.putInteger(s2t("height"), height);
    d.putDouble(s2t("frameRate"), frameRate);
    d.putEnumerated(s2t("pixelAspectRatio"), s2t("pixelAspectRatio"), s2t("document"));
    d.putEnumerated(s2t("fieldOrder"), s2t("videoField"), s2t("preset"));
    d.putBoolean(s2t("manage"), manage);
    d.putBoolean(s2t("allFrames"), allFrames);
    d.putEnumerated(s2t("renderAlpha"), s2t("alphaRendering"), s2t("none"));
    (d1 = new ActionDescriptor()).putObject(s2t("using"), s2t("videoExport"), d);
    executeAction(s2t("export"), d1, DialogModes.NO);
Похоже, что тут есть очевидный косяк - нельзя указать конкретное имя файла, только каталог экспорта. При попытке скормить имя файла вместо каталога назначения будет ошибка.

Проще действовать иначе - оставить вашу команду экспорта, но перед ее вызовом создать дубликат файла с новым (уникальным) именем и экспортировать его, например таким кодом*:
JavaScript:
activeDocument.duplicate(activeDocument.name + ' ' + (new Date).getTime())
* тут уже полет фантазии безграничен - использовать различные префиксы, индексы и т.п.

код сохраняете в .jsx, включаете запись экшена, открываете скрипт через фотошоп (файл - скрипты - обзор), записывается команда его вызова которую можно поместить в нужный экшен
Дорогой ты наш человек. Я два месяца хожу по формум/ютубам и прочим . И только ты толково ответил на мой запрос. Последний пункт работает
Фотошоп позволяет вставлять скрипт как команду экшена, т.е. нет необходимости переписывать весь экшен. Достаточно добавить вызов скрипта в нужное место.

В общих чертах экспорт таймлайна в видеофайл выглядит вот так:
JavaScript:
    var s2t = stringIDToTypeID,
        directory = new Folder("E:/_Output"), // путь к каталогу экспорта
        ameFormatName = "H.264", // возможные значения аналогичны всплывающему списку Format - H.264, DPX, QuickTime
        amePresetName = "1_High Quality.epr", // пресеты в каталоге Adobe Photoshop 2024\Presets\Video\Adobe Media Encoder\H264\
        width = 1920,
        height = 1200,
        frameRate = 30,//  частота кадров
        manage = true, // галочка "color manage"
        allFrames = true; // экспортировать все кадры
    (d = new ActionDescriptor()).putPath(s2t("directory"), directory);
    d.putString(s2t("ameFormatName"), ameFormatName);
    d.putString(s2t("amePresetName"), amePresetName);
    d.putInteger(s2t("width"), width);
    d.putInteger(s2t("height"), height);
    d.putDouble(s2t("frameRate"), frameRate);
    d.putEnumerated(s2t("pixelAspectRatio"), s2t("pixelAspectRatio"), s2t("document"));
    d.putEnumerated(s2t("fieldOrder"), s2t("videoField"), s2t("preset"));
    d.putBoolean(s2t("manage"), manage);
    d.putBoolean(s2t("allFrames"), allFrames);
    d.putEnumerated(s2t("renderAlpha"), s2t("alphaRendering"), s2t("none"));
    (d1 = new ActionDescriptor()).putObject(s2t("using"), s2t("videoExport"), d);
    executeAction(s2t("export"), d1, DialogModes.NO);
Похоже, что тут есть очевидный косяк - нельзя указать конкретное имя файла, только каталог экспорта. При попытке скормить имя файла вместо каталога назначения будет ошибка.

Проще действовать иначе - оставить вашу команду экспорта, но перед ее вызовом создать дубликат файла с новым (уникальным) именем и экспортировать его, например таким кодом*:
JavaScript:
activeDocument.duplicate(activeDocument.name + ' ' + (new Date).getTime())
* тут уже полет фантазии безграничен - использовать различные префиксы, индексы и т.п.

код сохраняете в .jsx, включаете запись экшена, открываете скрипт через фотошоп (файл - скрипты - обзор), записывается команда его вызова которую можно поместить в нужный экшен
1723428147571.png
1723428162917.png

Спасибо вам, что откликнулись. Мне хотя бы ясность внесли в правила работы ФШ и скриптов. Это хоть как то работает сейчас , но он теперь брыкается. При записи экшена все ок, он создает копию, сохраняет все ок. А когда берет второй файл , то он создает копию с новым именем, а экспорт делает всеровно с именем первой копии с которой я записывала экшен.
Как думаете можно это побороть?

Он создает копию документа с рандомным набором символов
 
Фотошоп позволяет вставлять скрипт как команду экшена, т.е. нет необходимости переписывать весь экшен. Достаточно добавить вызов скрипта в нужное место.

В общих чертах экспорт таймлайна в видеофайл выглядит вот так:
JavaScript:
    var s2t = stringIDToTypeID,
        directory = new Folder("E:/_Output"), // путь к каталогу экспорта
        ameFormatName = "H.264", // возможные значения аналогичны всплывающему списку Format - H.264, DPX, QuickTime
        amePresetName = "1_High Quality.epr", // пресеты в каталоге Adobe Photoshop 2024\Presets\Video\Adobe Media Encoder\H264\
        width = 1920,
        height = 1200,
        frameRate = 30,//  частота кадров
        manage = true, // галочка "color manage"
        allFrames = true; // экспортировать все кадры
    (d = new ActionDescriptor()).putPath(s2t("directory"), directory);
    d.putString(s2t("ameFormatName"), ameFormatName);
    d.putString(s2t("amePresetName"), amePresetName);
    d.putInteger(s2t("width"), width);
    d.putInteger(s2t("height"), height);
    d.putDouble(s2t("frameRate"), frameRate);
    d.putEnumerated(s2t("pixelAspectRatio"), s2t("pixelAspectRatio"), s2t("document"));
    d.putEnumerated(s2t("fieldOrder"), s2t("videoField"), s2t("preset"));
    d.putBoolean(s2t("manage"), manage);
    d.putBoolean(s2t("allFrames"), allFrames);
    d.putEnumerated(s2t("renderAlpha"), s2t("alphaRendering"), s2t("none"));
    (d1 = new ActionDescriptor()).putObject(s2t("using"), s2t("videoExport"), d);
    executeAction(s2t("export"), d1, DialogModes.NO);
Похоже, что тут есть очевидный косяк - нельзя указать конкретное имя файла, только каталог экспорта. При попытке скормить имя файла вместо каталога назначения будет ошибка.

Проще действовать иначе - оставить вашу команду экспорта, но перед ее вызовом создать дубликат файла с новым (уникальным) именем и экспортировать его, например таким кодом*:
JavaScript:
activeDocument.duplicate(activeDocument.name + ' ' + (new Date).getTime())
* тут уже полет фантазии безграничен - использовать различные префиксы, индексы и т.п.

код сохраняете в .jsx, включаете запись экшена, открываете скрипт через фотошоп (файл - скрипты - обзор), записывается команда его вызова которую можно поместить в нужный экшен
Дорогой ты наш человек. Я два месяца хожу по формум/ютубам и прочим . И только ты толково ответил на мой запрос. Последний пункт работает
 
Как будто их несколько.
Не. Я спрашивала у людей, которые делают продукты пакетной обработки для фотостудий . На англоязычном форуме. И лично у владельцев каналов по фотошопу.

Но все же ваша подсказка была близка к истене, хоть и не помогла)) хз что дальше делать 🤣🥲🥲
 
Дорогой ты наш человек. Я два месяца хожу по формум/ютубам и прочим . И только ты толково ответил на мой запрос. Последний пункт работает

Посмотреть вложение 167490Посмотреть вложение 167491
Спасибо вам, что откликнулись. Мне хотя бы ясность внесли в правила работы ФШ и скриптов. Это хоть как то работает сейчас , но он теперь брыкается. При записи экшена все ок, он создает копию, сохраняет все ок. А когда берет второй файл , то он создает копию с новым именем, а экспорт делает всеровно с именем первой копии с которой я записывала экшен.
Как думаете можно это побороть?

Он создает копию документа с рандомным набором символов
Так как создается дубликат документа, то исходный документ остаётся открытым. Т.е. в экшен после операции экспорта добавьте команду закрытия активного документа.

Случайный набор цифр - это текущее время в миллисекундах. Я для простоты добавил, чтобы при каждом экспорте имя было уникальным (так как имя активного файла нельзя просто взять и поменять). Можно что-то другое приписывать.
 
Последнее редактирование:

Не по теме:

нельзя указать конкретное имя файла, только каталог экспорта
Нет желания вникать в тему, просто хочу напомнить, что в Win есть возможность переименовать/перенести файл после сохранения :)