Может ли Adobe Media Encoder создавать сценарии с помощью ExtendScript?

Является ли Adobe Media Encoder (AME) сценарием? Я слышал, что люди упоминают, что он был "официально написан для сценариев", но я не могу найти никаких ссылок на его набор сценариев.

У кого-нибудь был опыт написания скриптов AME?

6 ответов

Медиа-кодировщик Adobe "официально" не поддерживает сценарии, но мы можем использовать API расширенных сценариев для сценариев AME. Ниже функции доступны через расширенный скрипт

1. Добавление файла в пакет

Кодировать прогресс

host = App.GetEncoderHost (); 

enc = EHost.CreateEncoderForFormat ( "QuickTime");

flag = Enc.LoadPreset ( "HD 1080i 29.97, H.264, AAC 48 kHz"); 
an if (flag) { 
f = enc.encodeEncodeProgress 
= function (progress) { 
$ .writeln (progress); 
} 
eHost. enc.encode ("/ Users / test / Desktop / 00000.MTS", "/Users/test/Desktop/0.mov"); 
} else { 
alert ("The preset could not be loaded "); 
} 

закодировать конец

ehost = App.GetEncoderHost (); 
enc = EHost.CreateEncoderForFormat ( "QuickTime"); 
flag = Enc.LoadPreset ( "HD 1080i 29.97, H.264, AAC 48 kHz"); 
an if (flag) { 
f = enc.onEncodeFinished 
= function (success) { 
if (success) { 
alert ("Successfully encoding has ended "); 
} Else { 
Alert (" failed to encode "); 
} 
} 
EHost.RunBatch (); 
} Else { 
Alert (" preset could not be read "); 
} 

2. Начать партию

eHost = app.getEncoderHost (); 

eHost.runBatch (); 

3. Стоп партия

eHost = app.getEncoderHost ();

eHost.stopBatch (); 

4. Пауза партия

eHost = app.getEncoderHost (); 

eHost.pauseBatch ();

5. Получение заданных форматов

EHost = App.GetEncoderHost (); 

List = EHost.GetFormatList (); 

6. получение пресетов

eHost = app.getEncoderHost (); 

enc = eHost.createEncoderForFormat ("QuickTime"); 

list = enc.getPresetList (); 

и многое другое...

Ближайшие фрагменты информации, которые я нашел: http://www.openspc2.org/book/MediaEncoderCC/

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

http://www.openspc2.org/book/MediaEncoderCC/easy/encodeHost/009/index.html

Мы можем выполнить почти все основные функции через скрипт.

У меня был похожий вопрос о Soundbooth., Однако я не пробовал создавать сценарии Adobe Media Encoder, он не отображается в списке приложений, к которым я мог бы потенциально подключиться и создавать сценарии с помощью ExtendScript Toolkit.

Я нашел эту статью, которая может пригодиться, если вы используете Windows. Я предполагаю, что использование чего-то подобного, написанного в AppleScript, может сделать работу на OSX. Я не пробовал это, но эта штука в Sikuli выглядит хорошо, может быть, это может помочь с работой.

Adobe Media Encoder не поддерживает скрипты. Мне было интересно, для пакетного конвертирования, вы могли бы использовать ffmpeg? Кажется, есть несколько сценариев для этого, если вы ищете Google для ffmpeg Batch FLV.

HTH, Джордж

2021 год

Да, AME поддерживает скрипты в ExtendScript. Документ AME API можно найти по адресу https://ame-scripting.docsforadobe.dev/index.html . Методы API можно вызывать локально внутри AME или удаленно через BridgeTalk.

  1. addCompToBatch и другие альтернативы в документации API кажутся безопасными в использовании. Это работает:
          app.getFrontend().addCompToBatch(project, preset, destination);

Этот метод требует, чтобы проект был структурирован так, чтобы одна и только одна композиция находилась в корне проекта.

  1. encoder.encode - ссылки на который можно найти в Интернете, предполагается, что он поддерживает обратные вызовы выполнения кодирования - недоступен в AME 2020 и 2021. В результате это не работает:
          var encoder = app.getEncoderHost().createEncoderForFormat(encoderFormat);
    var res = encoder.loadPreset(encoderPreset);
    if(res){
        encoder.encode(project, destination);  //  error: encode is not a function
    }

Похоже, что этот метод был удален в AME 2017.1, согласно сообщению о проблеме https://community.adobe.com/t5/adobe-media-encoder-discussions/media-encoder-automation-system-with-using-extendscript / td-p / 9344018

Официальная позиция на данный момент - "нет", но если вы откроете Adobe Extend Script Toolkit и установите целевое приложение на Media Encoder, вы увидите в Обозревателе данных, что несколько объектов и методов уже представлены в объекте приложения. как app.getFrontend(), app.getEncoderHost() и т. д. Официальной документации и поддержки нет, поэтому вы можете экспериментировать с ними на свой страх и риск.

Вы можете использовать интерфейс отражения ExtendScript следующим образом:

a = app.getFrontend()
a.reflect.properties
a.reflect.methods
a.reflect.find("addItemToBatch").description

Но, насколько я вижу, никакой значимой информации не может быть найдено таким образом, кроме списка методов и свойств.

Подробнее об интерфейсе отражений ExtendScript можно найти в документе CC Tools Tools Guide CC.

Кажется, нет. Есть некоторые упоминания о том, что он несколько скриптованный с помощью FCP XML, но в принятой форме он не "скриптовый".

Я попал сюда после того, как он занял второе место в результатах duckduckgo для " extendscript Adobe Enco Media Encoder". Сначала была публикация на форумах Adobe, где сотрудник Adobe написал:

Сценарии в Adobe Media Encoder не поддерживаются.

и просто, чтобы показать кому-либо, кто хочет разрабатывать решения для пользователей Adobe, используя платформу Adobe:

Кроме того, это форум пользователей, а не официальный канал поддержки персонала Adobe.

Я думаю, что ответ "Adobe говорит нет"

Другие вопросы по тегам